Skip to content

SITL Phase 6: BlueBoat waypoint mission with Ardu guidance - #82

Open
bsb808 wants to merge 4 commits into
lyricalfrom
bsb/sitl_phase6
Open

bsb808 wants to merge 4 commits into
lyricalfrom
bsb/sitl_phase6

Conversation

@bsb808

@bsb808 bsb808 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Phase 6 of docs/specs/SITL_SPEC.md. The spec lays out the intent.

The BlueBoat flies one small waypoint mission unattended in AUTO mode and walkthrough documentation for step-by-step user instructions.

What's in it

  • blueboat_gazebo/missions/lawnmower.waypoints: 10 m legs east/west, 5 m steps north, a diagonal home. .
  • test_mission_file.py: static checks on the installed file (format, pinned home, on the water, waypoints distinct).
  • blueboat_sitl.params: the shipped waypoint-navigation block (WP_PIVOT_*, WP_ACCEL, WP_JERK, MIS_DONE_BEHAVE, PSC_*), verbatim from BlueBoat120.params. Without WP_PIVOT_ANGLE the firmware disables pivot turns. This is important because we want to be using the hardware parameters in SITL
  • Walkthrough: docs/vehicles/blueboat/mission-sitl-boat.md, with figures from the scripted runs.
  • Spec: phase 6 narrowed; failsafes and a headless mission test deferred (no MAVLink client in the workspace, as in phase 4).

Review Request

Please go through the walkthrough - bluerobotics_models/docs/vehicles/blueboat/mission-sitl-boat.md.

The walkthrough attempts to be step-by-step and reproducible. Step through it manually (not with AI) and check that the steps are clear and understandable by a human. The point is to verify that the SITL control and guidance, using the Blue Boat hardware params, performs similarly for the simulated vessel. This implicitly verifies the physics (dynamics, hydro, etc.) This does so without environmental disturbances (wind and waves) as a baseline.

One fixed lawnmower mission (10 m legs, 5 m steps) installed with
blueboat_gazebo, a static test on the file, and a walkthrough that flies it
in AUTO against figures stated beforehand. SITL runs in lockstep, so the
figures are exact rather than tolerances.

The parameter file gains the shipped waypoint navigation block (WP_PIVOT_*,
WP_ACCEL, WP_JERK, MIS_DONE_BEHAVE, PSC_*). Without WP_PIVOT_ANGLE the
firmware default disables pivot turns and the boat arcs through corners.

Finding, recorded in the walkthrough and the spec: pivots drift forward,
because a steering-only command leaves a net surge force on this model
(published thrust ratio 2.0 vs MOT_THST_ASYM 1.6).

Spec: phase 6 cut to the minimum; failsafes and a headless mission test
deferred.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bsb808 bsb808 changed the title SITL phase 6: BlueBoat waypoint mission (minimum viable) SITL Phase 6: BlueBoat waypoint mission with Ardu guidance Oct 18, 2026
@bsb808
bsb808 marked this pull request as ready for review October 18, 2026 22:26
@bsb808
bsb808 requested a review from j-rivero October 18, 2026 22:27
@bsb808

bsb808 commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

I'll look at merge conflicts later today

bsb808 and others added 2 commits October 19, 2026 19:33
Status tracking in the markdown is unnecessary: the pull requests and
their state on GitHub already say which phases are done, in review or
next, and a hand-kept column only goes stale. The status legend goes
with it.

Phase 7 (waves, boat only) is removed: buoyancy acts at the flat water
plane and the waves are only drawn, so a wave-world run would exercise
nothing the flat-water phases do not. The number is kept so references
to phases 8 and 9 stay valid.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bsb808

bsb808 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

@j-rivero Long story short, part of CI is broken since Ryan's #83. The reasoning was probably faulty from a stricter dev workflow, but for this small group it should get back to green with #85. Basically I needed to make changes as a consequence of Ryan's name change, so it is a two step process.

Otherwise, this PR should be ready to review. You can do it now or wait until we merge #85, then rebase, and the CI should fully pass again.

This branch has not been deployed

No deployments
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