Commit 25cea7e
coverage: skip unreachable waypoints fast (no-progress watchdog)
The reported "semi-stuck at a wall for tens of minutes" was Nav2 grinding on an
unreachable waypoint: the planner repeatedly "Failed to create plan", the
collision-averse backup/spin recoveries aborted ("Collision Ahead") because the
footprint sits in costmap-lethal cells in the wedge, and each goal burned the
full 30 s goal_timeout (minutes of wall time under a slow GUI) before skipping.
Add a no-progress watchdog: while a goal is in flight, if the robot doesn't get
meaningfully closer to it (>5 cm) for no_progress_sec (6 s), it's stuck/blocked —
cancel and skip immediately (one strike, not a retry: a genuinely unreachable
waypoint won't become reachable, and gap-fill revisits later). This short-
circuits Nav2's recovery ladder, which can't help in a wedge anyway. Legitimate
long transits keep making progress, so they're untouched; goal_timeout stays as
a slow absolute backstop for a robot that creeps but never arrives.
Verified: no false skips during normal driving, coverage unaffected. (The exact
tens-of-minutes stall needs an unreachable waypoint to reproduce, which the test
runs didn't hit; the watchdog fires by construction when it recurs.)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent b0ba012 commit 25cea7e
1 file changed
Lines changed: 44 additions & 9 deletions
Lines changed: 44 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
142 | 151 | | |
143 | 152 | | |
144 | 153 | | |
| |||
586 | 595 | | |
587 | 596 | | |
588 | 597 | | |
| 598 | + | |
| 599 | + | |
589 | 600 | | |
590 | 601 | | |
591 | 602 | | |
| |||
815 | 826 | | |
816 | 827 | | |
817 | 828 | | |
818 | | - | |
819 | | - | |
820 | | - | |
821 | | - | |
822 | | - | |
823 | | - | |
824 | | - | |
825 | | - | |
826 | | - | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
827 | 862 | | |
828 | 863 | | |
829 | 864 | | |
| |||
0 commit comments