目录
0. 一些概念
- 官网:Intel RealSense
- 选型:D455相机
- Intel.RealSense 所有 SDK 介绍,参考:
- (1) Intel RealSense SDK 2.0
用于:D400系列相机、L500系列雷达的程序开发;
用在:目标检测、跟踪、分类、SLAM、位姿估计、视觉伺服等应用; - (2) Intel RealSense ID SDK
用于:F400系列相机的程序开发;
用在:面部识别应用开发;
- (1) Intel RealSense SDK 2.0
- 首页的导航可以链接到任何地方:下载、文档、论坛、案例、getting start…
- 白皮书(whitepapers)
了解 Intel RealSense 公司正在进行的创新和研究,以获得市场上最全面的计算机视觉产品组合。 - Get started
- 某个型号产品的 Get started
Home ~> Products ~> D455 ~> 网页底部 ~> Get started - 所有产品(SDK)的Get started、开发中心
Home ~> Developers ~> Get started
- 某个型号产品的 Get started
- Support
- 技术提问和解答:Help Center
- 社区
- Webinars
- 官方售后:Store support
- 开发中心
https://www.intelrealsense.com/developers/ - 开发文档
Intel RealSense Documentation - Github
https://github.com/IntelRealSense/librealsense - 什么是 Datasheet
就是 规格书、数据手册 - 固件 Firmware
运行在相机设备的芯片上的固件。
1. 用 windows 检查相机是否正常
使用 Intel.RealSense官方提供的 Intel.RealSense.Viewer 工具可直接查看相机视频流。windows、Linux、Android系统皆可。
- 用USB连接D455与PC
- 下载 Intel.RealSense.Viewer.exe 并打开,设备正常则会显示如下图像:
2. Intel RealSense SDK 2.0
2.1 一些概念
-
支持的设备:D400系列相机、L500系列雷达
-
Intel RealSense SDK 2.0 支持以下编程语言、开发框架、平台、操作系统:
-
SDK 包括哪些内容?
- Intel RealSense Viewer
- Depth Quality Tool
- Debug Tools
- Code Samples
- Wrappers
-
发行日志
各发行版本的概况:librealsense/releases
描述了更新细节:librealsense/wiki/Release-Notes -
Supported Platforms
操作系统、Linux 发行版本、Linux 内核版本
可在发行日志中查看,支持的平台和系统官方会持续的更新…
如:
2.2 在其他系统上安装
参考:https://dev.intelrealsense.com/docs/installation
2.3 在Linux上安装
参考
【1】https://dev.intelrealsense.com/docs/compiling-librealsense-for-linux-ubuntu-guide
【2】https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
注意事项
1)不支持在虚拟机中安装。
2)在Linux上运行RealSense深度相机需要给Linux内核打补丁例如插入一些经过修改的内核驱动程序(见安装步骤:./scripts/patch-realsense-ubuntu-lts-hwe.sh
或 ./scripts/patch-realsense-ubuntu-lts.sh
,patch即补丁的意思)。一些OEM、设备供应商选择锁定内核进行修改。解锁此功能可能需要修改BIOS设置。
3)Linux build configuration is presently configured to use the V4L2 backend by default
查看SDK支持的 Linux 发行版本、Linux 内核版本
Ubuntu 18.04/20.04/22.04 LTS (1) .
Linux kernel versions: 4.[4, 8,10,13,15], 4.16(2), 4.18, 5.[0, 3, 4, 8, 13, 15, 19], 6.[2, 5].
持续更新中…
查看方法:
发行日志:https://github.com/IntelRealSense/librealsense/releases
~> 滚动到想要安装的版本,如 Intel® RealSense™ SDK 2.0
~> Supported Platforms
如:
卸载
- 通过apt安装
参考:Uninstalling the Packages - 通过 make install 安装
如:cd ~/librealsense/build/ sudo make uninstall sudo make clean ./scripts/setup_udev_rules.sh --uninstall
- 通过 libuvc_installation.md 方式安装
除了
之外,还需要执行:cd ~/librealsense_build/librealsense-master/build sudo make uninstall sudo make clean ./scripts/setup_udev_rules.sh --uninstall
sudo rm /etc/udev/rules.d/99-realsense-libusb.rules sudo rm /etc/udev/rules.d/99-realsense-d4xx-mipi-dfu.rules sudo udevadm control --reload-rules && sudo udevadm trigger
Package Details
什么是DKMS 、librealsense2-dkms
DKMS 即 Dynamic Kernel Module Support (DKMS),可参考这里。
在Ubuntu中可以使用 apt 工具安装 librealsense2-dkms.
安装方式
- 使用包管理工具如 apt 安装 Intel RealSense 官方提供的 DKMS 软件包如 librealsense2-dkms 等。
安装参考1:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md - 使用编译源码的方式安装
安装参考1:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md
安装参考2:https://dev.intelrealsense.com/docs/compiling-librealsense-for-linux-ubuntu-guide
安装方式选择
- 一般情况下选择 DKMS package 方式安装,强烈建议。
- 以下情况下选择源码编译方式安装:
- Using SDK with non-LTS Ubuntu kernel versions: **4.16 **时;
- 需要将自定义补丁、模块集成到 librealsense SDK 中时;
- 需要为替补角色的Linux内核、Linux发行版系统而调整内核补丁时;
安装路径
不管是通过 apt 安装还是通过 make install 的方式安装,安装路径如下:
- The shared object will be installed in
/usr/local/lib
- header files in
/usr/local/include
- The binary demos, tutorials and test files will be copied into
/usr/local/bin
安装成功验证
- 通过apt安装
- run:
realsense-viewer
to verify the installation. - 运行例程
在终端输入rs-
,然后双击tab键会列出所有可用例程。
执行某个例程如rs-depth
。 - Verify that the kernel is updated :
modinfo uvcvideo | grep "version:"
should include realsense string
- run:
- 通过 make install 安装
- run:
realsense-viewer
to verify the installation. - 运行例程
在终端输入rs-
,然后双击tab键会列出所有可用例程。
执行某个例程如rs-depth
。 - 验证系统内核补丁是都安装成功
sudo dmesg | tail -n 50
The log should indicate that a new uvcvideo driver has been registered.
如:
- run:
cmake 编译选项
其他
- 为不同平台、系统安装系统内核补丁的脚本文件
如Tegra架构的系统:
https://github.com/IntelRealSense/librealsense/tree/master/scripts/Tegra - 不同平台、系统安装SDK的帮助文档
https://github.com/IntelRealSense/librealsense/tree/master/doc
2.4 在 Nvidia Jetson 上安装
2.4.1 知识预备
-
在 Nvidia Jetson 上安装与在Linux上安装的唯一区别只是打内核补丁时运行的脚本不同,其他的大致相同。
-
最低要求
JetPack version 4.4.1 ( L4T 32.4.4 , CUDA version 10.2). -
RealSense SDK 的后台方式有两种可供选择:
1)Using Native Backend,优点:稳定;缺点:需要为系统打内核补丁;
2)Using RSUSB Backend,优点:不需要为系统打内核补丁;缺点:需要将驱动程序编译到SDK中,不稳定?;
推荐使用第一种,特别是在生产环境中,参考。 -
兼容性
本次记录时间2024-05-06,兼容性在不断地更新中…- Jetson AGX boards with JetPack 4.2.3[L4T 32.2.1,32.2.3], 4.3[L4T 32.3.1], 4.4[L4T 32.4.3], 4.5.1[L4T 32.5.1] and 5.0.2[L4T 35.1.0] 适用!
- Jetson Nano board 不适用!!
- Jetson Orin™ with JetPack 6.0 不适用!!
-
需要不低于2.5Gb的闪存空间。
-
最好将Jetson开发板设置为 Max power mode (desktop -> see the upper right corner)。
-
安装了JetPack 6.0 的Jetson Orin 系列开发板如何安装 Intel RealSense SDK 2.0 ?
Intel® RealSense™ camera driver for GMSL* interface -
遇到报错1
Unsupported kernel version 5.10.104-tegra . The Focal patches are maintained for Ubuntu LTS with kernel 5.4, 5.8, 5.11 only
解决:内核补丁脚本不支持该平台运行的Linux内核!即无法为该内核版本的系统打补丁。建议使用 RSUSB Backend 方式 编译 SDK,这样就不需要打系统内核补丁了! -
遇到报错2
为系统打补丁(./scripts/patch-realsense-ubuntu-L4T.sh
) 时报错:
解决:内核补丁脚本(scripts/patch-realsense-ubuntu-L4T.sh)不支持该平台运行的Linux内核!即无法为该内核版本的系统打补丁。建议使用 RSUSB Backend 方式 编译 SDK,这样就不需要打系统内核补丁了! -
遇到报错3
在cmake时添加-DBUILD_WITH_CUDA=true 报错 -
cmake 编译选项
参考:build configuration
FORCE_RSUSB_BACKEND与 FORCE_LIBUVC、ANDROID_USB_HOST_UVC、FORCE_WINUSB_UVC 时等价的。后3者只是在不同平台下的不同命名罢了。
2.4.2 通过 apt 方式安装
限制:
- Ubuntu 16/18/20/22 LTS.
- Linux kernels 4.4, 4.8, 4.10, 4.13, 4.15, 4.18*, 5.0*, 5.3*, 5.4, 5.13, 5.15, 5.19, 6.2 and 6.5.
参考:Nvidia Jetson installation
略…
2.4.3 通过编译源码方式安装
以 Jetson Orin Nano 开发板为例。
-
0)先将Jetson开发板刷好 JetPack
-
1)断开相机与 Jetson 开发板的连接。
-
2)选择一个SDK版本,下载源码,如选择最新版本:
cd ~ git clone https://github.com/IntelRealSense/librealsense.git
-
3)选择SDK的后台方式
在不同平台上安装 Real Sence SDK2.0 官方推荐的后台配置方式:
那么Default cmake是指选择哪种后台方式呢?不指定FORCE_RSUSB_BACKEND直接cmake ..
吗 ??? -
4)若选择 RSUSB Backend 方式,接下来的步骤请参考:libuvc_installation.md。
如果安装了CUDA,在cmake时请不要忘记添加-DBUILD_WITH_CUDA=true以获得最佳性能。 -
5)若选择 Native Backend 方式(推荐),请接着往下看…
-
6)为 Jetson L4T 内核安装一个补丁使得可以让SDK使用 V4L Native backend.
注意:此处对于内核补丁的安装方式仅适用于:- Jetson AGX boards with JetPack 4.2.3[L4T 32.2.1,32.2.3], 4.3[L4T 32.3.1], 4.4[L4T 32.4.3], 4.5.1[L4T 32.5.1] and 5.0.2[L4T 35.1.0] 适用!
- Jetson Nano board 不适用!!
- Jetson Orin™ with JetPack 6.0 不适用!!
-
7)接下来的所有步骤请参考:Building from Source using Native Backend 或 Doc:Building from Source using Native Backend
-
8)由于本 Jetson Orin Nano 开发板安装的是JetPack5.1.1,Linux内核版本是5.10.104,并不支持安装内核补丁,即运行
scripts/patch-realsense-ubuntu-L4T.sh
脚本时报错:
因此只能 使用 RSUSB Backend 方式 编译 SDK,这样就不需要打系统内核补丁了!
注意:使用libuvc_installation.sh脚本默安装的是最新版本的SDK,假如需要安装不同版本的SDK请修改libuvc_installation.sh中的以下代码:wget https://github.com/IntelRealSense/librealsense/archive/master.zip unzip ./master.zip -d . cd ./librealsense-master
几点疑问:
- Building from Source using Native Backend 时,因为./scripts/patch-realsense-ubuntu-L4T.sh 并不适用于Jetson Orin Nano 开发板安装的JetPack5.1.1,为什么跳过步骤./scripts/patch-realsense-ubuntu-L4T.sh 依旧会安装成功??
cmake ..
或cmake .. -DFORCE_RSUSB_BACKEND=true
或使用libuvc_installation.md
安装
提示 using RS2_USE_LIBUVC_BACKENDcmake .. -DFORCE_RSUSB_BACKEND=false
提示 using RS2_USE_V4L2_BACKEND
待续…
2.4.4 安装总结
- 情形1
针对可以打系统内核补丁的开发板,如Jetson AGX boards with JetPack 4.2.3[L4T 32.2.1,32.2.3], 4.3[L4T 32.3.1], 4.4[L4T 32.4.3], 4.5.1[L4T 32.5.1] and 5.0.2[L4T 35.1.0].# 更新系统,最好不用执行会影响其他 #sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade # 安装编译工具 sudo apt-get install git wget cmake build-essential # 安装依赖库 sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev # 如果你想为SDK构建支持OpenGL的示例,请安装以下依赖 sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev # 下载源码,可以选择合适的版本 cd ~/shd git clone https://github.com/IntelRealSense/librealsense.git cd librealsense # 为 Jetson L4T 打系统内核补丁 ./scripts/patch-realsense-ubuntu-L4T.sh # Realsense permissions script ./scripts/setup_udev_rules.sh # 编译 mkdir build && cd build cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=false -DBUILD_WITH_CUDA=true make -j$(($(nproc)-1)) # 安装,默认安装在usr/local中 sudo make install
- 情形2
仅跳过打系统内核补丁步骤
针对 Jetson 其他系列的开发板如Jetson Nano系列、 Jetson Orin 系列、其他按照以上安装不成功的平台。
如果跳过打内核补丁步骤导致安装不成功,请使用 libuvc_installation.md 进行安装。# 更新系统,最好不用执行会影响其他 #sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade # 安装编译工具 sudo apt-get install git wget cmake build-essential # 安装依赖库 sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev # 如果你想为SDK构建支持OpenGL的示例,请安装以下依赖 sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev # 下载源码,可以选择合适的版本 cd ~/shd git clone https://github.com/IntelRealSense/librealsense.git cd librealsense # Realsense permissions script ./scripts/setup_udev_rules.sh # 编译 mkdir build && cd build cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DBUILD_WITH_CUDA=true make -j$(($(nproc)-1)) # 安装,默认安装在usr/local中 sudo make install
- 情形3
针对不支持打内核补丁、按照 installation.md 安装失败的平台。此法支持更广泛的平台,包括较旧、较新的内核版本
例如 Jetson 其他系列的开发板如Jetson Nano系列、 Jetson Orin 系列、其他按照以上安装不成功的平台等。
参考:libuvc_installation.md
3. ROS + D455
https://www.yahboom.com/study/Realsense-D400series