Add LaserDetection message for tracked laser output#267
Conversation
There was a problem hiding this comment.
Pull request overview
This PR extends the public protobuf schema to support Ultra-specific computer-vision laser tracking by adding a laser modulation flag, introducing new 2D/detection message types, and exposing detection results via telemetry.
Changes:
- Added
modulatedtoLaserto indicate 5 Hz modulation for CV tracking (Ultra-only). - Introduced
Point2DandLaserDetectionmessages to represent detected dot centroids and related metadata. - Extended
LaserTeltelemetry to includelaser_detection.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| protobuf_definitions/message_formats.proto | Adds Laser.modulated plus new Point2D/LaserDetection message definitions for CV laser tracking. |
| protobuf_definitions/telemetry.proto | Adds LaserDetection to LaserTel telemetry to report CV laser detection results. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
follesoe
left a comment
There was a problem hiding this comment.
One thing to consider (not sure if we need it or not) is if we should return the width of the laser in the telemetry, so that the messages are cohesive in themself? If not, consumer of the telemetry/log data needs to check the device ID of the connected laser, and then maintain a look up table with the device id <-> laser width.
This might be nice to have in libblunux, and expose. The draw back, is that this is static data so wastefull to include in every telemetry message.
🤔
This pull request extends the protobuf message definitions to support new computer vision features related to laser detection, specifically for the Ultra model. It introduces new messages for representing 2D points and laser detection results, and updates telemetry to include detection data.
Additions for laser detection and telemetry:
protobuf_definitions/message_formats.proto:modulatedboolean field to theLasermessage to indicate if the laser is modulated at 5Hz for tracking.Point2Dmessage for representing 2D coordinates.LaserDetectionmessage to encapsulate detected laser dot centroids, their pixel distance, detection confidence, and source image dimensions, supporting new computer vision features.Telemetry enhancements:
protobuf_definitions/telemetry.proto:LaserTelmessage to include alaser_detectionfield, reporting computer vision-based laser detection status and details.