|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file
CONTRIBUTING
|
stingray repositorystingray_cam stingray_devices stingray_interfaces stingray_launch stingray_missions stingray_movement stingray_object_detection stingray_recorder stingray_utils |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/hydronautics-team/stingray.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-03-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| stingray_cam | 0.0.0 |
| stingray_devices | 0.0.1 |
| stingray_interfaces | 0.0.0 |
| stingray_launch | 0.0.0 |
| stingray_missions | 0.0.0 |
| stingray_movement | 0.1.0 |
| stingray_object_detection | 0.2.0 |
| stingray_recorder | 0.0.0 |
| stingray_utils | 0.1.0 |
README
stingray
Stingray is a ROS 2 AUV control stack built around mission orchestration, action servers for movement/devices, object detection, and video recording. This repository currently contains the first-party packages listed below plus two external code trees that are used by object detection.
Scope of This README
- This document describes the packages that live in this repository today.
- Direct code review scope excluded
src/stingray_core. - Deep review also excluded third-party detector code in
src/stingray_object_detection/ultralyticsand vendoredyolov5. - Known defects and architectural risks are tracked in ISSUES.md.
Repository Map
| Package | Kind | Main entry points | Notes |
|---|---|---|---|
stingray_cam |
ROS 2 Python package | Camera calibration data | Ships configs/camera.yaml; no runtime node in this package. |
stingray_devices |
ROS 2 C++ package | device_action_server |
Bridges DeviceAction requests to stingray_core_interfaces/SetDevice. |
stingray_interfaces |
ROS 2 interface package | Actions, messages, services | Shared contract for missions, movement, devices, detector, and recorder control. |
stingray_launch |
ROS 2 Python package |
cam.launch.py, control.launch.py, missions.launch.py, od.launch.py, recorder.launch.py, zbar.launch.py
|
Main bring-up/orchestration layer. |
stingray_missions |
ROS 2 Python package |
fsm_node, qr_trigger_node
|
Loads scenario YAML, drives the finite-state machine, and invokes actions/services. |
stingray_movement |
ROS 2 C++ package |
twist_action_server, bbox_centering_twist_action_server, bbox_search_twist_action_server
|
Movement actions backed by stingray_core_interfaces/SetTwist. |
stingray_object_detection |
ROS 2 Python package | yolov8_detector |
Publishes BboxArray from image topics; also contains the ultralytics submodule and vendored yolov5. |
stingray_recorder |
ROS 2 Python package | video_recorder_node |
Records image topics on demand via EnableTopic. |
stingray_utils |
Mixed ROS 2 package | C++ headers, Python helpers, stingray_utils.launch.py
|
Shared helpers used by missions/movement; packaging is currently inconsistent, see ISSUES.md. |
Architecture Overview
The current first-party control path is:
-
stingray_launchstarts operators, action servers, cameras, detector, and recorder nodes. -
stingray_missions/fsm_nodeloads scenarios fromstingray_missions/configs/scenarios/*.yaml. - Scenario states reference mission YAML in
stingray_missions/configs/missions/*.yaml. - Mission actions call movement/device action servers or publish
EnableTopicmessages to toggle detection/recording. -
stingray_movementandstingray_devicesturn those actions intostingray_core_interfacesservice calls. -
stingray_object_detectionsubscribes to image and camera info topics and publishes*/bbox_array. -
stingray_recordersubscribes to image topics and records when enabled.
The stack relies on stingray_core_interfaces for the low-level control and
state contracts, but src/stingray_core itself is outside the scope of this
repository review.
Launch Files
The active launch entry points in this repository are:
| Launch file | Purpose | Notes |
|---|---|---|
cam.launch.py |
Start a single usb_cam node with calibration file support. |
Defaults to /dev/video0 and /stingray/topics/camera. |
od.launch.py |
Start yolov8_detector. |
Expects image topics, camera info topics, and detector asset files. |
recorder.launch.py |
Start video_recorder_node. |
Uses EnableTopic to start/stop recording. |
control.launch.py |
Bring up the full reviewed control stack. | Includes FSM, QR trigger, movement action servers, and device action server. |
missions.launch.py |
Bring up the mission FSM without the full control stack. | Overlaps with control.launch.py; see ISSUES.md. |
zbar.launch.py |
Start QR / barcode reader integration. | Publishes decoded barcode strings to the configured topic. |
Typical commands:
ros2 launch stingray_launch cam.launch.py
ros2 launch stingray_launch od.launch.py
ros2 launch stingray_launch recorder.launch.py
ros2 launch stingray_launch control.launch.py
ros2 launch stingray_launch missions.launch.py
ros2 launch stingray_launch zbar.launch.py
Most launch files accept topic, service, and device overrides through launch
arguments. Check the corresponding src/stingray_launch/launch/*.py file before
deploying to hardware.
Interfaces and Control Contracts
The public ROS contracts defined in stingray_interfaces are:
-
TwistAction: generic movement command. -
BboxCenteringTwistAction: center on a detected object. -
BboxSearchTwistAction: search for a detected object by yaw sweep. -
DeviceAction: actuate a device through the device action server. -
HydroacousticCenteringTwistAction: declared interface; implementation status is tracked inISSUES.md. -
SetTransition: service used by the mission FSM and QR trigger. -
Bbox,BboxArray: detector outputs. -
EnableTopic: enable/disable object detection or recording for a topic.
Missions and Scenarios
Mission and scenario behavior is configured in YAML:
File truncated at 100 lines see the full file