Linex Ubuntu环境下 Intel Realsense D435I 驱动+ROS驱动安装配置

本文介绍如何在ROS环境中使用D435i摄像头订阅图像和IMU数据,包括librealsense SDK与realsense-ros驱动的安装、测试过程,并给出发布IMU数据的具体步骤。

任务背景

在ROS环境中使用d435i,订阅图像和imu数据

任务概述

实现在ros中使用d435i主要有两步骤:1.安装d435i sdk,即librealsense; 2.安装realsense-ros驱动

具体步骤

d435i sdk安装与测试

安装d435i sdk有两种方式:1.apt安装; 2.源码编译安装(推荐)

1.apt 安装

a. 注册服务公共密钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

b.添加服务至apt仓库

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

c.安装librealsense

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

d.安装developer and debug 包

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg

2.源码安装(推荐)

a. 更新ubuntu distribution并安装依赖项

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install libudev-dev libgtk-3-dev libusb-1.0-0-dev pkg-config libglfw3-dev libssl-dev

b.克隆 librealsense 仓库

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

注:后边安装realsense-ros驱动包时,realsense-ros的github仓库里声称它们支持librealsense版本为v2.50.0, 但是笔者亲测最新版本也能支持,故在此未指定安装推荐版本

c.编译及安装

cd librealsense
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make -j8
sudo make install

d.测试安装是否成功

realsense-viewer 

注意启动后如显示无realsense硬件设备,如下图所示,需要插拔d435i usb口

 若sdk安装成功,相机正常工作,如下图所示。

 左上为rgb图像,右下为深度图,右上和左下分别为角加速度和线加速度示意。

  Realsense-ros 安装与测试

1.ROS系统安装

若计算机未安装ros机器人操作系统,则需要安装版本对应的ros1操作系统。

ubuntu 16.04 安装 ros kinetic / 18.04 安装 ros melodic / 20.04安装 ros noetic

各版本安装见Distributions - ROS Wiki ,点击对应的版本就能找到安装页面

2.Realsense-ros 安装

2.1 apt安装

sudo apt-get install ros-$ROS_DISTRO-realsense2-camera

$ROS_DISTRO须替换为系统安装的ros版本号(kinetic, melodic or noetic, etc)

2.2源码安装(推荐)

a.创建工作空间

cd
mkdir ros-realsense_ws && cd ros-realsense_ws
mkdir src && cd src

b.克隆源代码

https://github.com/IntelRealSense/realsense-ros.git
git checkout ros1-legacy

或者下载该仓库并解压到 ros-realsense_ws/src路径中。注意无论哪种方式都要切换或选择到ros1-legacy分支。

注意:GitHub - IntelRealSense/realsense-ros at ros1-legacy仓库描述说需要安装ddynamic_reconfigure,并提供了仓库地址。但笔者在实际实践中发现,若是在安装ros系统时选择了 ros-$ROS_DISTRO-desktop-full 包, 其中就已预装了ros-$ROS_DISTRO-dynamic-reconfigure 包,如果再编译安装ddynamic_reconfigure源码,则在后续启动realsense d435i时便会启动失败。因此这里推荐先搜索下计算机是否已经安装dynamic-reconfigure,如果没有就使用apt安装即可。

sudo apt search ros-$ROS_DISTRO-dynamic-reconfigure
sudo apt install ros-$ROS_DISTRO-dynamic-reconfigure ros-$ROS_DISTRO-dynamic-reconfigure-dbgsym

$ROS_DISTRO须替换为系统安装的ros版本号(kinetic, melodic or noetic, etc)

c.编译及source 工作空间

cd ..
catkin_make
source devel/setup.bash

d.启动测试

roslaunch realsense2_camera rs_camera.launch

在另一终端中输入:

rqt_image_view

便可查看rgb图和深度图。

也可运行:

roslaunch realsense2_camera demo_pointcloud.launch 

测试realsense d435i 对于感知环境的3D重建效果。

e.发布imu消息

在d步骤中默认启动测试rs_camera.launch或其他launch文件时,用rostopic list查看话题可以发现是没有d435i发布的imu话题 /camera/imu。 这是因为在ros-realsense 默认是不发布imu信息的。故而需要对launch文件内的参数对默认参数修改配置。

以在运行rs_camera.launch 是需要发布imu数据为例,首先要在realsense-ros包中的realsense2_camera/launch文件夹中找到rs_camera.launch并打开编辑。

将此launch文件中

<arg name="unite_imu_method"          default=""/>

修改为:

<arg name="unite_imu_method"          default="linear_interpolation"/>

并将:

<arg name="enable_gyro"         default="false"/>
<arg name="enable_accel"        default="false"/>

改为:

  <arg name="enable_gyro"         default="true"/>
  <arg name="enable_accel"        default="true"/>

### 安装 Intel RealSense D435i 驱动 为了在 Ubuntu 18.04 上成功安装配置 Intel RealSense D435i 设备,需遵循一系列特定步骤来确保兼容性和功能性。 #### 准备工作 确认系统已更新至最新状态,并且所有必要的软件包都处于最新版本。这可以通过运行以下命令完成: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装依赖库 安装过程中需要用到一些基础开发工具和库文件,这些可以提前准备好: ```bash sudo apt-get install libudev-dev pkg-config libgtk-3-dev \ libusb-1.0-0-dev pkg-config \ libglfw3-dev \ libssl-dev ``` 以上命令会安装 `libudev`、`pkg-config`、GTK+ 开发环境以及其他必需组件[^4]。 #### 下载并安装 librealsense2 SDK 移除任何连接着的 RealSense 设备以防干扰安装过程。通过官方 GitHub 仓库获取最新的 SDK 版本: 访问 [Intel RealSense SDK](https://github.com/IntelRealSense/librealsense) 页面下载源码或使用 Git 命令克隆项目到本地计算机中: ```bash git clone https://github.com/IntelRealSense/librealsense.git cd librealsense ``` 按照 README 文件中的指示编译并安装 SDK。通常情况下,此操作涉及创建构建目录、调用 CMake 和 make 工具链来进行实际编译与安装: ```bash mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 此时应该已经完成了 SDK 的基本设置;但是为了让内核模块生效还需要重启机器或者手动加载 udev 规则: ```bash sudo udevadm control --reload-rules && sudo service udev restart && udevadm trigger ``` #### 设置 ROS Melodic 中的 realsense-ros 软件包 对于希望集成摄像头数据进入机器人操作系统 (ROS) 流程里的用户来说,则需要额外安装对应的 ROS 包: ```bash sudo apt install ros-melodic-realsense2-camera ``` 之后启动 roscore 并尝试运行节点测试是否正常读取图像流: ```bash roslaunch realsense2_camera rs_camera.launch ``` 如果一切顺利的话,在 rviz 或 rqt_image_view 等可视化工具里就能看到来自 D435i 的彩色图象及深度信息了[^1]。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值