Back to catalog

Depth Behavior

H05 Min Altitude Motion

Moving correctness tests for BHV_MinAltitude. These cases verify bottom-clearance guarding, shallow-bottom response, unconstrained deep-bottom behavior, clearance boundary behavior, zero-minimum behavior, zero altitude failures, invalid configuration, missing nav inputs, and noncritical warning mode.

Stem Mission

Baseline scenario context

The shared depth stem mission runs one simulated UUV and one shoreside evaluation community. The vehicle uses pHelmIvP, pMarinePIDV22, and uSimMarineV22; the horizontal waypoint keeps the vehicle underway while BHV_MinAltitude owns the bottom-clearance verdict.

Examples

Representative runs

These depth GIFs are generated from real run alogs, not raw pMarineViewer screen captures, because the top-down track alone does not show bottom-clearance evidence clearly. The visuals call out the evidence that makes each case pass.

Min Altitude Guard

Description: Opposes a 30-meter depth command over a 20-meter bottom with min_altitude=8, testing that the computed 12-meter maximum-depth objective stops the dive; passes at x>=80 when NAV_DEPTH<=16, NAV_ALTITUDE>=4, and no behavior error is observed.

Deep Bottom

Description: Commands 22 meters over an 80-meter bottom with min_altitude=8, testing that the one-sided constraint does not disturb a target far above the computed 72-meter limit; passes when x>=100, NAV_DEPTH>=20, and NAV_ALTITUDE>=40, with 60 seconds used only as a missing-state deadline.

Case Matrix

All cases

min_altitude_guard_pass

Opposes a 30-meter depth command over a 20-meter bottom with min_altitude=8, testing that the computed 12-meter maximum-depth objective stops the dive; passes at x>=80 when NAV_DEPTH<=16, NAV_ALTITUDE>=4, and no behavior error is observed.

min_altitude_shallow_bottom_pass

Opposes a 30-meter command over a six-meter bottom with min_altitude=10, testing that a negative computed depth limit is clipped to the surface; passes at x>=80 when NAV_DEPTH<=2, NAV_ALTITUDE>=4, and no behavior error is observed.

min_altitude_zero_min_pass

Commands 30 meters over a 20-meter bottom with min_altitude=0, testing that the boundary setting permits descent near the bottom rather than retaining the ordinary eight-meter guard; passes when the vehicle reaches x>=45, NAV_DEPTH>=16, and NAV_ALTITUDE<=4, with 75 seconds used only as a missing-state deadline.

min_altitude_unconstrained_deep_bottom_pass

Commands 22 meters over an 80-meter bottom with min_altitude=8, testing that the one-sided constraint does not disturb a target far above the computed 72-meter limit; passes when x>=100, NAV_DEPTH>=20, and NAV_ALTITUDE>=40, with 60 seconds used only as a missing-state deadline.

min_altitude_clearance_boundary_pass

Commands 30 meters over a 20-meter bottom with min_altitude=8, testing control near the computed 12-meter depth boundary; passes when x>=45 and NAV_DEPTH>=10, with depth constrained to 10–14 meters, altitude to 6–10 meters, and 75 seconds used only as a missing-state deadline.

min_altitude_zero_altitude_fail

Configures a zero-meter water depth while commanding 30 meters with min_altitude=8, testing the behavior's no-objective path when reported altitude is zero; passes when ABE_BHV_ERROR is observed with NAV_DEPTH<1, with 45 seconds used only as a missing-error deadline.

min_altitude_bad_config_fail

Sets min_altitude=deep, testing rejection of a nonnumeric clearance; passes only when the helm reports the exact state IVPHELM_STATE=MALCONFIG before the 12-second missing-state deadline.

min_altitude_negative_min_fail

Sets min_altitude=-1, testing rejection of a negative clearance; passes only when the helm reports the exact state IVPHELM_STATE=MALCONFIG before the 12-second missing-state deadline.

min_altitude_bad_critical_bool_fail

Sets missing_altitude_critical=maybe, testing rejection of an invalid Boolean; passes only when the helm reports the exact state IVPHELM_STATE=MALCONFIG before the 12-second missing-state deadline.

min_altitude_missing_nav_fail

Changes the simulator prefix to SIM, withholding NAV_X and NAV_DEPTH from the helm; passes at the 45-second absence deadline when both variables and depth-mismatch mail remain absent, DESIRED_ELEVATOR=0, and no behavior error is observed.

Source links

Harness README Mission README