欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-15 18:45:25
...

今天开始记录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.重新编译成功,

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

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

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