简介:介绍Intel realsense D435 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开摄像头图像和查看深度图和点云图,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器人虎哥的博客-CSDN博客

        大家好,我是虎哥,最近都在看如何更好的实现机器人的避障,补死角的方案,查阅了好几款深度相机的方案,正好手里还有之前采购的Intel realsense D435模组,英特尔® 实感™ D435 在推出的所有摄像头中视场最大,深度传感器上配置全局快门,是快速移动应用的理想选择。有感于网上对于上手就可以简单玩起来的说明比较少,所以总结一下自己的简单测试经验,分享给大家。

目录

一、 D435深度相机

1.1 关键参数:

1.2 接线示意

二、WIN 下测试

2.1 下载Intel Real Sense D435查看器(下面简称查看器)

2.2 Intel RealSense Viewer

三 、jeston 安装librealsense2 SDK 和使用realsense-viewer

四、ROS 下测试流程

4.1 ROS支持包源码获取

4.2 安装依赖包:

4.3 配置USB口权限

4.4 启动测试

4.5 查看点云

方法1:

方法2:


一、 D435深度相机

        英特尔® 实感™ 深度摄像头 D435 是一款立体追踪解决方案,可为各种应用提供高质量深度。它的宽视场非常适合机器人或增强现实和虚拟现实等应用,在这些应用中,尽可能扩大场景视角至关重要。这款外形小巧的摄像头拍摄范围高达 10 米,可轻松集成到任何解决方案中,而且配置齐全,采用英特尔实感 SDK 2.0,并提供跨平台支持。

         D435具备一对立体红外传感器(Stereo IR Pair) + 一个红外激光发射器(IR Projector) + RGB Camera。RGB摄像头分辨率达2000万像素,3D传感器可以30帧/秒的速度提供分辨率高达1280 × 720,或者以90帧/秒的速度提供848 × 480的较低分辨率。 深度距离在0.1 m~10 m之间,视场角度为85 × 58度。

        工作原理:左右红外相机(接收器)分贝产生两幅也就是左侧和右侧ir灰度图像,中间红外点阵发射器(红外散斑)相当于补光灯,进而可以得到点云。红外点阵发射器强度可调,是否发射也可调,不打开也能测深度,只是效果不好。最右边的rgb相机用于采集彩色图片,最终可以将彩色视频流与深度流进行对齐。

        测距原理和一般的双目相机相同,都是基于左右图像的视差来求得距离。只是相比于普通彩色rgb相机,红外ir相机是用来接收目标返回的红外光线的,得到的是左右两幅红外灰度图像。若把屋里灯光关掉,黑暗的环境,红外ir相机一样可以生成深度图像,只是质量略有下降。视差目前仅在D400系列上可用,可使用控件修改控制视差。(advanced_mode)。

1.1 关键参数:

  • 操作范围(最小 - 最大)~.11m - 10m

  • 深度分辨率和 FPS:1280 X 720

  • 视野深度:85.2 x 58

  • 尺寸:90 mm x 25 mm x 25 mm

  • 系统接口类型:USB 3.0 Type C

1.2 接线示意

二、WIN 下测试

        需要资料和对应软件,需要联系厂家直接要就可以。首先在WIN端测试,需要安装驱动程序。D435是一种即插即用的USB装置,包含一个专用的驱动程序。

2.1 下载Intel Real Sense D435查看器(下面简称查看器)

下载链接Get Started with Intel® RealSense™ Products(里面有很多相关产品信息,这里就只介绍D435查看器的下载)

入口:https://github.com/IntelRealSense/librealsense/releases/tag/v2.53.1

 下载

2.2 Intel RealSense Viewer

相机USB插入测试电脑的USB口。

 第一次接入,会有一些弹窗,我是该安装就都点击安装了

 打开对应的就可以看到信息。

三 、jeston 安装librealsense2 SDK 和使用realsense-viewer

  1. #第1步
  2. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
  3. #第2步
  4. sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

  1. #第3步
  2. sudo apt-get install librealsense2-utils
  3. sudo apt-get install librealsense2-dev
  4. #With librealsense2-dev package installed, you can compile an application with librealsense using g++ -std=c++11 filename.cpp -lrealsense2 or an IDE of your choice.

链接相机到测试主板,运行realsense-viewer 需要桌面系统支持。我是使用nomachine 链接的主板。

 可以看到和win 下基本一致。

四、ROS 下测试流程

4.1 ROS支持包源码获取

下载入口:https://github.com/IntelRealSense/realsense-ros/releases

由于我们的环境是:Ubuntu18.04 + ROS_ Melodic ARM64的CPU,所以需要找对应的。

https://github.com/IntelRealSense/realsense-ros/releases/tag/2.3.2https://github.com/IntelRealSense/realsense-ros/releases/tag/2.3.2

 

 下面没有采用源码安装,这类只是说明一下,这些源码获取的方式。

4.2 安装依赖包:

  1. sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
  2. sudo apt-get install ros-$ROS_DISTRO-realsense2-camera
  3. sudo apt-get install ros-$ROS_DISTRO-realsense2-description

4.3 配置USB口权限

下载 2.50 SDK的源码包:https://github.com/IntelRealSense/librealsense/releases/tag/v2.50.0

 拷贝到板子上解压:

  1. cd /home/nvidia/librealsense/librealsense-2.50.0
  2. sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
  3. sudo udevadm control --reload-rules && udevadm trigger

4.4 启动测试

roslaunch realsense2_camera rs_camera.launch

 设备被找到,程序成功运行起来。

4.5 查看点云

方法1:

随便找一个目录:

  1. #这是我的目录,实际根据自己情况来
  2. cd ~/librealsense/src/lanuch
  3. #拷贝脚本文件
  4. cp /opt/ros/melodic/share/realsense2_camera/launch/rs_d435_camera_with_model.launch run_d435_camera.launch
  5. #修改拷贝后的文件
  6. vim run_d435_camera.launch

  下面这些删掉或者注释掉。

  1. #在一个终端跑这句
  2. roslaunch run_d435_camera.launch

在有桌面的系统打开RVIZ

  1. #我是用nomachine 打开的桌面终端
  2. rosrun rviz rviz -f camera_color_frame

增加点云和可见光图像。

 增加点云。

方法2:

roslaunch realsense2_camera rs_d435_camera_with_model.launch

自动会打开RVIZ ,并且还包含摄像头模型

  1. # 新的终端可以打印话题
  2. rostopic echo /camera/color/camera_info
  3.   header:
  4.     seq: 372
  5.     stamp:
  6.       secs: 1673247363
  7.       nsecs: 791288376
  8.     frame_id: "camera_color_optical_frame"
  9.   height: 480
  10.   width: 640
  11.   distortion_model: "plumb_bob"
  12.   D: [0.0, 0.0, 0.0, 0.0, 0.0]
  13.   K: [605.0008544921875, 0.0, 324.71923828125, 0.0, 604.6115112304688, 246.77650451660156, 0.0, 0.0, 1.0]
  14.   R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
  15.   P: [605.0008544921875, 0.0, 324.71923828125, 0.0, 0.0, 604.6115112304688, 246.77650451660156, 0.0, 0.0, 0.0, 1.0, 0.0]
  16.   binning_x: 0
  17.   binning_y: 0
  18.   roi:
  19.     x_offset: 0
  20.     y_offset: 0
  21.     height: 0
  22.     width: 0
  23.     do_rectify: False
  24.   ---


至此,我们就完成了初步的测试和环境配置

纠错,疑问,交流: 911946883@qq.com