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

大功告成!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值