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