Removes websocket-based camera streaming functionality.
Fixes#975. This was caused by destroying the camera streams and recreating them on nickname change. Even when directly using `MJPGFrameConsumer` and the streams were exactly the same, the freeze would occur when creating a new `MjpegServer` and require a refresh. I think this is simply how cscore works?
- Aruco pipeline now infers tag width from tag family like the AprilTag pipeline
- Removes unused Aruco and 200mm AprilTag models
- `VisionEstimation.estimateCamPosePNP()` now requires a target model instead of assuming 16h5
- Multitarget pipeline similarly infers target model of tag family now
- `PhotonPoseEstimator` can have target model set for on-rio multitarget
---------
Co-authored-by: amquake <noleetarrr@gmail.com>
- Fixes ArUco on picam
- Adds `ArucoPoseEstimatorPipe` for single-tag pose estimation
- Previously, `Aruco.estimatePoseSingleMarkers()` was used for tag pose estimation. This uses the default `SOLVEPNP_ITERATIVE` solver and I believe the method is removed in opencv 4.8. The `SOLVEPNP_IPPE_SQUARE` solver implemented is more appropriate for markers.
- Pipeline architecture cleanup
- Re-enables ArUco pipeline in UI
- Multi-tag support
ArUco detector support is still considered experimental at this time. This should enable a baseline of support for initial testing, but expect some quirks to remain across platforms.
This reverts commit 013ff5e, which caused crashes with libcamera cameras.
More testing required to root-cause and fix this PR, but rolling back for testing for now.
Serializes settings using a sqlite database instead of just putting them on the filesystem. Ideally since sqlite deals with filesystem robustness stuff this should work a lot better
Merging this now so we have lots of time to stabilize pre-beta
This adds a regex that ignores cameras if they match it, for if you have another piece of software running that needs a second camera, or if you have a webcam in your laptop that cscore hates.
* Switch network management to networkmanager
* Run style
* Fix command formatting
* Add curst Pi 5 second sleep
* Run formatter
* Also bring up/down on other linux
* Switch to nmcli down/up
* Remove sleep in nmcli down/up
* Address review
* Reordered ov video modes to be lowest-to-highest res
* Save off sensor model on init. Guard against low, crashy exposures.
* Pulled in matt's fixups from https://github.com/PhotonVision/photon-libcamera-gl-driver/suites/10144555465/artifacts/495489276
* Further autoexposure tweaks for picam v1
* Allow undercores in camera rename
* Additional guarding against output images being empty
* lock out auto-exposure on ov9281's
* Guarding stream pipelines against empty frames from cameras. Rearranged driver stream to resize first, then draw crosshairs (matchces with other pipelines now).
* NT Priority fixup - if client is sending commands on NT, its nt value should win over anything done from the UI
* Synchronous pipline adjustmet fix, method cleanup
* lint
* circle pipe and data publish bugfixes
* lint
* Pulled in matt's latest .so and re-enabled auto exposure on 9281's
* clean up front end ui
* address changes
* Further tweaks to camera default gains to help make sure users get a good first impression
* even more saner defaults
* Even even more camera sane defaults
* lint
* lint pt 2
* unit test fixup
Co-authored-by: Chris <chrisgerth010592@gmail.com>