首页
/ IntelRealSense/realsense-ros 在 Jetson Orin AGX 上升级 JetPack 6.0 后的兼容性问题解决方案

IntelRealSense/realsense-ros 在 Jetson Orin AGX 上升级 JetPack 6.0 后的兼容性问题解决方案

2025-06-28 08:33:51作者:蔡怀权

背景介绍

Intel RealSense 深度相机与 ROS 系统的集成在机器人、计算机视觉等领域有着广泛应用。近期有用户在 Jetson Orin AGX 平台上将系统升级至 JetPack 6.0 后,遇到了 RealSense 相机的一系列兼容性问题,包括设备检测失败、图像延迟、IMU 数据获取异常等问题。

问题现象

用户在升级到 JetPack 6.0 后,主要遇到以下几个问题:

  1. 相机设备无法被正常检测,除非手动设置 LD_LIBRARY_PATH 环境变量
  2. RealSense Viewer 运行卡顿,同时启用深度和 RGB 图像时程序崩溃
  3. 尝试获取 IMU 数据时出现错误:"messenger-libusb.cpp:42 - control_transfer returned error"
  4. ROS2 启动时持续出现 USB 通信错误警告

问题根源分析

经过深入调查,这些问题主要源于以下几个方面:

  1. JetPack 6.0 的系统变更:新版本移除了 hidraw 组件,导致 IMU(HID 设备)无法正常工作
  2. USB 通信问题:系统升级后 USB 控制传输出现异常,导致持续的控制传输错误警告
  3. 驱动兼容性问题:原有的驱动安装方式不完全兼容 JetPack 6.0 的新内核

解决方案

1. 安装 MIPI 驱动

由于 JetPack 6.0 缺少 hidraw 组件,需要安装 MIPI 驱动来支持 IMU 功能。具体步骤如下:

  1. 在主机上准备编译环境:

    sudo apt-get install -y build-essential bc wget flex bison curl libssl-dev xxd
    
  2. 获取并编译驱动:

    git clone https://github.com/IntelRealSense/realsense_mipi_platform_driver.git
    cd realsense_mipi_platform_driver
    git checkout dev
    ./setup_workspace.sh 6.0
    ./apply_patches.sh apply 6.0
    ./build_all.sh 6.0
    
  3. 将编译好的文件复制到 Jetson 设备:

    • 将主机上的 images/6.0/rootfs/lib/modules/5.15.136-tegra/updates 复制到 Jetson 的 /lib/modules/5.15.136-tegra/
    • 将主机上的 images/6.0/rootfs/lib/modules/5.15.136-tegra/extra 复制到 Jetson 的 /lib/modules/5.15.136-tegra/
    • tegra234-camera-d4xx-overlay.dtbo 复制到 /boot
    • tegra234-p3737-0000+p3701-0000-nv.dtb 复制到 /boot
  4. 在 Jetson 上完成配置:

    sudo /opt/nvidia/jetson-io/jetson-io.py
    # 选择 Configure Jetson AGX CSI Connector => Configure for compatible hardware => Jetson RealSense Camera D457
    sudo sed -i 's/search updates/search extra updates/g' /etc/depmod.d/ubuntu.conf
    sudo depmod
    echo "d4xx" | sudo tee /etc/modules-load.d/d4xx.conf
    sudo reboot
    

2. 使用 libuvc 后端构建

对于不需要 IMU 功能的用户,可以选择使用 libuvc 后端构建 librealsense SDK,这样可以避免 MIPI 驱动的安装:

# 构建命令示例
mkdir build && cd build
cmake .. -DBUILD_WITH_LIBUVC_BACKEND=ON
make -j$(nproc)
sudo make install

3. 使用最新版本

Intel RealSense 最新发布的 2.56.1 版本已正式支持 JetPack 6.0,配套的 ROS 封装包 4.56.1 也已发布。建议用户考虑升级到这些版本以获得更好的兼容性。

替代方案

如果上述解决方案仍不能满足需求,用户还可以考虑以下替代方案:

  1. 降级到 JetPack 5.13:完全避免 JetPack 6.0 的兼容性问题
  2. 使用 Docker 容器:在 JetPack 5 上通过 Docker 容器运行 ROS2 Humble
  3. 等待官方更新:关注 Intel RealSense 的后续更新,获取更好的 JetPack 6.0 支持

总结

在 Jetson Orin AGX 上升级到 JetPack 6.0 后使用 RealSense 相机确实会遇到一些兼容性问题,但通过安装 MIPI 驱动或使用 libuvc 后端构建可以有效解决这些问题。用户应根据自己的具体需求选择最适合的解决方案。随着 Intel RealSense 对 JetPack 6.0 的官方支持不断完善,这些问题将逐步得到更好的解决。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
260
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
854
505
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
254
295
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
331
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
397
370
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
21
5