树莓派4B 使用 Intel Realsense D435i 深度相机指南

2023-05-16

项目需要用到深度相机,特此记录一下,也希望对后人能有所帮助,应该也适用于相同或相近系统的树莓派3等,下述文章给了很大启发

https://zhuanlan.zhihu.com/p/95724383

板子:raspberry pi 4B 4GB    
系统镜像:ubuntu-mate-20.04.1-desktop-arm64+raspi.img 
   (镜像下载地址:https://ubuntu-mate.org/download/arm64/focal/)
软件包Realsense_SDK:2.40.0  
传感器:D435i

步骤1、安装依赖包

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install git cmake libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev

第二行的是核心依赖,必装。第三行是3D相关的依赖,如果不打算使用realsense-viewer,可以不装。

2、下载Realsense SDK

git clone https://github.com/IntelRealSense/librealsense.git

或者直接去上述地址下载zip包,解压备用,写文章时的版本为2.40.0。

3、编译准备

mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true -DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=false -DIMPORT_DEPTH_CAM_FW=false

解释:
-DFORCE_RSUSB_BACKEND=ON 必选,强制LIBUVC后端,否则你要自己给内核打补丁。

-DBUILD_WITH_TM2=false 集成T265的固件,当前网络状况下有几率卡死…

-DIMPORT_DEPTH_CAM_FW=false 集成相机的固件,当前网络状况下有几率卡死,请在PC上更新固件不要折磨自己

4、编译

sudo make uninstall && make clean && make && sudo make install

一切顺利且散热良好的情况下,在rpi 4B上耗时约1小时。这里不要贪心,最多不要超过-j2,因为内存不够用。

5、设置udev规则

sudo ./scripts/setup_udev_rules.sh

主要是为了让realsense-viewer更方便的识别设备

6、测试

realsense-viewer

7、写在最后
由于下一步利用树莓派4B安装ROS仅仅ubuntu-mate 20.04以上版本支持,在上述过程中已将realsense传感器的硬件驱动安装好,安装ROS后可以直接使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派4B 使用 Intel Realsense D435i 深度相机指南 的相关文章

  • Intel 在哪里记录了 ModR/M 字节中扩展寄存器 (R8-R15) 的编码?

    我用的是官方最新的 英特尔 64 和 IA 32 架构软件开发人员手册合并卷 1 2A 2B 2C 2D 3A 3B 3C 3D 和 4 作为了解x86 64 ISA的机器级编码的参考 第 2 卷第 2 1 3 节中提供的 ModR M 和
  • 组装为什么lea快?

    我和我的教授交谈过 他说 leaq rax rax 8 比以下速度更快 imulq 9 rax 我问他为什么 在这两种情况下 我们都用几乎相同的数字进行乘法 他说我们不会讨论这个 有人可以帮助我简单地理解为什么 leaq 总体上很快吗 评论
  • x86-64 CPU 寄存器是否在多个内核之间共享? [复制]

    这个问题在这里已经有答案了 我正在尝试阅读有关 CPU 寄存器的英特尔文档 但出现了我似乎找不到答案的问题 比如说 所有可用的寄存器 GPR 通用寄存器 控制寄存器 RIP EFLAGS CR0 CR15 EFER MSR 等 GDTR I
  • Python 执行速度:笔记本电脑与台式机

    我正在运行一个进行简单数据处理的程序 解析文本 填充字典 对结果数据计算一些函数 该程序仅使用CPU RAM和HDD 从 Windows 命令行运行 输入 输出到本地硬盘 屏幕上没有显示或打印任何内容 没有网络 相同的程序运行在 台式机 W
  • 如何从 C# 与英特尔新的 DRNG(RDRAND 指令)交互? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望从 C 程序集中使用英特尔的数字随机数生成器 Ivy Bridge 中的 RDRAND 指令 我查看了 cpp 库 但我希望有一个更
  • 在 Fortran 中传递不连续的数组部分

    我正在使用 intel fortran 编译器和 intel mkl 进行性能检查 我将一些数组部分传递给 Fortran 77 接口 调用如下 call dgemm transa transb sz s P P a Ts tilde sz
  • 从 C 调用 Intel 8086 汇编程序

    我需要为汇编语言开发一个过程 并从 C 语言调用该过程 传递一个字符串并返回一个整数值 我的组装程序 独立 运行良好 我需要帮助将它们连接在一起 程序应该在 Intel 8086 上运行 我需要使用 MASM 或 emu8086 作为汇编器
  • 为什么 Numpy 和 Ryzen Threadripper 比 Xeon 慢这么多?

    我知道 Numpy 可以使用不同的后端 例如 OpenBLAS 或 MKL 我还读到 MKL 针对 Intel 进行了深度优化 所以通常人们建议在 AMD 上使用 OpenBLAS 对吗 我使用以下测试代码 import numpy as
  • Intel x86 - 中断服务例程责任

    我没有真正意义上的问题 但我会尽力澄清内容问题 假设我们有一个微内核 PC Intel x86 32 位保护模式 中断描述符表 IDT and 中断服务程序 ISR 对于每个CPU异常 ISR 被成功调用 例如Division by Zer
  • 有没有办法判断SMM中断发生了?

    对于某些以编程方式定义的间隔 有没有办法确定SMM https en wikipedia org wiki System Management Mode当前核心上是否发生了条目 从 Nehalem 开始 MSR 寄存器 0x 34 称为MS
  • perf_event_open - 如何监视多个事件

    有谁知道如何设置perf event attr可以通过以下方式触发 PMU 监视多个 类型 事件的结构perf event open Like perf record e cycles faults ls 它有两种不同的事件类型 PERF
  • 在两个逻辑 CPU 之间共享 TLB 条目 (Intel)

    我想知道当属于同一程序且具有相同PCID的两个线程被安排在同一物理CPU上运行时是否可以共享TLB条目 我已经研究过SDM https www intel com content www us en developer articles t
  • 写组合缓冲区位于哪里? x86

    Write Combine 缓冲区在物理上是如何连接的 我见过说明许多变体的框图 L1 和内存控制器之间 CPU 的存储缓冲区和内存控制器之间 CPU 的 AGU 和 或存储单元之间 它依赖于微架构吗 写缓冲区在不同的处理器中可以有不同的目
  • 存储缓冲区是否保存现代 x86 上的物理地址或虚拟地址?

    现代 Intel 和 AMD 芯片大存储缓冲区 https stackoverflow com a 54880249 149138在提交到 L1 缓存之前缓冲存储 从概念上讲 这些条目保存存储数据和存储地址 对于地址部分 这些缓冲区条目是否
  • Intel 指令文档中未使用 XMM 寄存器 0

    在 Intel x64 手册中 它说 32 位 SSE2 模式下有 XMM 寄存器 0 7 那么为什么 95 使用这些寄存器的指令会跳过 0 并使用 1 4 例如Intel的vol 2手册entry https www felixclout
  • 混洗两个 __m128i 的 64 位部分的最佳方法

    我有两个 m128is a and b 我想进行洗牌 以便高 64 位a落在低 64 位dst和低 64 位b落在上64dst i e dst 0 63 a 64 127 dst 64 127 b 0 63 相当于 m128i dst mm
  • 英特尔 SGX 开发者许可和开源软件

    是否可以获得许可的开发人员证书 用于在生产模式下签署经过安全审查 社区开发的开源 SGX 软件二进制文件 并将其发布到 apt 或 rpm 等开源存储库上 我刚刚询问了Intel SGX团队 他们说只有经过验证的供应商才能获得证书并在生产模
  • 安装apk时INSTALL_FAILED_NO_MATCHING_ABIS

    我尝试将我的应用程序安装到 Android L Preview Intel Atom 虚拟设备中 但失败并出现错误 INSTALL FAILED NO MATCHING ABIS 这是什么意思 INSTALL FAILED NO MATCH
  • 在 MacOS 10.6 (Snow Leopard) 上安装 Intel 的 TBB 3.0 框架

    我在 MacOS 系统上安装英特尔线程构建模块 TBB 3 0 作为框架时遇到了一些问题 有谁知道一个好的教程吗 我尝试过使用 MacPorts 它有 TBB 2 2 它安装了我需要的所有库 但我没有得到框架 另外 Intel 网站上似乎没
  • 哪种架构称为非均匀内存访问(NUMA)?

    根据wiki http en wikipedia org wiki Non uniform memory access 非均匀内存访问 NUMA 是一种用于多处理的计算机内存设计 其中内存访问时间取决于相对于处理器的内存位置 但尚不清楚它是

随机推荐