双目立体视觉Jetson Xavier NX 嵌入式设备部署ZED2

Posted Techblog of HaoWANG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双目立体视觉Jetson Xavier NX 嵌入式设备部署ZED2相关的知识,希望对你有一定的参考价值。

基于英伟达NX开发板进行zed2 双目相机的开发环境配置

一、环境配置:


系统:Ubuntu18.04+ROS
CUDA: 10.2

nvcc -V查看CUDA版本:10.2



二、 安装SDK


        因为NVIDIA Jetson Xavier NX 自带CUDA 10.2 版本,所以此处便不再安装CUDA,如果你的系统中没有安装CUDA,请务必自行安装。

下载zed2 sdk
官方地址:https://www.stereolabs.com/developers/release/ ,一定要选择对应版本的SDK

 


安装 sdk

chmod a+x ZED_SDK_Tegra_JP44_v3.5.0.run
./ZED_SDK_Tegra_JP44_v3.5.0.run

一路默认安装即可,安装完成之后进入路径 cd /usr/local/zed/tools ,执行命令: ./ZED_Explorer,可以正常展示,即:SDK可以正常使用。

注:执行命令:./ZED_Depth_Viewer,sdk3.4版本正常运行,sdk3.5版本会报错“Segmentation fault (core dumped)”,但是不影响后面通过ros调用相机。

安装ZED2 ROS工具

cd ~
mkdir -p ZED_WS/src
cd ~/ZED_WS/src
git clone 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
roslaunch zed_wrapper zed2.launch  #通过ros打开相机,可以看到发布的主题内容


如图:


遇到的问题

(1)安装sdk 3.4版本
在安装zed2 sdk3.5版本之前,zed2 官网一直打不开,下载不了sdk包,所以去找朋友要了3.4版本包,安装完了之后,执行 ./ZED_Depth_Viewer 命令是正常运行的。

(2)执行命令:rosdep install --from-paths src --ignore-src -r -y 提示先执行rosdep update, 但是rosdep update一直报错’time out’,解决办法请看上一篇文章:link

(3)catkin_make 编译报错:

/home/bdlf/ZED_WS/src/zed-ros-wrapper/zed_nodelets/src/zed_nodelet/src/zed_wrapper_nodelet.cpp: In member function ‘void zed_nodelets::ZEDWrapperNodelet::readParameters()’:
/home/bdlf/ZED_WS/src/zed-ros-wrapper/zed_nodelets/src/zed_nodelet/src/zed_wrapper_nodelet.cpp:674:35: error: ‘ZED2i’ is not a member of ‘sl::MODEL’
     mZedUserCamModel = sl::MODEL::ZED2i;
                                   ^~~~~
zed-ros-wrapper/zed_nodelets/CMakeFiles/ZEDNodelets.dir/build.make:86: recipe for target 'zed-ros-wrapper/zed_nodelets/CMakeFiles/ZEDNodelets.dir/src/zed_nodelet/src/zed_wrapper_nodelet.cpp.o' failed
make[2]: *** [zed-ros-wrapper/zed_nodelets/CMakeFiles/ZEDNodelets.dir/src/zed_nodelet/src/zed_wrapper_nodelet.cpp.o] Error 1
CMakeFiles/Makefile2:2394: recipe for target 'zed-ros-wrapper/zed_nodelets/CMakeFiles/ZEDNodelets.dir/all' failed
make[1]: *** [zed-ros-wrapper/zed_nodelets/CMakeFiles/ZEDNodelets.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j6 -l6" failed


原因: 这个问题是SDK版本较低,所以需要将sdk 版本升级到3.5,重复安装SDK操作即可。
 

以上是关于双目立体视觉Jetson Xavier NX 嵌入式设备部署ZED2的主要内容,如果未能解决你的问题,请参考以下文章

Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行

Jetson Xavier NX在图像识别与智能诊断中的应用测评

Jetson Xavier NX (15) -- Jetson.GPIO

Jetson Xavier NX (15) -- Jetson.GPIO

开箱啦。带你玩转飞凌FCU3001“魔盒”—基于NVIDIA Jetson Xavier NX

基于Nvidia jetson NX的边缘端人工智能解决方案