The RubikPi collab notebook included a device for creating a quantized
model that was deprecated by the Qualcomm team. I've included a separate
cell with a command to check available devices and updated the command
to a known working state.
## Description
instead of using camera calibration, the CasADi problem formulation now
expect the caller to provide "normalized pixel coordinates". This
reduces the number of floating point operations we need to perform (and
reduces total LOC by 6%). `casadi_wrapper.cpp` now converts from (u, v)
coordinates to normalized (x'', y'') coordinates with:
x'' = (u - c_x) / f_x
y'' = (u - c_y) / f_y
Which is the inverse of this (from [opencv
docs](https://docs.opencv.org/4.x/d9/d0c/group__calib3d.html), and
assuming no distortion):

In my testing, this is ~16% faster on my x86 laptop. Would love some rio
benchmarks.
## Meta
Merge checklist:
- [x] Pull Request title is [short, imperative
summary](https://cbea.ms/git-commit/) of proposed changes
- [x] The description documents the _what_ and _why_
- [~] If this PR changes behavior or adds a feature, user documentation
is updated
- [~] If this PR touches photon-serde, all messages have been
regenerated and hashes have not changed unexpectedly
- [~] If this PR touches configuration, this is backwards compatible
with settings back to v2024.3.1
- [~] If this PR addresses a bug, a regression test for it is added
We've moved the install script to photon-image-modifier. This updates
the install script in photonvision to just download and run the
install.sh from photon-image-modifier.
This updates the install script to work correctly on Ubuntu 24.04
versions of the Orange Pi 5 images.
Changes include:
- installing libatomic1
- disabling networkd-wait-online if using Network Manager
- using systemctl instead of service to detect if photonvision is
running
- detecting if this is a RK3588 cpu and enabling all cores
Add the following args to the install script:
Syntax: sudo ./install.sh [-h|m|n|q]
options:
-h Display this help message.
-m Install and configure NetworkManager (Ubuntu only).
-n Disable networking. This will also prevent installation of NetworkManager.
-q Silent install, automatically accepts all defaults. For non-interactive use.
Upgrades to Debian 12 as the base for our Pi images and adds an orange pi 5 build.
This uses the latest stable libcamera, which has weird AWB bugs with the OV5647/pi camera v1.
* Add and use a function in install.sh to determine if package is installed.
Move the "is a package installed" code into a function.
* Install libopencv-core4.5 on aarch64, which is likely raspberry pi.
The libphotonvision.so on Raspberry pi depends on libopencv-core4.5.
The code here installs that package on all aarch64 systems, as
there was not an obvious way to install on only Raspberry pi systems.
Fixes#748.
Co-authored-by: Scott Moser <smoser@brickies.net>
* Make install script auto-detect arch #679
Tested on linux x64 and aarch64
* Fix arm32 uname string
Co-authored-by: Chris Gerth <gerth2@users.noreply.github.com>
* change to 64 bit image generation
* Generate LL and Pi images in workflow
* Update main.yml
* Update main.yml
* Update main.yml
* REVERTME yeet publish
* Update main.yml
* Add archive suffix to generator
* Bump base images to beta 3
* Add more error prints to image gen
* Fix image base URL
* Bump pi/LL base images
* Update main.yml
Co-authored-by: Matt <matthew.morley.ca@gmail.com>
Co-authored-by: Chris Gerth <gerth2@users.noreply.github.com>
* Add nice value to service file, and give example CPU selection for those who need it.
* Use cpufrequtils package to set CPUs into performance mode
* Add comment about nice value
* Need to say "yes" to installing cpufrequtils, and safer to do so for all installs.
Co-authored-by: Matt <matthew.morley.ca@gmail.com>