ZED相机+ubuntu16.04运行ORBSLAM2双目
最近看到一篇不错的ORBSLAM2+ZED的配置教程文档,转载和大家分享:https://blog.csdn.net/sinat_38343378/article/details/79153834(感谢原作者)
最近看到许多小伙伴利用zed相机做slam研究,遇到各种问题,由于之前运行过ORBSLAM2,所以出个教程,希望对大家有个参考,如有不足,还请批评指正。
运行环境ubuntu16.04
Opencv3.1
ROS kinetic
ZED SDK 2.0
Cuda8.0
1.NIvida驱动的安装
对于ubuntu16.04不用那么麻烦的去下载驱动等等,可直接在
设置–》软件与更新–》附加驱动中
安装完之后重启即可
2、安装CUDA
cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda8.0的安装文件
注意这里下载的是cuda8.0的runfile(local)文件。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅)
下载完cuda8.0后,执行如下语句,运行runfile文件:
sudo sh cuda_8.0.27_linux.run
- 驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。
使用:
sudo gedit /etc/profile
打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
重启电脑:
sudo reboot
3、测试cuda的Samples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果显示的是一些关于GPU的信息,则说明安装成功了。
4.安装opencv3.1.0
opencv3.1.0是ZED SDK官方制定安装包,要注意在cuda环境下需要改一些东西才能顺利安装通过,具体看自己报什么错Google吧,解决bug也是程序员的一个基本能力, 由于版本问题,在cmake OpenCV 3.1时可能会遇到ippcv_linux下载不正确的问题,解决方法是在网上自行重新下载ippicv_linux包,并将其重新放入 opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e 目录中并重新编译。
关于OpenCV 3.1的更多详细内容请参考官网:http://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html
5.安装ZED SDK
这个没什么说的,直接去赶往下载对应版本的SDK即可
6.编译ORBSLAM2
ORBSLAM2所需库为
1.opencv
2.EIGEN
3.pangolin
4.g2o
5.DBOW
6.1安装pangolin
点击这里安装pogolin即可
如果以上步骤有出现任何错误,请根据官方文档确认所有依赖项以正确安装
6.2安装EIGEN
sudo apt-get install libeigen3-dev
6.3编译ORBSLAM2
由于g2o与DBOW已经集成在ORBSLAM2的第三方库中,我们秩序对ORBSLAM2进行编译即可
cd catkin_ws/src //进入工作空间,因人而异
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
This will create libORB_SLAM2.so at lib folder and the executables mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc and stereo_euroc in Examples folder
编译ROS节点
gedit ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS//添加运行环境
添加路径后请通过该命令查看是否添加成功:
echo $ROS_PACKAGE_PATH
确认添加成功后进入ORB-SLAM2目录执行:
chmod +x build_ros.sh
./build_ros.sh
7.ZED ROS Wrapper 安装
cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
catkin_make
source ./devel/setup.bash
具体参考这里
8.更改ROS节点
ORB-SLAM2 ROS相关的Topic名称在路径ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/中的相关文件中
选择你所想要更改的文件,并将其内容更改为如下所示:
message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/zed/left/image_raw_color", 1);
message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "/zed/right/image_raw_color", 1);
重新编译即可
8利用ZED运行ORBSLAM2
roscore
rosrun ORB_SLAM2 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true
roslaunch zed_wrapper display.launch
大功告成!!!
上一篇: 带你3分钟了解Node.JS
下一篇: php 中英文混合字符串截取