forked from zbw/yiliao2026
37 lines
1.8 KiB
XML
37 lines
1.8 KiB
XML
<!--
|
||
阿克曼底盘自定义行为树:移除了 Spin(原地旋转),
|
||
恢复行为改为:清除代价地图 → 后退 → 等待
|
||
-->
|
||
<root main_tree_to_execute="MainTree">
|
||
<BehaviorTree ID="MainTree">
|
||
<RecoveryNode number_of_retries="6" name="NavigateRecovery">
|
||
<PipelineSequence name="NavigateWithReplanning">
|
||
<RateController hz="1.0">
|
||
<RecoveryNode number_of_retries="1" name="ComputePathToPose">
|
||
<ComputePathToPose goal="{goal}" path="{path}" planner_id="GridBased"/>
|
||
<ClearEntireCostmap name="ClearGlobalCostmap-Context" service_name="global_costmap/clear_entirely_global_costmap"/>
|
||
</RecoveryNode>
|
||
</RateController>
|
||
<RecoveryNode number_of_retries="1" name="FollowPath">
|
||
<FollowPath path="{path}" controller_id="FollowPath"/>
|
||
<ClearEntireCostmap name="ClearLocalCostmap-Context" service_name="local_costmap/clear_entirely_local_costmap"/>
|
||
</RecoveryNode>
|
||
</PipelineSequence>
|
||
<ReactiveFallback name="RecoveryFallback">
|
||
<GoalUpdated/>
|
||
<RoundRobin name="RecoveryActions">
|
||
<!-- 1. 清除代价地图,去掉短暂障碍 -->
|
||
<Sequence name="ClearingActions">
|
||
<ClearEntireCostmap name="ClearLocalCostmap-Subtree" service_name="local_costmap/clear_entirely_local_costmap"/>
|
||
<ClearEntireCostmap name="ClearGlobalCostmap-Subtree" service_name="global_costmap/clear_entirely_global_costmap"/>
|
||
</Sequence>
|
||
<!-- 2. 快速后退 0.8m,给重新规划留空间(阿克曼无法原地旋转) -->
|
||
<BackUp backup_dist="0.80" backup_speed="0.18"/>
|
||
<!-- 3. 短暂等待 0.3s,让新路径规划完成 -->
|
||
<Wait wait_duration="0.3"/>
|
||
</RoundRobin>
|
||
</ReactiveFallback>
|
||
</RecoveryNode>
|
||
</BehaviorTree>
|
||
</root>
|