Skip to content

s57_layer: why is the Little Harbour bridge marked LETHAL on the costmap? (overhead vs restricted vs elevation) #25

Description

@rolker

Summary

During the BizzyBoat 2026-06-03 deployment (rolker/unh_echoboats_project11#211), the operator observed the Little Harbour bridge appear impassible on the costmap from a chart feature (the s57_layer) — before camera segmentation also marked it — so the boat could not autonomously transit under the span. Determine which s57_layer lethal path is responsible and whether it's intended for an overhead-passable bridge.

Current behavior (code)

src/s57_layer.cpp get_cost_from_grid (~L498–525) marks a cell LETHAL_OBSTACLE via three paths — there is no blanket "bridge ⇒ lethal" rule:

  1. restricted layer present → lethal.
  2. overhead clearance < overhead_clearance_ → lethal. (overhead_clearance_ default 10.0 m in s57_layer.h; configured 2.0 m in seafloor nav2_params.base.yaml:124,175.)
  3. elevation > 0.0 (LNDARE/COALNE/CAUSWY/… rasterized as elevation 1.0) → lethal; or charted depth < minimum_depth_.

So the bridge cells must be triggering one of these.

Investigate

  • At the bridge location (approach along ~lat 43.056, linger ~43.0559, −70.7224; pull exact from the #211 bag) inspect the S57 restricted / overhead / elevation grids to find which path marks the span lethal.
  • If overhead < 2.0 m: is the bridge's charted vertical clearance (VERCLR) genuinely < 2.0 m, or is the overhead grid value wrong/missing? Note BizzyBoat air draft ≈ 1.32 m — a span charted between ~1.32 m and 2.0 m would be physically passable but marked lethal, i.e. the 2.0 m threshold may be conservative.
  • If elevation > 0 (abutments/causeway as land): is the navigable channel between abutments wide enough to stay free, or does costmap inflation close it?
  • Decide whether a deliberately-passable overhead span should be navigable for this USV, and if so how the layer should express it (clearance vs air draft).

Context


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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions