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
Authored-By: Claude Code Agent
Model: Claude Opus 4.7 (1M context)
Summary
Enable S57 grid precompute on ben by setting
robot_base_frame: ben/base_linkandprecompute_radius: 5000.0on/**/s57_gridsinconfig/ben.yaml. Once the boat's pose first becomes available via TF,s57_grids_nodequeues all charts within 5 km forstd::asyncprocessing — by the time the costmap layer's firstget_datasetsrequest 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_frameandprecompute_radiusparameters. This PR has no effect (and no harm) before that lands; the parameters are silently ignored.Test plan
Precompute: queued 10 of 10 charts within 5000 m of (43.0734, -70.7106).Precompute enabledandPrecompute: queued N of M chartslog lines froms57_grids_nodeshortly after activation.Authored-By:
Claude Code AgentModel:
Claude Opus 4.7 (1M context)