ROV Autonomous Inspection System — ROS2 workspace
Go to file
Grant 451c2c353f docs: record 14 Jul session design — widget wiring map, depth dual-source, fault-injection required, FSM rework top priority
docs/design_intent_register.md v1.5:
- New DIR-13 — widget-to-hardware ownership map. W1 is a two-stage health
  gate: RPi4 FC-heartbeat MUST pass first (implemented, 86b2728), then RPi5
  autonomy-stack self-health (not yet built) — only when both pass is W1
  GREEN. W5 reflects the RPi4-connected battery. W2/W3/W4/W6/W8 reflect the
  RPi5 stack; W6 deliberately kept RPi5-direct per the standalone-autonomy
  principle. W7 specced, not built. Cross-references DIR-12.
- New DIR-14 — depth as a dual-source, operator-selectable input: RPi4
  sensor (via the FC), an RPi5-direct sensor, or a blend, selected at
  mission setup (W4) and carried in the resolved mode profile like
  health_role. Redundancy plus operator choice. Design-captured, not yet
  specified in detail.

docs/handover.md v2.27:
- New §9 widget-to-hardware wiring table matching the DIR-13 ownership map.
- Test-data/fault-injection capability flagged as an approaching required
  workstream, not optional — the failsafe logic (and the pending count-
  based FSM rework) cannot be properly tested without injecting sensor
  states and simulating running-vs-failed conditions. Incremental approach
  agreed: altitude/depth/sonar first. Near-term prerequisite for validating
  the FSM rework; added to §0 PARKED/NEXT and §16.
- FSM rework to the corrected count-based model (255096f) reconfirmed as
  top build priority — 2a3e577/bf815cc's condition-clear commit logic
  remains known-wrong pending that rework. Recorded as related to, and to
  be planned alongside, W1's RPi5-side health gating (DIR-13) and the
  fault-injection capability above.
- Confirmed and recorded: W2 reflects live mission state (observed ABORTED
  after a live abort); W3's label change to RETURN TO SAFE is complete
  (9aa5b5d) — stale references to this as outstanding work corrected in
  §0 Blocked/Open Items/NEXT and §16. argonaut-api.service manual-start
  reminder recorded for rov_api/backend testing.
- DIR pointer section bumped to DIR-1 through DIR-14.

Documentation only — no code, widget, or diagram files touched. Not
uploaded to Claude project knowledge; that remains a manual step.
2026-07-14 11:21:44 +02:00
deploy Add deploy/ folder — systemd units and launch wrappers 2026-07-05 15:50:42 +00:00
docs docs: record 14 Jul session design — widget wiring map, depth dual-source, fault-injection required, FSM rework top priority 2026-07-14 11:21:44 +02:00
src feat(nav-arrival): rov_api safe_zone_reached endpoint + cockpit_bridge failsafe_state variable 2026-07-13 17:12:58 +02:00
tools Task 11: rewrite publisher as WebSocket server for Cockpit v1.18.0 2026-05-13 05:24:55 +02:00
widgets feat(w3): update label to RETURN TO SAFE, point FASTAPI_HOST at deployed rov_api backend 2026-07-14 09:32:51 +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