关于[move_base-2] process has died执行错误的解决方案

在学习ROS By Example volume 1这本书里的8.1.2.2节的导航命令:
roslaunch rbx1_bringup fake_turtlebot.launch
roslaunch rbx1_nav fake_move_base_blank_map.launch
出现如下错误
错误代码:
“Detected jump back in time. Clearing TF buffer.
[move_base-2] process has died”
解决方案:
1、先请参考这两篇博客文章,以及其评论中的内容。做为参考。
http://blog.csdn.net/improve100/article/details/50721004
http://www.guyuehome.com/270
http://blog.csdn.net/hcx25909/article/details/9470297
正式解决方案如下:
2、下载ROS navigation package,先择自己电脑所安装的对应版本到~/catkin_ws/src工

作目录下,如下命令:
cd ~/catkin_ws/src
git clone -b indigo-devel https://github.com/ros-planning/navigation.git
其中 –b indigo-devel 即是相应的版本

3、在catkin_ws目录下编译 navigation 包,如下命令
cd ~/catkin_ws
catkin_make

或者针对性编译move_base包与amcl包,用如下命令
catkin_make -DCATKIN_WHITELIST_PACKAGES="move_base"
catkin_make -DCATKIN_WHITELIST_PACKAGES="amcl"

注意:在编译整个navigation stack的过程中,或是amcl package的过程中出现错误,提

示未找到/nav_msgs/src/SetMap.h文件。这个的解决办法为下载common_msgs stack,

然后先编译nav_msgs包,再进行amcl包的编译,这样能解决些问题。命令如下:
cd ~/catkin_ws
git clone -b indigo-devel https://github.com/ros/common_msgs.git
catkin_make -DCATKIN_WHITELIST_PACKAGES="nav_msgs"
catkin_make -DCATKIN_WHITELIST_PACKAGES="amcl"

4、将相应的catkin_ws/devel/lib/amcl catkin_ws/devel/lib/move_base

catkin_ws/devel/lib/move_base catkin_ws/devel/lib/nav_msgs这些包中编译好的文件替换

掉opt/ros/indigo/lib中相应包的文件,即可。替换是要获得linux root权限。请参考如下

连接:
http://jingyan.baidu.com/article/11c17a2c438f5ef446e39d89.html
然后可用如下命令替换,如move_base包,其它包类似:
cp -f /home//catkin_ws/devel/lib/move_base/move_base

/opt/ros/indigo/lib/move_base/move_base

5、最后删除catkin_ws工作目录中common_msgs与navigation,及其编译的文件。删除

方法:删除catkin_ws/src/目录下的common_msgs与文件夹navigation,以及catkin_ws/

下,除src以外的其它文件夹。然后在catkin_ws目录下重新运行catkin_make进行编译



6、最后再运行 ROS By Example volume 1这本书里的8.1.2.2节里面的命令,以检查错

误是否消除。

roslaunch rbx1_bringup fake_turtlebot.launch
roslaunch rbx1_nav fake_move_base_blank_map.launch


你可能感兴趣的:(ROS)