/*--致谢给予帮助的师兄和师弟师妹--*/
/*--转载请提前取得授权--*/
理论总体流程:查看ZED ros驱动包版本及其适配的ZED SDK、cuda版本-->>查找对应cuda版本并下载-->>安装cuda及显卡驱动-->>安装ZED SDK-->>编译运行ZED ros驱动。
ZED ros驱动包参考链接:https://github.com/stereolabs/zed-ros-wrapper
实际总体流程:因为实际操作过程中提前安装了显卡驱动,于是实际总体流程与上述流程有所差异。
系统环境为ubuntu18.04、RTX3060,输入以下命令安装显卡驱动。
ubuntu-drivers devices ----查看当前可以安装的显卡驱动,其中recommand推荐
sudo ubuntu-drivers autoinstall ----安装推荐版本显卡驱动
nvidia-smi ----查看当前驱动是否安装成功,如下图,其中第二行最右侧的CUDA VERSION:11.5为适配CUDA的最高版本。(ZED的ros驱动需要安装的cuda版本为cuda11.4,即该显卡驱动支持cuda)
参考链接:Ubuntu 18.04 安装 NVIDIA 显卡驱动 - 知乎
这里下载的ZED ros驱动链接为:
GitHub - stereolabs/zed-ros-wrapper: ROS wrapper for the ZED SDK
其使用版本及其要求如下:
这里可以先点开ZED SDK,链接为:Developer Center | Stereolabs
如上图,点击SDK DOWNCODA跳转到下图所示界面,这里选择了较新的版本,选择了CUDA 11.X(11.0*-11.4)下面的ZED SDK for Ubuntu18 3.6.1,满足ZED SDK≥3.5的要求
下载的ZED SDK名称为ZED_SDK_Ubuntu18_cuda11.4_v3.6.1.run,说明适配的是cuda11.4。
进入NVIDIA DEVELOPER主页的下载页面,之后下拉再进入CUDA TOOlkit。
Developer Downloads | NVIDIA Developer -----主页
CUDA 工具包 | NVIDIA Developer
点击立即下载,逐步选择电脑配置,结果如下图所示。
找不到对应版本可以下拉到 Resource下面第一行右侧,查找对应版本即可
安装cuda,到达cuda下载目录,打开终端输入:
sudo sh cuda_11.4.0_470.42.01_linux.run -----此时可能table补不齐,输入即可。
提示,如下,这是因为提前已经安装了nvidia 显卡driver,而cuda安装包里面自带一个cuda版本,这没有关系。因为第1步安装的显卡驱动最高适配到cuda11.5,而这个cuda安装包是cuda 11.4,只需要在接下来的安装中不装nvidia driver即可。
Existing package manager installation of the driver found. It is strongly recommended that you remove this before continuing.
Abort
Continue
依次选择Continue、accept
之后当光标到达Nvidia Driver驱动处是,键盘按“Enter”取消选择,之后移动光标到达Install进行安装;之后我选择了默认安装,为了记录安装目录,我将安装过程全部copy出来到文档里了,方便后期查找。
查看cuda是否安装成功的参考链接如下,这里我用ZED驱动测试了,没有采用:
Ubuntu如何查看计算机安装好Cuda_Steven_ycs的博客-CSDN博客_ubuntu查看cuda安装路径
安装完后可以适当重启电脑
到达下载目录,输入:
sh ZED_SDK_Ubuntu18_cuda11.4_v3.6.1.run
注意不要加sudo,此外,安装过程中会下载部分文件,需要保持网路的畅通
安装完后可以重启电脑
把下载的zed-ros-wrapper放到ZED_ws/src/目录下,如下图
同时到下面的链接,下载zed-ros-interfaces包,也放到ZED_ws/src/zed-ros-interfaces目录下。(我这里面没有zed-ros-interfaces这个包,如果有就不用下载了)
GitHub - stereolabs/zed-ros-interfaces
之后回到ZED_ws目录下,打开终端,输入以下命令,参考ZED_ws/src/zed-ros-interface目录下的readme文件:
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash
roslaunch zed_wrapper zed.launch serial_number:=1010 #replace 1010 with the actual SN
我这里成功了,效果如下,可以发送很多话题,有image、stereo image、odom等很多话题
stereo image
运行效果
自带roslaunch启动的节点
odom