Skip to content

Enable S57 grid precompute (set robot_base_frame on s57_grids) #22

Description

@rolker

Summary

Enable S57 grid precompute on ben by setting robot_base_frame: ben/base_link and precompute_radius: 5000.0 on /**/s57_grids in config/ben.yaml. Once the boat's pose first becomes available via TF, s57_grids_node queues all charts within 5 km for std::async processing — by the time the costmap layer's first get_datasets request fires, grids are either already cached or close to ready.

Why

Cold-cache analysis on the deadpool sim (2026-04-21T22:03:55) showed first successful plan at t=44 s after sim start, dominated by the chart-load wait. Verification on 2026-04-22 with precompute enabled confirmed it queues 10 charts ~0.6 s after node activation (vs the costmap-driven baseline of 8 charts arriving 11–26 s after sim start).

Same fix applies to field operations — first plan after a boat reboot will not block on chart loads if the boat is at the dock when nav stack activates.

Requires

rolker/s57_tools#19 / PR #20 — adds the robot_base_frame and precompute_radius parameters. This PR has no effect (and no harm) before that lands; the parameters are silently ignored.

Test plan

  • yaml-only change, no build needed.
  • Verified end-to-end on deadpool sim 2026-04-22 with the same parameter values (via install-only override): Precompute: queued 10 of 10 charts within 5000 m of (43.0734, -70.7106).
  • Field validation: confirm next ben outing shows Precompute enabled and Precompute: queued N of M charts log lines from s57_grids_node shortly after activation.

Authored-By: Claude Code Agent
Model: Claude Opus 4.7 (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