源码安装naviagtion,但是出现[move_base-2] process has died 运行错误的解决办法

今天开始记录ros遇到的问题

 

安装navigation可以使用两种方法

第一种:sudo apt-get install ros-kinetic-navigation

这种安装方法最简单,新手或者不需要动naviagtion包的内容的话最好使用这种方法安装,注意indigo或者kinetic版本

第二种:使用源码安装navigation

https://blog.csdn.net/qq_33662195/article/details/85110154

这种安装完成之后,我发现会出现错误

/home/meihong/ros/devel/lib/move_base/move_base: symbol lookup error: /opt/ros/kinetic/lib//libteb_local_planner.so: undefined symbol: _ZNK10costmap_2d12Costmap2DROS12getRobotPoseERN2tf7StampedINS1_9TransformEEE
[move_base-2] process has died [pid 1352, exit code 127, cmd /home/meihong/ros/devel/lib/move_base/move_base __name:=move_base __log:=/home/meihong/.ros/log/00456186-55d3-11e9-ba06-1c4d70e0a209/move_base-2.log].
log file: /home/meihong/.ros/log/00456186-55d3-11e9-ba06-1c4d70e0a209/move_base-2*.log
[move_base-2] restarting process

 

古月大神说是因为版本不同,因为我们直接下载navigation,但是分为很多版本。下面是步骤:

1.进入

https://github.com/ros-planning/navigation

选择kinetic版本,下载解压

2.将其放入catkin_wa/src中,再对其进行编译

3.如果编译过程中遇到依赖错误,则是因为有些依赖没有安装,这时不用一个一个的安装,直接sudo apt-get install ros-kinetic-navigation*,这样就连依赖一起安装了。

4.重新编译

catkin_make

5.

sudo apt-get remove ros-kinetic-navigation ros-kinetic-navigation-experimental

移除我们安装的navigation,这样就只剩下我们工作空间的navigation可以用啦。

注意:如果是很多文件,建议设定两个工作空间,一个存放测试代码,一个存放navigation,因为navigation编译需要很多时间,如果经常重新编译太麻烦了。

 

你可能感兴趣的:(ros)