位置:工业机器人>>工业机器人>>机器人资讯>>内容阅读
英特尔® RealSense™ 摄像头基于ROS的实现与封装

技术背景

深度摄像头能够像人类感知方式一样捕捉现实世界的相机—无论是在色彩还是距离上。许多应用场景离不开深度摄像头的支持,比如3D人脸身份验证,基于3D信息的2D照片美化,物体速度方向的检测,背景移除等等。本文将向您介绍基于 Intel RealSense™ 的ROS开发包的功能及其使用方法,您可以利用物体深度信息开发出更多应用,并和其他ROS节点无缝连接,为您的机器人装上敏锐的“眼睛”。

Intel 3D RealSense摄像头和传统2D摄像头相比,增加了深度信息,给各种设备提供了看到、理解、感知世界的新途径,使各种基于3D信息的新应用成为可能。在机器人研究领域,人们广泛采用ROS框架,这一框架下的各个应用通常采用消息(message)和话题(topic)的方式进行通信。在这种特殊情况下,针对libRealsense做进一步的ROS封装才能使其无缝工作在ROS系统中。该项目目前已经在github上开源, ROS2 的封装正在开发中,也即将与您见面。

项目介绍

1. 软件架构设计


图 1. ROS/ROS2 RealSense

图2. RGBD点云生成图

2. 运行条件

· 运行Ubuntu16.04的x86_64计算机

· ROS Kinetic

· RealSense™ D400/SR300系列摄像头

· RealSense™ SDK 2.0

具体环境配置可以参考这里

3. 编译与安装

下载源码到本地ROS工作区,切换到最新发布,编译、安装。

$ mkdir -p ~/catkin_ws/src

$ cd catkin_ws/src/

$ catkin_init_workspace

$ cd ..

$ catkin_make clean

$ catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release

$ catkin_make install

4. 运行演示程序

插入RealSense摄像头,运行启动命令:

# 在控制台#1启动rviz

$ source /opt/ros/kinetic/setup.bash

$ rosrun rviz rviz

# 在控制台#2启动realsense2_camera

$ source ~/catkin_ws/devel/setup.bash

$ roslaunch realsense2_camera rs_camera.launch enable_pointcloud:=true

# 或在控制台#2启动生成高质量的点云信息的命令

$ roslaunch realsense2_camera rs_rgbd.launch

图3. RGB(左上), 深度(左下),红外1(右上),红外2(右下),点云(中)

图4. 高质量点云图

应用领域

本项目提供的RGBD信息,可以运用于多种机器人使用场景,例如:

场景中的物体分割定位

分析RealSense的点云信息,将场景中的不同物体进行分割,再进行物体3D定位。

物体速度分析

根据RealSense提供的连续的深度信息,进行物体定位,再计算出物体速度的大小及方向,合理规划路径达到智能避障。

人脸身份验证

如果只是用二维信息进行身份验证,安全性和正确性将大打折扣。比如,有人会用照片来欺骗认证系统。带有三维信息的实时人脸识别将有效地解决这个问题。

2D图像美化

基于3D信息,对2D的图像美化将更加自然真实。甚至可以对拍摄对象进行旋转以达到期望的角度,配合装饰图片,给你全新的自拍体验。

展望

本项目目前开发到v2.0.2版本,基于RealSense SDK的不断演进,本产品也在不断迭代开发当中。同时由于ROS2相对ROS具有更好的安全性和实时性,我们计划移植项目到ROS2中。

只要你关注机器人,你就无法错过睿慕课
免责声明:本网站部 分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请立即联系管理 员,我们会予以更改或删除相关文章,保证您的权利。对使用本网站信息和服务所引起的后果,本网站不作任何承诺。
共建单位:中国机械总院集团海西(福建)分院    三明学院机电工程学院
All Rights Reserved. 运营维护:三明市明网网络信息技术有限公司 业务咨询:0598-8233595 0598-5831286 技术咨询:0598-8915168