Ubuntu18.04 拯救者R9-7945HX 4060 配置ZED 2i代双目相机驱动+ORBSLAM2

AMD的拯救者网卡很拉,研究了很久除了换网卡可以解决网络问题,其它没找到合适的办法,这里我用手机USB共享网络的方式勉强上网,这里不得不说华为的信号桥很好用。

之前在1050ti的电脑上布置过,很顺利,这个新电脑由于显卡太新,驱动以及CUDA SDK匹配的问题,安装时出了些许错误,下面给出我的安装策略

当然中间会出现的错误我会通过不断修改的方式补足完整,供各位参考,谢谢!

A.NVIDIA 驱动版本 (我选择的530)


要确认已经安装了显卡驱动才能使用显卡,有些电脑可能已经安装了显卡驱动,笔者建议无论安装与否都可以更新下驱动,因为对应型号的显卡驱动一直在更新。

安装后重启电脑,在终端输入如下指令可以查看电脑显卡驱动信息

nvidia-smi


通过这张图我们可以看到CUDA最高的安装版本为12.1

B.CUDA 版本 (我选择的是11.0)

https://developer.nvidia.cn/cuda-toolkit-archive

wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
sudo sh cuda_11.0.3_450.51.06_linux.run

C.SDK 版本 (我选择的是3.56)

SDK下载
下载的ZED SDK名称为ZED_SDK_Ubuntu18_cuda11.4_v3.6.1.run,说明适配的是cuda11.4
这里一定要注意CUDA与SDK的版本号对应

chmod +x ZED_SDK_Ubuntu18_cuda11.0_vxxx.run
./ZED_SDK_Ubuntu18_cuda11.0_vxxx.run

安装后测试

cd /usr/local/zed/tools
./ZED_Depth_Viewer

D.ZED ROS Wrapper安装

第一步:下载并放置在ROS工作空间

cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-wrapper
cd ~/catkin_ws
catkin_make zed-ros-wrapper
source ./devel/setup.bash

E.ORB_SLAM2安装

详情见我的文章https://zhangyuanbo.blog.csdn.net/article/details/127829627

F.使用ROB_SLAM2+ZED

仿照/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src目录下的ros_stereo.cc建立一个新文件,如zed_stereo_rect.cc 将代码复制过去,修改以下部分:

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

此处选取了ZED的两个数据流。
然后修改CmakeLists.txt,仿照加入:

    # Node for ZED camera
    rosbuild_add_executable(zed_Stereo_rect
    src/zed_stereo_rect.cc
    )

    target_link_libraries(zed_Stereo_rect
    ${LIBS}
    )

然后在ORB_SLAM2的根目录下重新编译:

./build_ros.sh

会新生成一个可执行文件 zed_Stereo_rect
然后

cd ~/catkin_ws
source ./devel/setup.bash
roscore

//另开一个命令行
cd ~/catkin_ws
source ./devel/setup.bash
roslaunch zed_wrapper zed.launch

//另开一个命令行
cd ~/catkin_ws/src/ORB_SLAM2
rosrun ORB_SLAM2 zed_Stereo_rect Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml false