ROV Autonomous Inspection System — ROS2 workspace
Grant du Toit
c94412ddae
Fix full-stack launch: MAVROS fcu_url + plugin_allowlist, timestamped bag dir, BEST_EFFORT QoS on MAVROS subs, battery<0 unknown guard
...
- rov_full.launch.py: fcu_url to udp://@<ip>:14550 (was bad local bind); add plugin_allowlist (sys_status,sys_time,command,imu,global_position,setpoint_velocity) to stop duplicate-subscription crash on companion_process_status/debug_value
- foxglove_mcap.launch.py: timestamp bag output dir (was fixed /data/bags/dive, failed on second launch)
- failsafe_monitor/depth_node/state_estimator: qos_profile_sensor_data on MAVROS-sourced subs (MAVROS publishes BEST_EFFORT; default RELIABLE blocked all messages)
- failsafe_monitor: treat battery_percent<0 as UNKNOWN not critical (SITL has no battery; was forcing permanent EMERGENCY_SURFACE)
2026-06-17 18:28:06 +00:00
src
Fix full-stack launch: MAVROS fcu_url + plugin_allowlist, timestamped bag dir, BEST_EFFORT QoS on MAVROS subs, battery<0 unknown guard
2026-06-17 18:28:06 +00:00
tools
Task 11: rewrite publisher as WebSocket server for Cockpit v1.18.0
2026-05-13 05:24:55 +02:00
widgets
Task 11: update W2 variable names for WebSocket data path
2026-05-14 06:45:26 +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