關於[move_base-2] process has died執行錯誤的解決方案
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/<username>/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