安装,nvdia驱动,uda11.6.2,zed相机SDK,ORB-SLAM2使用zed2运行双目

本文详细介绍了在Ubuntu系统中如何安装英伟达驱动,包括CUDA11.6.2版本的下载与配置,以及ZED相机的SDK安装。接着,文章讲解了zed-ros-wrapper的克隆与编译过程,解决了cv_bridge与OpenCV版本冲突的问题。最后,成功运行ORB-SLAM2的双目视觉定位系统,并提供了快速启动脚本。

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

安装英伟达驱动

时间4月6号
参考
https://blog.csdn.net/m0_73860872/article/details/127276979安装英伟达驱动

lspci | grep -i nvidia
nvidia-smi

在这里插入图片描述cuda的最大支持版本为12.0

安装CUDA

在https://developer.nvidia.com/cuda-toolkit-archive找到你需要的cuda版本
我选的
https://developer.nvidia.com/cuda-11-6-2-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

在这里插入图片描述
运行指令

wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run
sudo gedit ~/.bashrc

末尾添加

export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
nvcc -V

在这里插入图片描述

安装ZDE相机SDK

https://www.stereolabs.com/developers/
在这里插入图片描述

安装zed-ros-wrapper

参考
https://blog.csdn.net/m0_62114628/article/details/123510696

cd ~/catkin_ws/src
git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash

没有做这一步安装zed-ros-interfaces,因为zed-ros-wrapper里面有zed-ros-interfaces

安装zed-ros-examples

参考https://blog.csdn.net/m0_62114628/article/details/123510696

修改ros_stereo.cc

https://blog.csdn.net/m0_62114628/article/details/123452584
修改~/orb_slam/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src下的ros_stereo.cc的内容,把相应话题修改成如下内容:

message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/zed/zed_node/left/image_rect_color", 1); 
message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "/zed/zed_node/right/image_rect_color", 1);

编译./build_ros.sh报错

可以直接github找Windfish_ORB_SLAM2编译这个源码好像就不会报错
或者
这里是由于noetic的cv_bridge是opencv 4.2版本的,而我安装的是 opencv 3.4.16,所以就显示conflict
在这里插入图片描述111
参考这个编译opencv3.4.16版本的cv_bridge,但是里面该cmakelist.txt的方法无效
https://zhuanlan.zhihu.com/p/392939687
以上链接有用部分是下载noetic版本的cv_bridge 并且编译安装。

222
参考这个链接的最后部分,修改系统默认链接的cv_bridge版本
https://blog.csdn.net/qq_18276949/article/details/114820705#t9
以上链接有用部分只有.bashrc中添加 环境变量

# 因为ros中的cv_bridge 是opecv4版本,与我安装的opencv3 版本冲突,所以编译了opencv3版本的cv_bridege,并且在这里source了
source ~/cmake_lib/vision_opencv-noetic/cv_bridge/build/devel/setup.bash

做完这两步就可以

./build_ros.sh

使用zed2双目摄像头运行ORB-SLAM2

cd orb_slam/src/ORB_SLAM2
chmod +x build_ros.sh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/baidunetdisk/ORB_SLAM2/Examples/ROS
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/baidunetdisk/Windfish_ORB_SLAM2/ORB_SLAM2/Examples/ROS
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/baidunetdisk/ORB_SLAM2_detailed_comments-master/Examples/ROS
./build_ros.sh

快速运行脚本

#!/bin/bash
 
source ~/catkin_ws/devel/setup.bash
 
{
gnome-terminal -x bash -c "roscore;exec bash"
}&
 
sleep 1s
{
gnome-terminal -x bash -c "roslaunch zed_wrapper zed.launch "
}&
 
sleep 1s
{
gnome-terminal -x bash -c "cd baidunetdisk/Windfish_ORB_SLAM2/ORB_SLAM2/
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/baidunetdisk/Windfish_ORB_SLAM2/ORB_SLAM2/Examples/ROS
rosrun ORB_SLAM2 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml false "
}

运行效果图:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值