欢迎光临
我们一直在努力

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

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【这个看个人,可以不降级】

  • 准备工作
    • 查看在运行的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

    在这里插入图片描述

  • 安装目标版本内核
  • 一般所安装版本的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更换内核版本

  • 修改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,验证是否工作: 在这里插入图片描述

    赞(0)
    未经允许不得转载:171主机测评 » Ubuntu 22.04LTS下安装D435i深度相机的驱动
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址