ORB SLAM2的配置

硬件:

1、电脑环境:Ubuntu 16.04+ROS-Kinetic-desktop-full

2、笔记本自带的摄像头(其他USB摄像头也可以)

一、创建ROS工作空间

mkdir -p ~/catkin/src
cd catkin
catkin_make

二、下载USB驱动

地址:https://github.com/ros-drivers/usb_cam.git

下载之后解压到src目录

usb_cam是一个独立的package包。编译工作空间:

cd ..
catkin_make

运行结果:

先打开一个终端,运行roscore

另外打开一个终端,运行roslaunch usb_cam usb_cam-test.launch

可以看到,摄像头已经启动了,并将拍摄到的图像显示在屏幕上。

运行一些rosrun rqt_graph rqt_graph看一下节点。

usb_cam节点将摄像头拍摄的图像发布出来了,image_view订阅了消息并显示出来。

三、配置ORB SLAM2

下载ORB SLAM2,网址:https://github.com/raulmur/ORB_SLAM2.git,并将其解压放在src目录下

1、安装依赖项

1)Pangolin

不知道先要安装哪些依赖项?没关系,先直接安装,看报错提示缺什么,就装什么。

cd Pangolin
mkdir build
cd build
cmake ..

这里执行出错了,报错信息如下:

没有找到glew,进行安装

sudo apt-get install libglew-dev

又出错了,报错信息如下:

可以看到,是资源锁不可用,可能是昨天在安装某个东西的时候,还没有安装完成就异常关闭了,输入下面两句命令解决:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

然后重试一下安装glew完成。

继续安装Pangolin

cmake ..
cmake --build .

Pangolin安装完成。

2)安装OpenCV

之前已经安装过了,不知道怎么安装可以参考:https://blog.csdn.net/llfjcmx/article/details/81185992

用pkg-config --modversion opencv可以查看OpenCV的版本

3)安装Eigen3

之前已经安装过了,没有安装过的使用命令sudo apt-get install libeigen3-dev进行安装

4)DBoW2 and g2o

这两个库都已经包含在ThirdParty文件夹中了,不需要单独进行安装。

2、配置ROS_PACKAGE_PATH

sudo gedit ~/.bashrc

打开.bashrc文件,在末尾添加:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS

上面的PATH改成自己对应的目录。

cd catkin_ws/src/ORB_SLAM2
chmod +x ./build_ros.sh
./build_ros.sh

完成。

3、运行测试(注意要source环境变量)

终端1:

roscore

终端2:

roslaunch usb_cam usb_cam-test.launch

终端3:

rosrun ORB_SLAM2 Mono /home/llf/data/ROS_Project/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/llf/data/ROS_Project/catkin_ws/src/ORB_SLAM2/Examples/Monocular/TUM1.yaml

猜你喜欢

转载自blog.csdn.net/llfjcmx/article/details/82940612