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

任务背景

在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"/>

  • 8
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值