ROV Autonomous Inspection System — ROS2 workspace
Go to file
Grant 0eca8fef11 docs: record 13 Jul session — mode-system launch fix, gate-mode arrival event, safe-zone-reached parked item
docs/handover.md v2.25:
- mode_profile_loader found never wired into rov_full.launch.py despite being
  committed 7 Jul (4e48dc2) — /rov/mode/profile had zero publishers at
  runtime since; fixed with respawn (464e17e), verified live (0->1)
- failsafe_monitor's mode-aware recovery (2a3e577) surfaced a second gap:
  gate-mode RETURN_TO_SAFE was a terminal trap; closed by the new permanent
  /rov/nav/safe_zone_reached interface (bf815cc), verified live end-to-end
  on the bench; today's publisher is temporary bench scaffolding only
- new §15f narrative section; §0 Confirmed Working, PARKED, NEXT, Recent
  Commits, Version History, and Changelog all updated accordingly
- two pre-existing failsafe_monitor defects found this session (not caused
  by it), flagged in §0 Open Items and §15f: flag_manual_abort is a
  one-way latch never reset (shadows all lower-priority handling after any
  manual abort — field-deployment concern); failsafe_monitor produces no
  log output in journalctl (cost diagnostic time this session)

docs/design_intent_register.md v1.3:
- new Parked Design Item: mode-aware safe-zone-reached arrival event —
  permanent /rov/nav/safe_zone_reached interface, mode-aware/sensor-derived
  arrival judgement (GPS at surface + EKF/dead-reckoning underwater), GPS
  recorded as first-class across mission types (not hull/jacket-specific),
  gate-only scope, temporary W1-button bench-scaffolding publisher pending
  navigation — cross-referenced to the DIR-7 "in-mission recovery is
  mode-dependent" addendum, whose Implementation note is updated to record
  the mechanism is no longer mode-blind (2a3e577)

Not uploaded to Claude project knowledge — that remains a manual step.
2026-07-13 11:55:52 +02:00
deploy Add deploy/ folder — systemd units and launch wrappers 2026-07-05 15:50:42 +00:00
docs docs: record 13 Jul session — mode-system launch fix, gate-mode arrival event, safe-zone-reached parked item 2026-07-13 11:55:52 +02:00
src feat(failsafe): gate-mode safe-zone-reached completion event closes RETURN_TO_SAFE trap 2026-07-13 09:33:52 +02:00
tools Task 11: rewrite publisher as WebSocket server for Cockpit v1.18.0 2026-05-13 05:24:55 +02:00
widgets fix(w1): move cause text to footer, keep message line state-driven to stop flicker 2026-07-11 17:31:31 +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: restructure into docs/, CLAUDE.md rules-only, DIR v1.2, handover v2.24 2026-07-11 18:46:58 +02: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