Skip to content

docs: CAMP user manual (plan)#62

Draft
rolker wants to merge 5 commits into
jazzyfrom
feature/issue-61
Draft

docs: CAMP user manual (plan)#62
rolker wants to merge 5 commits into
jazzyfrom
feature/issue-61

Conversation

@rolker
Copy link
Copy Markdown
Owner

@rolker rolker commented Jun 2, 2026

Plan-first draft PR. The committed work plan (.agent/work-plans/issue-61/plan.md) is reproduced below; the manual itself will be added to this branch as implementation proceeds.


Work Plan — Issue #61: CAMP user manual (operator-facing)

Issue: #61

Context & forcing function

Part of the Summer Hydro 2026 documentation push (driver: June 4 dev-freeze /
class start
; audience = rotating student-operator cohorts). Companion to the
BizzyBoat operator manual (rolker/unh_echoboats_project11#202) and the framework
guide (rolker/unh_marine_autonomy#132, drafted as PR #133). Decisions agreed
with Roland 2026-06-01.

Audience & scope decisions

  • Audience: student operators at the operator station.
  • CAMP = the deployed CCOMAutonomousMissionPlanner binary, NOT the unused
    camp2 rewrite. Develop/document against src/camp/ (RosContext / TopicBridge /
    GeoGraphicsItem arch; Markers is the overlay template).
  • Troubleshooting = link to the framework guide, not a symptom→cure cookbook.
  • No mission-specific (site/customer) detail.

Outline

  1. Overview — CAMP (CCOMAutonomousMissionPlanner) at the operator station;
    what it is and isn't.
  2. Starting & connecting — launch; chart auto-load (13283 via camp_launch.py);
    confirming the boat link. A boat advertises itself on /marine/platforms
    and CAMP's PlatformManager auto-creates a tab + map drawing per platform —
    so "boat not showing up" → check /marine/platforms reaching the station and
    the boat's platform_publisher lifecycle node being activated (framework
    guide §3).
  3. Reading the display — chart; boat pose; camera/sonar/segmentation views;
    annunciators (naming distinguishes diagnostic source — boat vs operator —
    not where the display lives; both run at the operator station); heartbeat.
  4. Planning a survey — lay out lines; parameters.
  5. Sending & controlling missions — send; override (Standby / Hover /
    Goto); update-vs-replace task semantics (mid-run plan modify = replace_task,
    which works; in-place update_task is unhandled / deferred to the Field import: camp (2026-05-01) #50 BT
    redesign — document current behavior, don't promise update_task).

Source-of-truth references (verify against, don't assume)

  • Platform self-advertisement: ui_ws/src/camp/src/camp/platform_manager/
    (platform_manager.cpp subscribes /marine/platforms) ↔ boat-side
    unh_marine_autonomy/marine_autonomy/scripts/platform_send.py.
  • Command/override + task semantics: framework guide docs/how_the_stack_works.md
    in unh_marine_autonomy (PR #133) and the marine/mission_manager/command
    routing (command_bridge / camp_interface). Topic prefix is marine/ (the
    project11/ prefix is retired; PR #133 cleaned the autonomy docs).
  • Bag-replay verification recipe (for testing CAMP behavior locally without a
    boat): camp_launch.py auto-loads chart 13283; ros2 bag play --start-offset
    is safe (earth→bizzy/map is dynamic /tf); no zenoh needed locally.
  • Known display caveats to mention or work around:

Cross-links

  • Framework guide: rolker/unh_marine_autonomy#132 / PR #133 (link for the
    "how it works" / troubleshooting-by-understanding material).
  • BizzyBoat operator manual: rolker/unh_echoboats_project11#202.

Open items / notes

  • Decide doc location/format (e.g., docs/camp_user_manual.md) and link from the
    camp README.
  • Verify the override/send UI flow against the actual CAMP widgets before writing
    §5 (read the relevant src/camp/ UI code; don't document from memory).

Authored-By: Claude Code Agent
Model: Claude Opus 4.8 (1M context)

Claude Code Agent and others added 5 commits June 1, 2026 22:20
Capture the agreed outline, scope decisions, and source-of-truth references for
the operator-facing CAMP user manual. Audience = rotating Summer Hydro operator
cohorts; documents the deployed CCOMAutonomousMissionPlanner (not camp2);
troubleshooting links to the framework guide (unh_marine_autonomy#132 / PR #133).
Covers platform self-advertisement (/marine/platforms), display reading,
survey planning, and send/override + update-vs-replace task semantics.

Part of #61.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add docs/camp_user_manual.md for student operators at the operator station:
starting & connecting, reading the display, planning a survey, sending a mission,
and overrides. Add a Documentation section to README linking it.

UI flow verified against src/camp/: Execute -> replace_task (working path);
Hover Here / Goto Here / Idle in place map overrides; Standby / Autonomous helm
buttons. Outline corrected against source: CAMP has no camera/sonar/segmentation/
annunciator panels (redirect imagery to separate rqt windows); the Mission Update
menu sends update_task which is a no-op downstream (#50) -- documented use Execute.

Mechanism/troubleshooting defers to the framework guide; boat side defers to the
BizzyBoat operator manual.

Closes #61
…61)

Add an example CAMP-window screenshot (docs/images/, cropped from the 2026-06-01
operator capture; terminals excluded) to 'Reading the display'.

Trim the camera/sonar/segmentation imagery and annunciator coverage to a brief
pointer: those are separate operator-station windows and are documented in the
BizzyBoat operator manual, not here (Roland's scope call -- CAMP is not where they
are viewed).

Part of #61
…shot (#61)

Remove the Summer-Hydro / student-operator framing so the manual doesn't go stale.
CAMP is platform-neutral: refer to 'the boat' / 'the boat's operator manual', with
BizzyBoat kept only as the explicit See-also example. Background chart framed as a
configurable default (currently 13283).

Replace the example screenshot with a June-2 mid-survey frame showing the working
windowed costmap with detected obstacles/targets and the survey-pattern tracklines
(costmap confirmed at CAMP from 13:09 EDT per the deployment log). Terminals
excluded.

Part of #61
…re (#61)

Swap to the June-2 19:12 UTC frame (operator's pick): it shows the pier as a
charted obstacle (magenta costmap), a camera-derived obstacle marked between the
pier and the survey area, the survey-pattern tracklines, and the heartbeat panel
caught mid-color-change in its yellow warning state (a comms hiccup) -- a good
teaching frame for the display. Caption and the heartbeat-panel description updated
to call these out.

Part of #61
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant