Ubuntu18.04环境下ROS编译ORB_SLAM2时遇到问题:[rosbuild] rospack found package “ORB_SLAM2” at “”…
1、问题描述:
在执行./build_ros.sh的时候出现的问题如下:
[rosbuild] rospack found package “ORB_SLAM2” at “”, but the current directory is “/home/zhangjian/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2”. You should double-check your ROS_PACKAGE_PATH to ensure that packages are found in the correct precedence order.
2、问题分析
这个问题是ROS路径设置的问题,由于ORBSLAM2中设置了rosbuild_init(),而我们编译文档之前需要先关联工作区间。ORBSLAM2这里提供的这个文档中,并没有我们熟悉的ROS里的package.xml和devel这些文件,直接编译会显示ORBSLAM2路径冲突之类的问题,这个错误提示的是显示的错误表示ROS环境并没有设置正确,下面来解决问题
3、问题解决方法
首先在~/.bashrc上设置了路径(注意这个path是我的路径,读者需要自己修改):
sudo vim ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/zhangjian/catkin_ws/src/ORB_SLAM2/Examples/ROS
source ~/.bashrc
在ROS的安装路径下更改路径:
cd /opt/ros/melodic/
sudo vim setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/zhangjian/catkin_ws/src/ORB_SLAM2/Examples/ROS
source setup.bash
查看路径是否添加成功:
echo $ROS_PACKAGE_PATH
这里是添加成功了的:
然后再次执行./build_ros.sh就不会报这个Error了
最后./build_ros.sh可能会遇到关于make的问题,这里需要做一下修改,找到ORB_SLAM2/Examples/ROS/ORB_SLAM2目录下的CMakelists.txt文件:
然后就应该不会有什么问题了