Back to catalog

COLREGS

H01 COLREGS Classification

Classification correctness tests for BHV_AvdColregsV22. These cases verify that canonical two-vessel geometries enter the expected COLREGS mode before execution quality is evaluated elsewhere.

Stem Mission

Baseline scenario context

The shared COLREGS stem mission uses two vessels, ben and abe; ben is the evaluated ownship. Case overlays vary the encounter geometry for head-on, crossing, overtaking, and overtaken situations.

Examples

Representative runs

This classification harness uses alog-backed explanatory GIFs instead of raw pMarineViewer captures because the vehicles do move, but the verdict comes from COLREGS publications such as mode, index, summary, and range reports. The visuals call out the evidence that makes each case pass.

Head-on Classification

Description: Sends equal-speed vessels directly toward one another on the x=0 centerline, with ownship starting at (0,-40) on heading 180 and Ben at (0,-130) on heading 0. Passes as soon as COLREGS_AVOID_IX_BEN=10 appears before the 70-second missing-classification deadline.

Crossing Give-way

Description: Sends ownship east from (-70,-80) at 1.4 m/s while Ben moves north from (10,-130) at 1.3 m/s, placing Ben on ownship's starboard side. Passes as soon as give-way-stern index 20 appears before the 70-second missing-classification deadline.

Case Matrix

All cases

head_on_colregs_pass

Sends equal-speed vessels directly toward one another on the x=0 centerline, with ownship starting at (0,-40) on heading 180 and Ben at (0,-130) on heading 0. Passes as soon as COLREGS_AVOID_IX_BEN=10 appears before the 70-second missing-classification deadline.

head_on_cpa_fallback_pass

Sends ownship south from (0,-70) while Ben approaches from (0,-120) on heading 28, placing the encounter outside the head-on angular bucket. Passes as soon as CPA index 50 appears before the 70-second missing-classification deadline.

head_on_port_offset_pass

Starts ownship at (-6,-40) heading south and Ben at (6,-130) heading north, with their destinations crossing the 12-meter lateral offset. Passes as soon as head-on index 10 appears before the 70-second missing-classification deadline.

head_on_starboard_offset_pass

Mirrors the offset geometry with ownship at (6,-40) and Ben at (-6,-130). Passes as soon as head-on index 10 appears before the 70-second missing-classification deadline.

crossing_starboard_giveway_pass

Sends ownship east from (-70,-80) at 1.4 m/s while Ben moves north from (10,-130) at 1.3 m/s, placing Ben on ownship's starboard side. Passes as soon as give-way-stern index 20 appears before the 70-second missing-classification deadline.

crossing_starboard_giveway_far_pass

Moves the same crossing starts outward to ownship (-80,-80) and Ben (10,-150). Passes as soon as give-way-stern index 20 appears before the 70-second missing-classification deadline.

crossing_starboard_giveway_close_pass

Moves the same crossing starts inward to ownship (-60,-80) and Ben (10,-115). Passes as soon as give-way-stern index 20 appears before the 70-second missing-classification deadline.

crossing_port_standon_pass

Sends ownship east from (-70,-80) while Ben moves south from (10,-20), placing Ben on ownship's port side. Passes when the evolving encounter reaches stand-on-bow index 32 before the 70-second missing-classification deadline.

crossing_port_standon_unsure_bow_pass

Uses the same geometry as crossing_port_standon_pass but grades the earlier stand-on transition. Passes as soon as standon:unsure_bow index 36 appears before the 70-second missing-classification deadline.

crossing_port_standon_stern_pass

Starts Ben farther north at (10,15) and slower at 1.2 m/s against eastbound ownship at (-70,-80). Passes as soon as stand-on-stern index 30 appears before the 70-second missing-classification deadline.

crossing_port_standon_far_pass

Maps to the execution-far geometry: ownship starts eastbound at (-76,-80) and Ben southbound at (10,-12). Passes when the encounter reaches stand-on-bow index 32 before the 70-second missing-classification deadline.

crossing_port_standon_close_pass

Moves the port-crossing starts inward to ownship (-60,-80) and Ben (10,-30). Passes when the encounter reaches stand-on-bow index 32 before the 70-second missing-classification deadline.

crossing_port_standon_close_unsure_bow_pass

Uses the same close geometry as crossing_port_standon_close_pass but grades its earlier transition. Passes as soon as standon:unsure_bow index 36 appears before the 70-second missing-classification deadline.

crossing_port_standon_unsure_pass

Offsets ownship's eastbound track to y=-72, starting at (-55,-72), while Ben moves south from (10,-18). Passes as soon as generic standon:unsure index 38 appears before the 70-second missing-classification deadline.

overtaking_starboard_pass

Sends 1.6 m/s ownship east from (-90,-80) behind 1.0 m/s Ben at (-35,-84), a four-meter pass on Ben's port side. Passes as soon as overtaking:port index 43 appears before the 70-second missing-classification deadline.

overtaking_starboard_small_gap_pass

Narrows the same-side overtaking gap to two meters by placing Ben on y=-82. Passes as soon as overtaking:port index 43 appears before the 70-second missing-classification deadline.

overtaking_starboard_large_gap_pass

Widens the same-side overtaking gap to eight meters by placing Ben on y=-88. Passes as soon as overtaking:port index 43 appears before the 70-second missing-classification deadline.

overtaking_starboard_mirror_pass

Mirrors the four-meter geometry with ownship on y=-84 and Ben on y=-80. Passes as soon as overtaking:starboard index 47 appears before the 70-second missing-classification deadline.

overtaking_starboard_mirror_small_gap_pass

Narrows the mirrored overtaking gap to two meters with ownship on y=-82. Passes as soon as overtaking:starboard index 47 appears before the 70-second missing-classification deadline.

overtaking_starboard_mirror_large_gap_pass

Widens the mirrored overtaking gap to eight meters with ownship on y=-88. Passes as soon as overtaking:starboard index 47 appears before the 70-second missing-classification deadline.

overtaken_port_standon_pass

Sends 1.0 m/s ownship east from (-35,-80) while 1.6 m/s Ben overtakes from (-70,-76) on ownship's port side. Passes as soon as COLREGS_AVOID_MODE_BEN=standon_ot:port appears before the 70-second missing-classification deadline.

overtaken_starboard_standon_pass

Mirrors the overtaken geometry with Ben starting at (-70,-84) on ownship's starboard side. Passes as soon as COLREGS_AVOID_MODE_BEN=standon_ot:starboard appears before the 70-second missing-classification deadline.

Source links

Harness README Mission README