Ubuntu 22.04LTS下安装D435i深度相机的驱动

发布于:2025-06-21 ⋅ 阅读:(15) ⋅ 点赞:(0)

D435i是intel realsense D400系列的一款深度相机。官方介绍:Intel realsense D435i
官方提供的Ubuntu安装SDK的方法:ubuntu安装SDK
Intel RealSense SDK各个版本的仓库:realsense sdk

内核降级

realsense sdk 虽然这个最新beta版本的SDK支持的Ubuntu kernel已经到了6.8,我的Ubuntu是22.04LTS,为了保险,我还是选择将我的6.8.0的kernel降级到5.15.0【这个看个人,可以不降级】

  1. 准备工作
  • 查看在运行的Ubuntu kernel的具体版本信息【我一开始是6.8.0的,降级以后选择以5.15.0版本的内核启动,所以现在就显示5.15.0版本的了】:
 uname -r
 uname -a

在这里插入图片描述

  • 查看已经安装的内核:
 dpkg --list | grep linux-image

在这里插入图片描述

  • 查看仓库中可用的内核版本
 apt-cache search linux-image | grep generic

在这里插入图片描述

  1. 安装目标版本内核

一般所安装版本的Ubuntu支持的内核版本都会列出来【从最低到最高】,接下来就需要安装目标版本内核了
【最好是下面四个都安装上,将指令中的5.15.0-100替换成自己的目标版本号】:

sudo apt-get install linux-image-5.15.0-100-generic  【镜像】
sudo apt-get install linux-headers-5.15.0-100-generic  【内核】
sudo apt-get install linux-modules-5.15.0-100-generic	    【内核模块】
sudo apt-get install linux-modules-extra-5.15.0-100-generic     【内核补丁】

如果目标版本内核没有在上述列表中列出,可以参考这个博客的case2:Linux更换内核版本

  1. 修改GRUB

安装目标版内核后,系统中就有多个版本的内核了,现在需要指定以某个版本的内核启动。【可以在开启虚拟机的时候,按ESC进入图形化界面选择…… 但是我按ESC没反应啊啊啊啊啊,所以就手动修改/etc/default/grub 文件了】

  • 打开文件
 # 查看当前 GRUB 默认启动项
 sudo grub-editenv list 
 # 设置默认启动项(需修改 GRUB 配置)
 sudo nano /etc/default/grub
  • 修改文件
    上述命令能够打开并修改/etc/default/grub 文件【也可以在文件夹中找到,但是会提示Read-Only】,原始第一行是GRUB_DEFAULT=0 ,修改为GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-100-generic",注意替换成自己的目标版本内核号。之后Ctrl+O保存并退出。
    在这里插入图片描述
  • 更新GRUB并重启
sudo update-grub
sudo reboot

再检查看看是否以指定版本内核启动~

安装驱动

安装Ubuntu系统的D435i相机的驱动,以及后续可能用到的ROS2相关的包,参考的这俩博客:
Ubuntu20.04LTS下安装Intel Realsense D435i驱动与ROS包
Ubuntu22.04 realsenseSDK2和ROS2Wrapper安装方法
本人菜鸡,还是选择APT安装吧,从github下载资源包安装操作还是有点为难我了……

  • 先注册服务器公钥
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
  • 将服务器添加到存储库列表中
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

这样就能使用apt-get下载对应的安装包了

  • 安装
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
  • 选装
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
  • 验证
realsense-viewer

如果能够启动realsense viewer就说明SDK安装完毕。 但是可能打开什么都没有,因为此时还没有连接相机。
在这里插入图片描述

安装uvcvedio

如果启动realsense viewer命令行提示如下:
在这里插入图片描述
并且在终端输入lsmod | grep uvcvideo后,什么都没有,说明缺少uvcvedio模块。

uvcvideo 是 Linux 内核中的一个 USB Video Class (UVC) 驱动模块,用于支持符合 UVC 标准 的 USB 摄像头设备。几乎所有现代 USB 摄像头(包括 Intel RealSense D435i)都遵循 UVC 协议,因此依赖 uvcvideo 驱动来正常工作。

手动安装:

sudo modprobe uvcvideo

再次输入lsmod | grep uvcvideo验证:
在这里插入图片描述
此时再次验证realsense viewer【此时还没有连接相机】:
在这里插入图片描述

连接相机

在Windows系统的电脑上,装的虚拟机,之后通过usb连接相机,是先连接到主机的。需要手动切换到虚拟机。 同时需要注意usb协议版本,D435i是支持的usb 3.x系列的。

  • 设置虚拟机usb协议
    VMware中选择虚拟机->点击设置->USB控制器
    在这里插入图片描述
    在这里插入图片描述
  • 将D435i连接到虚拟机
    在虚拟机的右下角的状态栏,应该能够看到有D435i的小图标,选择和主机断开,连接到虚拟机。
    在这里插入图片描述
    在这里插入图片描述
    也可以从虚拟机的可移动设备查看,虚拟机是否连接上相机了。下面就是连接上了。
    在这里插入图片描述

测试

再次启动realsense viewer,连接上相机之后会有画面:
在这里插入图片描述

再看看这个软件咋用啊……是干嘛的啊……

安装ROS包

后续通过ros2,接收、使用相机数据,需要安装对应的工具包:realsense-ros
有两种安装方法,均可参考官方提供的安装步骤:
在这里插入图片描述
方法一很简单,直接sudo apt install ros-humble-realsense2-*即可。
之后通过ros发布相机数据:
ros2 run realsense2_camera realsense2_camera_node
查看ros topic,验证是否工作:
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到