Back to catalog

COLREGS

H03 COLREGS Execution

Execution correctness tests for BHV_AvdColregsV22 after classification is known. These cases run encounters through completion and grade the realized maneuver using CPA, side outcome, timing, and collision evidence.

Stem Mission

Baseline scenario context

The shared COLREGS stem mission uses two vessels, ben and abe; ben is the evaluated ownship. Execution cases reuse trusted classification geometry and then judge the maneuver that actually unfolds.

Examples

Representative runs

Head-on Resolution

Description: Runs the centerline head-on geometry through Ben's arrival. Passes within 12 wall seconds when 16<=UCD_CLOSEST_RANGE_EVER<=20, Ben finishes on ownship's port and aft sides (cn_port=1, cn_fore=0), no side crossing occurs, and timeout and collisions remain false/zero.

Overtaken Midrange

Description: Sends 1.6 m/s Ben from (-85,-85) past 1.0 m/s ownship at (-35,-80). Passes within 12 wall seconds when closest range is 18.15–18.30 meters, Ben finishes starboard/fore without crossing, final mode remains standon_ot:starboard, and no timeout or collision occurs.

Crossing Give-way

Description: Runs eastbound ownship from (-70,-80) against northbound Ben from (10,-130) through Ben's arrival. Passes within 12 wall seconds when closest range is 18–24 meters, Ben finishes port and aft (1,0), cn_crossed=0, and no timeout or collision occurs.

Case Matrix

All cases

head_on_execution_pass

Runs the centerline head-on geometry through Ben's arrival. Passes within 12 wall seconds when 16<=UCD_CLOSEST_RANGE_EVER<=20, Ben finishes on ownship's port and aft sides (cn_port=1, cn_fore=0), no side crossing occurs, and timeout and collisions remain false/zero.

head_on_cpa_fallback_execution_pass

Runs the heading-28 near-head-on CPA fallback through Ben's arrival. Passes within 12 wall seconds on the same 16-to-20-meter CPA, port/aft, no-crossing, no-timeout, and zero-collision envelope.

head_on_port_offset_execution_pass

Runs the crossing 12-meter offset head-on geometry from ownship (-6,-40) and Ben (6,-130) through completion. Passes within 12 wall seconds on the 16-to-20-meter CPA, cn_port=1, cn_fore=0, cn_crossed=0, no-timeout, zero-collision envelope.

head_on_starboard_offset_execution_pass

Mirrors the offset starts to ownship (6,-40) and Ben (-6,-130). Passes within 12 wall seconds on the same 16-to-20-meter CPA and final port/aft/no-crossing envelope with no timeout or collision.

crossing_starboard_giveway_execution_pass

Runs eastbound ownship from (-70,-80) against northbound Ben from (10,-130) through Ben's arrival. Passes within 12 wall seconds when closest range is 18–24 meters, Ben finishes port and aft (1,0), cn_crossed=0, and no timeout or collision occurs.

crossing_starboard_giveway_far_execution_pass

Moves the same crossing starts outward to ownship (-80,-80) and Ben (10,-150). Passes within 13 wall seconds when closest range is 17.7–24 meters with the same port/aft/no-crossing and no-timeout/no-collision outcome.

crossing_starboard_giveway_close_execution_pass

Moves the starts inward to ownship (-60,-80) and Ben (10,-115). Passes within 12 wall seconds when closest range is 18–24 meters with the same port/aft/no-crossing and no-timeout/no-collision outcome.

crossing_port_standon_execution_pass

Runs eastbound ownship from (-70,-80) against southbound Ben from (10,-20) through arrival. Passes within 12 wall seconds when closest range is 14–20 meters, Ben finishes starboard and aft (cn_port=0, cn_fore=0), cn_crossed=0, and no timeout or collision occurs.

crossing_port_standon_unsure_bow_execution_pass

Uses the same geometry as the preceding case but first requires COLREGS_AVOID_IX_BEN=36 (standon:unsure_bow), then passes on the 14–20-meter, starboard/aft/no-crossing completion envelope within 12 wall seconds with no timeout or collision.

crossing_port_standon_stern_execution_pass

