首页
/ 在无网络环境的Jetson Nano上安装librealsense和pyrealsense2的技术指南

在无网络环境的Jetson Nano上安装librealsense和pyrealsense2的技术指南

2025-05-28 09:59:24作者:农烁颖Land

背景介绍

Intel RealSense深度摄像头在机器人领域应用广泛,而Jetson Nano作为常见的边缘计算设备,常被用于机器人平台。但在实际部署中,机器人平台可能不具备网络连接能力,这给librealsense SDK及其Python绑定pyrealsense2的安装带来了挑战。

安装方案选择

在无网络环境下安装librealsense有两种主要方法:

  1. 原生模式安装:使用-DFORCE_RSUSB_BACKEND=OFF标志,这种方式不需要网络连接,但需要手动处理内核补丁和依赖项

  2. USB后端模式:使用-DFORCE_RSUSB_BACKEND=ON标志,这种方式理论上更简单,但在安装过程中仍需要下载依赖项

详细安装步骤

准备工作

  1. 从GitHub下载librealsense源代码的zip包
  2. 将zip包通过USB设备传输到Jetson Nano
  3. 在Jetson Nano上解压源代码包

原生模式安装流程

  1. 安装系统依赖项

    • 需要提前安装以下关键包:libusb-1.0、libssl-dev、libglfw3-dev等
    • 对于Python绑定,需要确保Python开发包已安装
  2. 配置构建环境

    mkdir build && cd build
    cmake ../ -DFORCE_RSUSB_BACKEND=OFF \
              -DBUILD_PYTHON_BINDINGS=bool=true \
              -DPYTHON_EXECUTABLE=/usr/bin/python3 \
              -DCMAKE_BUILD_TYPE=release
    
  3. 处理pybind11依赖

    • 由于构建过程需要pybind11,但无法在线获取
    • 解决方案是手动下载pybind11源代码,并放置到构建目录的相应位置
  4. 构建和安装

    make -j$(nproc)
    sudo make install
    

内核补丁处理

原生安装方式需要对Jetson内核应用补丁:

  1. 从源代码中获取patch-realsense-ubuntu-L4T.sh脚本
  2. 运行补丁脚本:
    ./scripts/patch-realsense-ubuntu-L4T.sh
    
  3. 注意:某些JetPack版本可能不需要补丁也能正常工作

常见问题解决

  1. pybind11获取失败

    • 手动下载pybind11源码
    • 将其放置在构建目录的third-party/pybind11文件夹中
  2. 构建过程中的链接错误

    • 检查所有依赖项是否已正确安装
    • 确保Python版本与配置一致
  3. 内核模块加载问题

    • 如果设备无法识别,尝试重新加载内核模块
    sudo modprobe uvcvideo
    

性能优化建议

  1. 在Jetson Nano上构建时,可以禁用CUDA支持以加快构建速度:

    -DBUILD_WITH_CUDA:bool=false
    
  2. 对于资源受限的设备,可以关闭示例程序的构建:

    -DBUILD_EXAMPLES=false -DBUILD_GRAPHICAL_EXAMPLES=false
    

验证安装

安装完成后,可以通过以下方式验证:

  1. 检查Python模块是否可用:

    import pyrealsense2 as rs
    print(rs.__version__)
    
  2. 运行简单的设备检测脚本:

    ctx = rs.context()
    devices = ctx.query_devices()
    print(f"Found {len(devices)} devices")
    

总结

在无网络环境的Jetson Nano上安装librealsense和pyrealsense2虽然具有挑战性,但通过原生构建模式和手动处理依赖项,完全可以实现离线安装。关键点在于提前准备所有必要的依赖项,特别是pybind11库,并正确处理内核补丁。这种方法特别适合嵌入式机器人应用场景,为RealSense摄像头在无网络环境中的部署提供了可靠解决方案。

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

热门内容推荐

最新内容推荐

项目优选

收起
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
53
468
kernelkernel
deepin linux kernel
C
22
5
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
349
381
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
133
186
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
878
517
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
336
1.1 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
180
264
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
612
60
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4