ROV Autonomous Inspection System — ROS2 workspace
Go to file
Grant du Toit 4e48dc2c53 feat(mode): operating-mode profile system
Add ModeProfile.msg (atomic resolved flag set) to rov_interfaces.
Add mode_profile_loader node + config/mode_profiles.yaml to rov_mission:
ROV/AUV profiles plus custom/hybrid Save As, published latched on
/rov/mode/profile, reloadable via /rov/mode/reload service.
cockpit_bridge subscribes and surfaces flags to the Cockpit data lake
as external/rov-*. Single source of truth; widgets read flags, not modes.
Verified end-to-end: ROV and AUV resolve correctly and live reload works.

Refs DIR-1/2 (ROV/AUV duality), DIR-9 (amended: ARM-bounded recording), DIR-10.
2026-07-07 11:15:35 +00:00
deploy Add deploy/ folder — systemd units and launch wrappers 2026-07-05 15:50:42 +00:00
src feat(mode): operating-mode profile system 2026-07-07 11:15:35 +00:00
tools Task 11: rewrite publisher as WebSocket server for Cockpit v1.18.0 2026-05-13 05:24:55 +02:00
widgets Widgets housekeeping: add W6, remove probe widget 2026-07-05 18:11:59 +02:00
.gitattributes Add .gitattributes for consistent line endings 2026-05-03 22:22:51 +00:00
.gitignore Initial workspace — six-package autonomy stack 2026-05-03 09:26:04 +00:00
CLAUDE.md docs: add CLAUDE.md with behaviour rules and terminal conventions 2026-05-07 22:35:43 +00:00
docker-entrypoint.sh Initial workspace — six-package autonomy stack 2026-05-03 09:26:04 +00:00
Dockerfile Initial workspace — six-package autonomy stack 2026-05-03 09:26:04 +00:00
README.md Initial workspace — six-package autonomy stack 2026-05-03 09:26:04 +00:00

ROV Autonomy Stack

ROS2 Jazzy workspace for the BlueROV2 Heavy autonomous inspection system.

Package Structure

Package Purpose
rov_interfaces Custom messages and services
rov_navigation State estimation, EKF, depth
rov_perception Camera nodes, feature detection
rov_control Motion controller, failsafe monitor
rov_mission Mission executor, waypoint sequencing
rov_bringup Top-level launch files

Quick Start (on RPi5)

# Pull image from Harbor
docker pull registry.symbytech.com/rov-autonomy/rov-stack:latest

# Run full stack (dev environment)
docker run --rm --network host \
  registry.symbytech.com/rov-autonomy/rov-stack:latest \
  ros2 launch rov_bringup rov_full.launch.py env:=dev blueos_ip:=<RPi4_IP>

Building Locally (on server with buildx)

docker buildx build --platform linux/arm64 \
  -t registry.symbytech.com/rov-autonomy/rov-stack:dev \
  --push .

Topic Reference

Topic Type Publisher Subscribers
/imu/data sensor_msgs/Imu Xsens driver state_estimator
/mavros/imu/data sensor_msgs/Imu MAVROS state_estimator
/rov/state nav_msgs/Odometry state_estimator motion_controller, mission_executor
/rov/cmd_vel geometry_msgs/Twist mission_executor motion_controller
/rov/failsafe rov_interfaces/FailsafeStatus failsafe_monitor motion_controller, mission_executor
/rov/mission/status rov_interfaces/MissionStatus mission_executor web UI
/camera/front/image_raw sensor_msgs/Image camera_node feature_detector