Home » PX4与仿真入门教程 » PX4与仿真入门教程-dronedoc-更改 move_base 的本地规划器

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>

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: px4与仿真入门教程