navigation2 failed with no recovery behaviours
Hi
I deploy navigation2 to a differiential vehicle, and I encounter a strange problem. Every time when I give a goal from rviz2, the vehicle will reach the goal, but sometimes the navigator will give a successful result, but most of the time the navigator will promt the following error without any recovery behaviours, though I configured recovery behaviours. and there is no obstacle around the vehicle when this error occurs.
[dwb_controller-5] [INFO] [dwb_controller]: Preempting the goal. Passing the new path to the planner.
[dwb_controller-5] [ERROR] [dwb_controller]: Failed to make progress
[dwb_controller-5] [INFO] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[world_model-4] [INFO] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[bt_navigator-8] [ERROR] [bt_navigator]: Navigation failed
[world_model-4] [INFO] [global_costmap.global_costmap]: Subscribing to the map topic (/map) with transient local durability
Following is my behaviour tree configure:
<root main_tree_to_execute="MainTree">
<BehaviorTree ID="MainTree">
<RecoveryNode number_of_retries="6">
<Sequence name="NavigatorWithReplanning">
<RateController hz="1.0">
<Fallback>
<GoalReached/>
<ComputePathToPose goal="${goal}" path="${path}"/>
</Fallback>
</RateController>
<FollowPath path="${path}"/>
</Sequence>
<SequenceStar name="RecoveryActions">
<ClearEntireCostmap service_name="/local_costmap/clear_entirely_local_costmap"/>
<ClearEntireCostmap service_name="/global_costmap/clear_entirely_global_costmap"/>
<Spin spin_dist="1.57"/>
</SequenceStar>
</RecoveryNode>
</BehaviorTree>
</root>
I don't know where the problem is, because when I use simulation with gazebo with the same navigation parameters, there is no such errors. The main difference is that simulation is within one machine, and the real vehilce is within 2 machines. Hope anyone familiar with this could help me out. Thank in advance.