摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/
move_base更强大的功能是避免障碍追求目标的能力。障碍可以是当前地图(如墙)的静态部分或者他们可以动态出现,如当有人在前面的机器人行走。这个局部计划者可以重新计算机器人的路径到达目的地为了说明这个过程,将加载一个新的地图与一对障碍的方式机器人。我们将再次运行move_base_square.py脚本来看看本地规划可以找到一个路径周围的障碍,和引导机器人的四个目标位置。
1.首先运行turtlebot机器人:
roslaunch rbx1_bringup fake_turtlebot.launch
其次修改参数:
rosparam delete /move_base
此命令清除所有现有的move_base参数不用杀死进程和重启roscore。你也可以使用该参数clear_params =“true”在move_base启动文件来完成同样的事情这是在启动文件fake_move_base_obstacles.launch
2.加载move_base节点出现地图和障碍在靠近中心扥地方。
roslaunch rbx1_nav fake_move_base_map_with_obstacles.launch
3.在rviz视图中查看机器人:
rosrun rviz rviz -d `rospack find rbx1_nav`/nav_obstacles.rviz
4.运行move_base_square.py节点脚本,移动机器人进行避障:
rosrun rbx1_nav move_base_square.py
5.用rqt_graph查看节点框图:
6.fake_move_base_map_with_obstacles.launch文件如下:
<launch> <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen"> <rosparam file="$(find rbx1_nav)/config/fake/costmap_common_params.yaml" command="load" ns="global_costmap" /> <rosparam file="$(find rbx1_nav)/config/fake/costmap_common_params.yaml" command="load" ns="local_costmap" /> <rosparam file="$(find rbx1_nav)/config/fake/local_costmap_params.yaml" command="load" /> <rosparam file="$(find rbx1_nav)/config/fake/global_costmap_params.yaml" command="load" /> <rosparam file="$(find rbx1_nav)/config/fake/base_local_planner_params.yaml" command="load" /> <rosparam file="$(find rbx1_nav)/config/nav_obstacles_params.yaml" command="load" /> </node> </launch>