背景
随着ai技术的引入,机器人对世界的认知越来越深刻,上一讲中介绍了movidius ncs物体识别开发包,而实际生活中,对物体的认知远远超出“这是什么”,还需要回答“这个物体离我有多远”, “这是前面看到的那个物体么”,等等。在物体识别的基础上,本文将向您介绍对物体进行进一步分析的ros开发包的功能及其使用方法,您可以利用它进一步开发机器人的智能应用,比如智能蔽障,构建语义地图等。ros物体识别项目就是为了解决这个问题而出现的。
项目介绍
1.软件架构设计
本项目主体由三个ros发布节点组成,以提供不同方面的分析结果。物体检测节点(objectdetectionnode)提供被检测物体的类型和在视觉框图中的2d位置, 物体跟踪节点(object tracking node)提供物体id来表征当前检测到的物体是不是持续被跟踪的同一物体,物体3d定位节点(object 3d localization node)提供物体在3d空间中的位置信息。下面这张图展示了物体分析模块和其他相关的视觉采集节点(realsense node)以及物体检测后端节点的关系。
图1. ros物体识别架构
2.运行条件
·运行ubuntu16.04的x86_64计算机
·ros kinetic
·可深度学习进行物体识别的ros节点(二选一)
ointel movidius神经计算棒节点
o基于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神经计算棒,本章介绍的物体识别、跟踪、定位技术,还将陆续推出带有物体信息的语义地图,移动物体检测及避障,intel3d realsense摄像头的应用,以及ros到ros2的演进,ros2的实时及安全性等课题。希望我们在这一领域的工作能给您的项目带来更大的可能性,也希望能得到大家的反馈与建议,甚至发扬开源精神协同开发,使我们能更好地服务于开源社区,推动人工智能技术的发展和应用。
转载:中国机器人网(原始来源:评论:0)
以上是网络信息转载,信息真实性自行斟酌。










