ZED相机+ubuntu16.04运行ORBSLAM2双目

本文提供了一套详细的指南,用于在Ubuntu 16.04上安装配置ZED相机与ORBSLAM2,包括环境搭建、依赖安装、编译过程及ROS节点设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看到许多小伙伴利用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
 
  • 1

因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。
使用:

sudo gedit /etc/profile
 
  • 1

打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
 
  • 1
  • 2

重启电脑:

sudo reboot
 
  • 1

3、测试cuda的Samples

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
 
  • 1
  • 2
  • 3

如果显示的是一些关于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

大功告成

### ZED 双目相机标定在 Ubuntu 18.04 上的操作指南 为了成功完成 ZED 双目相机的标定工作,在 Ubuntu 18.04 环境下可以遵循以下方法: #### 安装依赖项 首先,确保系统已安装必要的软件包。可以通过脚本自动安装所需依赖项来简化过程: ```bash sudo wget -qO- https://cdn.jsdelivr.net/gh/OAKChina/depthai-docs-website@develop/source/_static/install_dependencies.sh | bash ``` 此命令会下载并执行一个 Shell 脚本来安装所需的依赖环境[^2]。 #### 配置 ROS 和 OpenCV 版本兼容性 如果遇到 `process has died` 的错误提示,可能是因为系统中的 OpenCV 版本与 ROS 下使用的版本存在冲突。例如,系统自带的 OpenCV 4.5.4 和 ROS 中默认集成的 OpenCV 4.2.0 不兼容可能导致此类问题[^3]。解决办法如下: 1. **指定编译选项** 在构建项目时强制链接到特定版本的 OpenCV 库。可以在 CMakeLists.txt 文件中添加以下配置: ```cmake find_package(OpenCV REQUIRED PATHS /usr/local/share/OpenCV NO_DEFAULT_PATH) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(your_target_name ${OpenCV_LIBRARIES}) ``` 2. **重新编译 ROS 工作空间** 清理之前的构建缓存并重新编译整个 ROS 工作区: ```bash catkin clean --all catkin_make source devel/setup.bash ``` #### 执行标定流程 对于 ZED 相机的具体标定操作,推荐使用官方提供的工具 Kalibr 或者自定义实现校准逻辑。以下是基于 Kalibr 的具体步骤: 1. **准备棋盘格图案** 制作用于标定的标准黑白相间的棋盘格图像,并记录其尺寸参数(如每边方块数量和实际大小)。 2. **采集数据集** 启动 ZED 相机节点捕获一系列包含不同角度视图的数据帧序列。 ```bash roslaunch zed_wrapper zed.launch rosrun image_view stereo_image_viewer image:=/zed/left/image_rect_color ``` 3. **运行 Kalibr 进行标定** 将收集好的图片文件夹路径传递给 Kalibr 命令行工具进行处理分析。 ```bash kalibr_calibrate_cameras --target targets.yaml --bag data.bag ``` 通过上述指导可顺利完成 ZED 双目相机Ubuntu 18.04 平台上的标定任务[^1]。 ---
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值