如何为 D435 深度相机安装驱动
亿些tips:
1、此教程适用于 Ubuntu18.04 / Ubuntu20.04 版本的系统。
2、原版安装教程(官网):
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
3、原教程上面还是有写关于 Ubuntu14.04 的相关进阶升级命令,我觉得没必要就没有跑。如果觉得不跑不安心的话可以回上面的第一条原链接跑一遍(但是不排除以后会不会有坑)。
一、老规矩先更新
如果你的系统有一更新就炸的危险,建议再三考虑后再更新,或者只 update 不 upgrade 。
原链接里有更新内核和重新引导的过程,因为是针对 Ubuntu14.04 的版本的我就没跑(个人觉得没必要,当然不排除以后会有坑)。
二、下载/克隆 librealsense github 存储库:
建议下第二条的版本
三、准备环境
1、记得拔摄像头
2、安装构建 librealsense 二进制文件和受影响的内核模块所需的核心软件包:
(原链接里的下面这一步我没跑,目前没有坑)
(必须)特定于 Ubuntu18.04 的软件包:
3、从 librealsense 根目录运行 Intel RealSense 权限脚本:
4、为以下应用程序构建和应用修补的内核模块:
具有 LTS 内核的 Ubuntu14/16/18 :
带有 Ubuntu 的 Intel®Joule™ 基于 Canonical Ltd. 提供的自定义内核。
这一步按道理应该不用跑,但是我跑了目前没坑:
5、TM1特定
跟踪模块需要 hid_sensor_custom 内核模块才能正常运行。由于TM1的加电顺序限制,引导期间需要加载此驱动程序,以正确初始化硬件。
为了做到这一点,司机的姓名添加hid_sensor_custom到/etc/modules文件,例如:
四、编译 librealsense2 SDK
原链接有一个在 Ubuntu14.04 上将构建工具更新为 gcc-5 ,但是按道理 Ubuntu18.04 的 gcc 已经是 gcc-11 了,所以我觉得没必要,没跑且目前没坑。
运行cmake:
1、这一步将默认版本设置为在调试模式下生成核心共享库和单元测试二进制文件。用于 -DCMAKE_BUILD_TYPE=Release 优化构建。
2、构建 librealsense 以及演示和教程
3、这一步对于没有 OpenGL 或 X11 的系统,仅构建文本示例
4、重新编译并安装 librealsense 二进制文件:
共享对象将安装在 /usr/local/lib 中的头文件中 /usr/local/include 。
二进制演示,教程和测试文件将被复制到 /usr/local/bin 。
5、make -jX 并行编译,X 代表 cpu 核心可用数量
这增强可能显著提高构建时间。但副作用是,它可能导致低端平台随机挂起。
(注意:默认情况下,Linux 构建配置当前配置为使用 V4L2 后端。
注意:如果在编译过程中遇到以下错误 gcc: internal compiler error 它可能表明您的计算机上没有足够的内存或交换空间。
尝试关闭消耗内存的应用程序,如果您正在 VM 中运行,请将可用 RAM 增加到至少 2 GB。)
接下来是第二条参考链接的教程,同样只跑了一部分,目前没坑。
五、亿些补充命令运行
1、注册公钥:
2、添加包仓库列表:
Ubuntu 18 LTS:
3、安装库以及开发包:
PS:某些电脑在安装过程中会出现 configure UEFI Secure Boot 的窗口,意思是开启了 UEFI Secure Boot ,而这会阻止你使用第三方的硬件驱动,不必更改这一模式,只需要按照窗口提示设定一个 Secure Boot 的密码确认,然后重启就会自动进入到 MOK 界面,选择第二项, yes 之后输入刚才设定的密码,即可重新进入系统,此时 RealSense 的驱动也就安装好了。
此时插入摄像头,输入:
如果弹出来这样一个窗口,就说明暂时成功了。
但是这个相机有个挺苟的问题,那就是他只能用 USB3.0 的 typeC 线,用普通的充电线是用不了的,像刚刚上面那张图就是用的普通充电线。
下面是 USB3.0 线的界面,会看到左边显示了参数:
六、配置vscode相关变量
1、因为我有用到 Opencv ,所以我有一个 cpp_properties.json 文件(其实就是放头文件的地方)。
我直接在原来的基础上加上了 librealsense2/ 。
建议直接在你自己原来的配置文件的 includePath 参数里加,不要直接复制下面的,下面给的仅供参考。
如果文件显示侧边栏没有(且你忘了怎么打开(划掉):最上面的任务栏->运行(Debug)->打开配置(C)->会弹出来
2、tasks.json文件
把 librealsense2.so 的文件目录复制到 『args』 参数里。
如无例外,基本都在 /usr/local/lib 里面。
如果文件显示侧边栏没有(且你忘了怎么打开(划掉): ctrl+shift+P ,然后输入: Task ->配置任务(中文)或者 Configure Task,一般都能找到。
测试代码:
参考链接:
https://github.com/rcxxx/engineering_vision
人间奇迹现场: