1
0
forked from zbw/yiliao2026

add:在基础地图上实现了实时避障以及实现了比较灵活的后撤,从而实现掉头

This commit is contained in:
陌欢醉
2026-06-04 22:42:10 +08:00
parent 5c746829db
commit f95b087143
3 changed files with 112 additions and 84 deletions

View File

@@ -0,0 +1,36 @@
<!--
阿克曼底盘自定义行为树:移除了 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.5m,给重新规划留空间(阿克曼无法原地旋转) -->
<BackUp backup_dist="0.50" backup_speed="0.05"/>
<!-- 3. 等待 1s让动态障碍物离开 -->
<Wait wait_duration="1"/>
</RoundRobin>
</ReactiveFallback>
</RecoveryNode>
</BehaviorTree>
</root>