在笔记本上安装CUDA8 & ZED Stereo Camera

本文详细介绍了如何在Ubuntu16系统上为ZED双目摄像头安装必要的软件环境,包括CUDA8、OpenCV3.1及ZED SDK。特别说明了安装过程中遇到的问题及解决方法。

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

ZED双目摄像头其实买到手的只是2个摄像头硬件,需要配合GPU才能运行使用SDK,记经过多次失败,成功在笔记本上运行了ZED的Demo。官方的安装步骤如下:

  • Make sure the latest USB 3.0 drivers are installed.
  • Install CUDA 8 and latest NVIDIA drivers.
  • [Linux] Compile and install OpenCV 3.1, more information here.
  • Run the ZED SDK setup tool to install the ZED driver, tools and samples.

    比较麻烦的是CUDA8的安装,另外在wiki上有详细的版本要求,支持Ubuntu16和CUDA8也是最近才有的事。

    1. 安装CUDA8

    目标系统是Ubuntu16-64bit,经过多次尝试,只有deb安装方式可行,其他的方式没有成功过。注意:最好是新系统安装,如果以前安装过NIVIDA笔记本显卡的驱动就要先卸载,安装CUDA时会自动安装相应的驱动,更方便可靠。首先是下载相应的deb文件,然后是参考安装手册安装deb文件:

    第一步命令补全自己下载的deb文件名称,第三步添加路径时可以在home文件夹隐藏文件.bashrc中添加下列语句(“Ctrl+H可以显示隐藏文件”),直接修改即可,需要在文件最后添加的语句,然后重启一下

    <span style="font-size:14px;">$ export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    $ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\{LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}</span>

    之后就是按照第4步编译一个例子,看能不能运行,如果可以,表示CUDA的环境安装好了。


    2. 安装OpenCV3.1

    OpenCV官网下载源码,一定要是opencv3.1的,先修改源码的一个BUG:opencv3中有个模块在CUDA8.0中被抛弃了,编译会不通过,下载源码后,需要在opencv / modules / cudalegacy / src / graphcuts.cpp 中修改:(也就是在红色部分添加 || (CUDART_VERSION >=8000)    

    编译方法:

    先更新系统,安装依赖项:

    <span style="font-size:14px;">sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential 
    sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    </span>

    然后解压下载的opencv文件,进入目录后编译并安装:

    <span style="font-size:14px;">cmake .
    sudo make -j4
    sudo make install
    </span>

    最后是构建路径:

    <span style="font-size:14px;">sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'  
    sudo ldconfig</span>

    编译opencv自带的samples:

    <span style="font-size:14px;">cd  xxxxxxxxx(你的opencv文件目录)/samples/
    sudo cmake .
    sudo make -j4
    </span>


    使用人脸检测测试一下安装的opencv,进入上述samples文件夹下的cpp文件夹:

    <span style="font-size:14px;">cd xxxxxxxxx/cpp/
    ./cpp-example-facedetect faces.jpg</span>

    成功安装,opencv!


    3. 安装ZED driver

    这部分很简单,下载对应的SDK,安装即可。ROS里面有ZED的wrapper:https://github.com/stereolabs/zed-ros-wrapper,安装方法见:http://wiki.ros.org/zed-ros-wrapper

    需要注意的是:安装包文件件的名字必须与节点一致(比如文件名字改成zed_wrapper),launch文件的参数列表如下:

    ParameterDescriptionValue
    svo_fileSVO filenamepath to an SVO file
    resolutionZED Camera resolution'0': HD2K
    __'1': HD1080
    __'2': HD720
    __'3': VGA
    qualityDisparity Map quality'0': NONE
    __'1': PERFORMANCE
    __'2': MEDIUM
    __'3': QUALITY
    sensing_modeDepth sensing mode'0': FILL
    __'1': STANDARD
    openni_depth_modeConvert depth to 16bit in millimeters'0': 32bit float meters
    __'1': 16bit uchar millimeters
    zed_idZED Camera ID, ignore if SVO file givenint, default '0'
    gpu_idGPU device ID, define which CUDA device will handle the computationint, default '-1' (best device found)
    frame_rateRate at which images are publishedint
    rgb_topicTopic to which rgb==default==left images are publishedstring
    rgb_cam_info_topicTopic to which rgb==default==left camera info are publishedstring
    rgb_frame_idID specified in the rgb==default==left image message headerstring
    left_topicTopic to which left images are publishedstring
    left_cam_info_topicTopic to which left camera info are publishedstring
    left_frame_idID specified in the left image message headerstring
    right_topicTopic to which right images are publishedstring
    right_cam_info_topicTopic to which right camera info are publishedstring
    right_frame_idID specified in the right image message headerstring
    depth_topicTopic to which depth map images are publishedstring
    depth_cam_info_topicTopic to which depth camera info are publishedstring
    depth_frame_idID specified in the depth image message headerstring
    point_cloud_topicTopic to which point clouds are publishedstring
    cloud_frame_idID specified in the point cloud message headerstring
    odometry_topicTopic to which odometry is publishedstring
    odometry_frame_idID specified in the odometry message headerstring
    odometry_transform_frame_idName of the transformation following the odometrystring

    最后一个ZED深度图效果图:

    
&lt;think&gt;嗯,用户想了解ZED相机在NVIDIA Jetson平台上的设置和使用方法。首先,我需要确定ZED相机和Jetson的兼容性。ZED相机支持Jetson Nano、TX2、Xavier和Orin系列,这点我记得没错。用户可能使用的是Jetson Nano,所以需要先确认系统版本,比如JetPack的版本是否满足要求。然后安装ZED SDK,可能需要从官网下载对应版本,或者使用SDK Manager。安装完成后,用户可能需要测试摄像头,使用ZED Explorer工具查看实时画面。 接下来是使用部分,用户可能需要用Python或C++进行开发。Python的话,需要安装PyZED包,示例代码可能包括初始化相机、获取图像和深度信息。C++的话,可能需要配置CMakeLists.txt,确保链接正确的库。还有提到ORB-SLAM3的集成,用户可能在做SLAM项目,所以需要编译支持ZED的ORB-SLAM3,并添加相机参数到YAML文件。另外,性能优化方面,Jetson Nano的资源有限,可能需要降低分辨率或帧率,启用硬件加速如CUDA和cuDNN,或者使用TensorRT优化模型。 用户可能遇到的问题包括SDK安装失败,这时候需要检查依赖项和JetPack版本。图像获取失败的话,可能需要检查USB3.0接口,或者摄像头被其他进程占用。性能问题的话,调整分辨率和帧率,或者使用多线程处理。还有引用部分提到的ORB-SLAM3测试,需要确保正确的相机参数和IMU同步,特别是如果用户使用双目IMU配置的话。 需要生成相关问题,可能包括如何在Jetson上安装ZED SDK,如何用Python控制ZED,如何优化性能,与ROS的集成,以及常见问题的解决方法。要确保回答结构清晰,步骤详细,引用相关的资料,比如提到的站内引用关于ORB-SLAM3的部分。可能还需要提醒用户注意硬件接口和系统版本兼容性,避免常见错误。&lt;/think&gt;### ZED相机在NVIDIA Jetson平台上的配置与使用 #### 一、硬件兼容性 ZED相机与NVIDIA Jetson系列(包括Jetson Nano、TX2、Xavier、Orin)完全兼容,需满足以下条件: 1. **接口要求**:必须使用USB 3.0接口(蓝色接口),Jetson Nano需通过OTG转接器连接[^1] 2. **系统版本**:建议JetPack 4.6及以上版本,Ubuntu 18.04/20.04 LTS #### 二、环境配置步骤 1. **安装ZED SDK**: ```bash wget https://download.stereolabs.com/zedsdk/3.8/jp46/jetsons sudo chmod +x ZED_SDK_Tegra_L4T35.1_v3.8.5.run ./ZED_SDK_Tegra_L4T35.1_v3.8.5.run ``` 2. **验证安装**: ```python import pyzed.sl as sl print(sl.Camera().get_sdk_version()) # 输出版本号如3.8.5 ``` #### 三、双目视觉数据获取 ```cpp // C++示例代码 sl::Camera zed; sl::InitParameters init_params; init_params.camera_resolution = sl::RESOLUTION::HD720; if (zed.open(init_params) == sl::ERROR_CODE::SUCCESS) { sl::Mat image_left, depth_map; zed.retrieve_image(image_left, sl::VIEW::LEFT); zed.retrieve_measure(depth_map, sl::MEASURE::DEPTH); } ``` #### 四、与ORB-SLAM3集成 1. 修改`Camera.cc`添加ZED相机参数: ```yaml # ZED2i.yaml Camera.fps: 30 Camera.bf: 120 # 基线&times;焦距 Stereo.ThDepth: 40 ``` #### 五、性能优化建议 1. 使用`sl::DEPTH_MODE::ULTRA`模式时,Jetson Nano建议分辨率设为$640&times;360$ 2. 启用硬件加速: ```bash sudo nvpmodel -m 0 # 最大性能模式 sudo jetson_clocks ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值