在Jetson AGX Orin上使用librealsense驱动Intel RealSense D455相机的解决方案
问题背景
在Jetson AGX Orin开发套件(运行Ubuntu 22.04 LTS系统)上,用户尝试使用librealsense驱动Intel RealSense D455深度相机时遇到了设备无法识别的问题。虽然通过lsusb命令可以检测到相机设备,但在运行realsense-viewer时却显示"Found 0 RealSense devices"。
环境配置
用户的环境配置如下:
- 硬件平台:NVIDIA Jetson AGX Orin开发套件
- 操作系统:Ubuntu 22.04 LTS (Linux内核版本5.15.148-tegra)
- 相机型号:Intel RealSense D455深度相机
- JetPack版本:6.1
问题分析
通过分析用户的操作过程和错误信息,可以确定问题主要出在以下几个方面:
-
内核补丁问题:用户最初尝试运行patch-realsense-ubuntu-lts-hwe.sh脚本,这是针对PC计算机的补丁脚本,不适用于Jetson平台。
-
构建配置问题:用户在构建librealsense时没有正确设置RSUSB后端标志,导致无法绕过内核模块直接与设备通信。
-
平台兼容性问题:Jetson AGX Orin使用的JetPack 6.1版本较新,现有的L4T补丁脚本尚未完全支持。
解决方案
经过多次尝试和验证,最终确定以下解决方案:
-
使用正确的构建参数:在构建librealsense时,必须设置
-DFORCE_RSUSB_BACKEND=true标志,这样可以绕过内核模块直接使用libusb后端与设备通信。 -
完整的构建命令:推荐使用以下完整的构建命令:
mkdir build && cd build && \ cmake .. -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true \ -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=true \ -DBUILD_WITH_CUDA=true && \ make -j$(($(nproc)-1)) && sudo make install -
清理旧构建:在重新构建前,建议完全清理旧的构建目录和安装文件,以确保没有残留的配置影响新构建。
技术原理
-DFORCE_RSUSB_BACKEND=true参数的作用是强制librealsense使用基于libusb的后端实现,而不是依赖内核模块。这种方式有以下优势:
- 不需要为特定内核版本打补丁
- 兼容性更好,可以支持更多平台和内核版本
- 简化了部署流程,特别是在嵌入式系统上
对于Jetson这类嵌入式平台,使用RSUSB后端通常是更可靠的选择,因为它避免了与特定内核版本的兼容性问题。
注意事项
-
性能考虑:RSUSB后端可能会有轻微的性能开销,但对于大多数应用场景来说影响不大。
-
权限问题:即使使用RSUSB后端,在某些情况下仍可能需要sudo权限访问设备。
-
长期维护:随着JetPack 6.x的普及,建议关注librealsense的更新,未来版本可能会提供更好的原生支持。
总结
在Jetson AGX Orin等嵌入式平台上使用Intel RealSense相机时,采用RSUSB后端构建librealsense是最可靠的解决方案。这种方法不仅解决了设备识别问题,还简化了部署流程,特别适合快速原型开发和产品部署。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0186
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0112
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java03
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08