PX4与仿真入门教程-dronedoc-更改 move_base 的本地规划器
PX4与仿真入门教程-dronedoc-更改 move_base 的本地规划器
说明:
- 介绍如何更改 move_base 的本地规划器。
- move_base 的本地规划器默认使用 Trajectory Rollout。
- 其他选项包括 Dynamic Window Approach、 Elastic Band 、 Timed Elastic Band。
Dynamic Window Approach
- 动态窗口方法 (DWA) 可通过将 base_local_planner 包中的 dwa 参数设置为 true 来使用。
Elastic Band
- 安装 eband_local_planner
sudo apt install ros-kinetic-eband-local-planner
- 创建配置文件
- 将以下配置文件的内容保存为 config 下的 eband_local_planner_params.yaml。
- eband_local_planner 参数列表可以在 eband_local_planner ROS Wiki 页面上找到。
- eband_local_planner_params.yaml内容如下:
EBandPlannerROS:
# Goal
xy_goal_torelance: 0.5
# Trajectory
max_vel_lin: 0.2
max_vel_th: 1.0
min_vel_lin: -0.2
min_vel_th: -1.0
- 更改 move_base 的参数
- 设置 move_base 以使用 EBandLocalPlannerROS。
- 复制 navigation.launch 并创建一个新的 eband_navigation.launch。
- 如下更改
标记的内部。 - eband_navigation.launch内容如下:
<node pkg="move_base" type="move_base" name="move_base">
<param name="base_local_planner" value="eband_local_planner/EBandPlannerROS" />
...
<rosparam command="load" file="$(find px4_sim_pkg)/config/eband_local_planner_params.yaml"/>
...
</node>
Timed Elastic Band
- 安装 teb_local_planner
sudo apt install ros-kinetic-teb-local-planner
- 创建配置文件
- 将以下配置文件的内容保存为 config 下的 teb_local_planner_params.yaml。
- 可以在 teb_local_planner ROS Wiki 页面上找到 teb_local_planner 参数列表。
- teb_local_planner_params.yaml内容如下:
TebLocalPlannerROS:
odom_topic: odom
map_frame: /odom
# Trajectory
teb_autosize: True
dt_ref: 0.2
dt_hysteresis: 0.1
global_plan_overwrite_orientation: True
max_global_plan_lookahead_dist: 3.0
feasibility_check_no_poses: 5
# Robot
max_vel_x: 0.2
max_vel_x_backwards: 0.2
max_vel_y: 0.2
max_vel_theta: 1.0
acc_lim_x: 2.5
acc_lim_y: 2.5
acc_lim_theta: 3.2
footprint_model:
type: "polygon"
vertices: [[0.2, 0.2], [0.2, -0.2], [-0.2, -0.2], [-0.2, 0.2]]
# GoalTolerance
xy_goal_tolerance: 0.5
- 更改 move_base 的参数
- 设置 move_base 以使用 TebLocalPlannerROS。 复制 navigation.launch 并创建一个新的 teb_navigation.launch。
- 如下更改
标记的内部。 - teb_navigation.launch内容如下:
<node pkg="move_base" type="move_base" name="move_base">
<param name="base_local_planner" value="teb_local_planner/TebLocalPlannerROS" />
...
<rosparam command="load" file="$(find px4_sim_pkg)/config/teb_local_planner_params.yaml"/>
...
</node>
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号