返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 订阅邮件
有疑问,咨询在线客服

物体分析在ROS中的实现与封装

时间:2018-05-16 来源:机器人创新生态

背景

随着AI 技术的引入,机器人对世界的认知越来越深刻,上一讲中介绍了Movidius NCS物体识别开发包,而实际生活中,对物体的认知远远超出“这是什么”,还需要回答“这个物体离我有多远”, “这是前面看到的那个物体么”,等等。在物体识别的基础上,本文将向您介绍对物体进行进一步分析的ROS开发包的功能及其使用方法,您可以利用它进一步开发机器人的智能应用,比如智能蔽障,构建语义地图等。ROS物体识别项目就是为了解决这个问题而出现的。

项目介绍

1. 软件架构设计


 本项目主体由三个ROS发布节点组成,以提供不同方面的分析结果。物体检测节点(Object Detection Node)提供被检测物体的类型和在视觉框图中的2D位置, 物体跟踪节点(Object Tracking Node)提供物体ID来表征当前检测到的物体是不是持续被跟踪的同一物体,物体3D定位节点(Object 3D Localization Node)提供物体在3D空间中的位置信息。下面这张图展示了物体分析模块和其他相关的视觉采集节点(RealSense Node)以及物体检测后端节点的关系。

图1. ROS 物体识别架构

2. 运行条件

· 运行Ubuntu16.04的x86_64计算机

· ROS Kinetic

· 可深度学习进行物体识别的ROS节点 (二选一)

·Intel Movidius 神经计算棒节点

·基于OpenCl Caffe的物体识别节点

· RGBD相机

3. 编译与安装

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

4. 运行演示程序

rviz 中看到的物体识别,跟踪和定位信息如下:

图2. 演示截屏

应用领域

本项目提供的物体检测,跟踪和定位的能力,可以运用于多种机器人使用场景,例如:

1. 3D物体识别与追踪

基于物体在三维空间中的位置,从而对物体进行3D识别与跟踪。

2. 机器人智能避障

传统的机器人采用雷达来检测障碍物,而在高速情况下,对雷达的检测距离和精度要求非常高,高精度的雷达价格动辄上万,基于3D摄像头的方案成本将大大降低。基于物体识别的避障,还能通过指定不同的策略来应对不断变化的场景,使机器人避障更加智能。

3. 基于语义的同步定位与建图(SLAM)

通过将识别出的物体及位置信息,标注在SLAM得到的地图上,可以极好地提高地图的可读性和人机交互的便利性。

展望

本项目目前开发到v0.3.0版本,我们将持续优化计算方案,以达到更好的性能,满足应用中实时性的要求。另一方面,由于ROS2相对ROS具有更好的安全性和实时性,我们计划移植项目到ROS2中。

Intel开源软件技术中心(Open Source Technology Center)将不断推出更多的基于ROS/ROS2开发的新技术,除了介绍过的Movidius神经计算棒,本章介绍的物体识别、跟踪、定位技术,还将陆续推出带有物体信息的语义地图,移动物体检测及避障,Intel 3D RealSense 摄像头的应用,以及ROS到ROS2 的演进,ROS2 的实时及安全性等课题。希望我们在这一领域的工作能给您的项目带来更大的可能性,也希望能得到大家的反馈与建议,甚至发扬开源精神协同开发,使我们能更好地服务于开源社区,推动人工智能技术的发展和应用。

关键字: 机器人 产业
阅读 693 11 收藏