Starts southbound Ben farther north at (10,15) and 1.2 m/s. Passes within 16 wall seconds when closest range is 18.9–21 meters, Ben finishes starboard and aft without crossing, and no timeout or collision occurs.

crossing_port_standon_far_execution_pass

Uses the execution-tuned far fixture with ownship (-76,-80) and Ben (10,-12). Passes within 13 wall seconds when closest range is 14–20 meters and the final relationship is starboard/aft with no crossing, timeout, or collision.

crossing_port_standon_close_execution_pass

Uses the closer starts ownship (-60,-80) and Ben (10,-30). Passes within 12 wall seconds on the 14–20-meter, starboard/aft/no-crossing envelope with no timeout or collision.

crossing_port_standon_close_unsure_bow_execution_pass

Uses the close geometry and first requires COLREGS_AVOID_IX_BEN=36 (standon:unsure_bow), then passes on the 14–20-meter, starboard/aft/no-crossing completion envelope within 12 wall seconds with no timeout or collision.

crossing_port_standon_unsure_execution_pass

Uses ownship (-55,-72) and Ben (10,-18), first requires COLREGS_AVOID_IX_BEN=38 (standon:unsure), then passes within 12.1 wall seconds when closest range is 10–13 meters and Ben finishes starboard and aft without crossing, timeout, or collision.

overtaking_starboard_execution_pass

Sends 1.6 m/s ownship from (-90,-80) past 1.0 m/s Ben at (-35,-84). Passes within 12 wall seconds when closest range is 17–21 meters, Ben finishes starboard (cn_port=0), cn_crossed=0, and arrival occurs without timeout or collision; fore/aft state is not graded because accepted completion runs have produced both cn_fore=0 and cn_fore=1.

overtaking_starboard_range_far_execution_pass

Moves ownship back to (-105,-80) while retaining Ben at (-35,-84). Passes within 12 wall seconds when closest range is 20–24 meters and Ben finishes starboard and fore (cn_port=0, cn_fore=1) without crossing, timeout, or collision.

overtaking_starboard_small_gap_execution_pass

Uses the long-range sibling, not the compact case: ownship starts (-105,-80) and Ben (-35,-82) with a two-meter gap. Passes within 12 wall seconds when closest range is 21.7–22.8 meters and Ben finishes starboard/fore without crossing, timeout, or collision.

overtaking_starboard_mirror_execution_pass

Mirrors the compact tracks with ownship at (-90,-84) and Ben at (-35,-80). Passes within 12 wall seconds when closest range is 17–21 meters and Ben finishes port/fore (1,1) without crossing, timeout, or collision.

overtaking_starboard_mirror_range_far_execution_pass

Moves mirrored ownship back to (-105,-84). Passes within 12 wall seconds when closest range is 20–24 meters and Ben finishes port/fore without crossing, timeout, or collision.

overtaking_starboard_mirror_small_gap_execution_pass

Uses long-range ownship at (-105,-81) and Ben at (-35,-80), a one-meter gap. Passes within 12 wall seconds when closest range is 21.8–22.8 meters and Ben finishes port/fore without crossing, timeout, or collision.

overtaking_starboard_mirror_large_gap_execution_pass

Uses long-range ownship at (-105,-88) and Ben at (-35,-80), an eight-meter gap. Passes within 12 wall seconds when closest range is 20.7–22.1 meters and Ben finishes port/fore without crossing, timeout, or collision.

overtaken_port_standon_midrange_execution_pass

Sends 1.6 m/s Ben from (-75,-76) past 1.0 m/s ownship at (-35,-80). Passes within 12 wall seconds when closest range is 17.7–18.4 meters, Ben finishes port/fore without crossing, final mode remains standon_ot:port, and no timeout or collision occurs.

overtaken_starboard_standon_midrange_execution_pass

Sends 1.6 m/s Ben from (-85,-85) past 1.0 m/s ownship at (-35,-80). Passes within 12 wall seconds when closest range is 18.15–18.30 meters, Ben finishes starboard/fore without crossing, final mode remains standon_ot:starboard, and no timeout or collision occurs.

Source links

Harness README Mission README