基于ROS平台的机器人目标识别系统的设计

2018.2
理论与算法
基于R OS 平台的机器人目标识别系统的设计
贾浩东
(西安交通大学附属中学,陕西西安,710043 )
摘要:ROS (Robot Operating System)是一个开源的机器人操作平台。在对RO S 框架研宄的基础上,本文介绍了 R O S 的构成 与特点;提出了基于R0S 平台的移动机器人的目标识别系统的硬件结构和软件体系,实现了目标识别算法。在实验过程中,指 定目标对象能被搭载本系统的移动机器人自动、精确地识别。本系统对于移动机器人相关领域的研发具有较高的理论及应用 价值。
关键词:R0S ;移动机器人;目标识别;算法
Design of robot target recognition system based on ROS platform
Jia Haodong
(High School Affiliated to
X i f
an Jiaotong University,
X i f
an Shaanxi ,710043)
Abstract : ROS is an open source robot operating platform. In this paper, the composition and
characteristics of ROS platform is briefly introduced. The hardware structure and software system of robot target recognition system based on ROS platform is proposed. And then, the target recognition algorithm is given. It can make the robot automatically identify the target object in motion. The research has application value for the development of the robot.K e y  W o r d s :ROS;mobile robot; target recognition ;algorithm
〇引言空调风叶
目前,随着人工智能技术的不断发展与控制芯片处理能力的 不断提高,智能机器人在现实生活中的应用也越来越广泛。作为 智能机器人的一个重要的组成部分,视觉识别系统也越来越受到 人们的重视[1]。智能机器人的视觉识别系统是指利用计算机或 微处理器来实现系统对现实世界信息的感知与识别,主要是通过 目标对象的纹理、颜、形状等信息提取其关键特征,进而完成对 环境中指定目标对象的识别。机器人视觉系统主要致力于令机器 人的核心控制芯片具有从二维图像获取到现实世界中三维环境 信息的能力。这不但包括对现实世界中三维物体的位置、形状、运 动等信息的感知,而且能对其进行深度地识别与反馈。
本文以R0S 平台为基础,搭建了针对移动机器人的目标识别 系统。系统可通过Adaboost算法使移动机器人自动识别区域中 的目标对象,对于移动机器人领域的研发具有较高的理论及实际 应用价值。
1 ROS 平台简要介绍
R0S(Robot Operating System)是一个开源的、广泛适用于 机器人的开发与应用的操作平台。它不但为机器人开发者提供包 括机器人硬件抽象,底层驱动与控制,模块间消息传递等功能。而 且也包含用于获取、编译、和跨平台运行程序所需的工具和API 接口气
为机器人开发者提供代码和功能上的支持是R0S 平台的主 要开发宗旨[3]。它提供了一个分布式的运行平台,平台中各独立 的、分布式运行的模块被封装在开源通用的R0S 程序包和功能包基金项目:陕
西省“春笋计划”课题研宄项目。
中。R0S 也支持一种类似于代码共享的云平台,不同位置的开发 者可通过该平台实现相关项目的协同开发与联合发布。基于上述 思想,R0S 可以使一个项目实现从底层文件系统到上层用户接 口完全独立研发。与此同时,R0S 工具包也能将项目的所有内容 整合到一起。
2系统架构介绍
2.1 软^
机器人目标识别算法的实现主要依赖R0S 平台。该平台的运 行架构是一种使用经过特殊集成与封装的通信机制实现平台中 各子模块间松耦合连接的处理架构,R0S 平台提供若干种不同 类型的通讯方式,包括基于服务(Service)的同步远程过程调用 通讯、基于话题(Topic)的异步数据通讯,此外还支持服务器对用 户输入的指定的参数信息的存储与应用。R0S 系统中模块间的 通信采用点对点的通信方式。系统中的每一个模块可设置为一个 节点(node),节点之间的通信协议采用订阅(subscribe)和发布 (publish)的形式■■通信前在系统中建立一个话题(topic)。在每 个节点中发布方在此话题中发布相应的通信数据,接收方订阅相 应的通信数据并完成相应的通信。图1为机器人系统中图像处理 节点示意,在该节点中我们订阅“ /image_raw”话题中的消息,在 节点中完成相应的识别,再将识别结果发布至“dji_sdk/image_ raw”中,其余节点可订阅该话题上的消息,完成其余功能。
2.2 硬^H
移动机器人目标识别系统采用了 NVIDIA公司生产的 Jetson TK1作为开发平台,该平台基于嵌入式Linux系统,具有
理论与算法2018.2
丰富的接口,搭载了图像采集模块,整个系统具备小型化、低功 耗、低成本、高灵活性等显著特点[4]。Jetson TK1是NVIDIA嵌 入式Linux开发平台,其核心处理器具备与现代桌面G PU相同的 高级功能和架构,同时具有移动芯片的低功耗,可连续在繁重的 工作量下运作。因此,本文所设计算法的代码实现可以轻松的在 TK1上完成,具有与桌面相似的G PU加速性能水平。
图1R0S系统节点通信示意图
3基于Adaboost的目标iRSU算法
3.1算法简介
本系统的图像识别算法采Freund和Schapire提出的Adaboost算法,该算法的检测模型由多个弱分类器级联组成。Adaboost算法在训练的过程中不需要预先设定每个弱分类器的 错误率下限,而是通过弱学
习的过程自适应地调整个分类器的错 误率,因此该算法在不需要提供弱学习器先验信息的前提下仍保 证了极高的检测和识别率,在提出之后得到了广泛的应用。
通过Adaboost算法实现对指定目标对象的识别的过程主要 由模型训练和目标对象识别两个部分组成。模型训练是指根据给 定的样本,提取训练集中图片的特征组成训练集(如Haar-like 小波特征、H O G特征等),并以此为基础不断调整模型中各弱分 类器的参数,使给定样本中模型的最终的分类误差最低;对象识 别是指在模型训练完成的基础上,对于输入图像的特征,利用算法 模型计算得出该图像的分类信息,根据分类结果实现对象的识别。
3.2算法实现
回转窑烧嘴
Adaboost算法的主要训练流程如下[4],其中
\(岣=兄= 足(少=-取),反映了属于正样本和属于负样本之间的概率差。
(1) 给定训练集的样本(文1,>〇,(^1,少1),…,(〜,:,对于正样
本令乂=1 ;负样本,令乃=_1。对样本中的各权重按照下式进 行初始化,式中1为正样本个数,m为负样本个数;
Y v y =l
S i=
1!
(2) 给定分类器个数T,对于f=i,…,r
① 对于每个输入的特征j,得到弱分类器A'[_1,1];
② 计算弱分类器^分类误差,选出
1=1
最优的弱分类器;
程序升温③更新,«_= 1,2,,并且重新归一化。50
(3)输出强分类器G⑷=(x)
_f=l _
最终经过上述训练过程得到Adaboost的数学模型,在目标 识别的过程中,本系统通过提取目标图像的
Haar关键特征,然后 将特征输入Adaboost模型中进行目标识别[5]。具体检测过程如 下所示:首先,初始化检测窗口并载入训练模型的各参数值;其 次,按照一定的方向移动检测窗口,提取窗口内的Haar特征,直 至检测窗口遍历整个图像;然后,利用训练好的Adaboost模型 对目标进行检测,若发现目标则在图形中标出被检测的目标,否 则按照一定的倍数对检测窗口进行放大,再次按照上述步骤进行 一次图像遍历;不断的放大检测窗口并对目标图像执行上述遍 历的过程,直至检测窗口超过原图像的一半大小,并输出最终的 检测结果。该过程的具体过程如图2所示。
图2目标识别系统识别目标的流程图
经过上述过程,机器人利用Adaboost算法最终完成了在指 定区域内自动对目标的识别与检测。图3展示了机器人利用该目 标识别系统进行人脸识别的结果,结果表明,该系统对单目标和 多目标都有很强的目标识别能力。
m
f
J/! iM
kiU«lr
图3 (a)单个目标识别结果 图3 (b)多目标识别结果 图3目标识别系统在人脸识别过程中的运行结果
(下转第59
页)美藤kou
2018.2
理论与算法
图8单个独立多边形告警区嵌套
图9多个独立多边形告警区嵌套
图10非独立多边形告警区嵌套
最后考虑非独立多边形告警区嵌套的情况。从图9可看出, 在这种绘制方式下,无论告警区之间是否存在公共边、公共顶点, 都不会影响最终划分的告警区数目,依然恒定为2+N 个,其中N  为嵌套告警区的数量。
5结束语
发热手套CA 告警区作为空管自动化系统的重要参数,其划分和配置 方法是维护人员必须掌握的基础技术。本文介绍了笔者在绘制C A  告警区过程中总结出的一些几何规律,从中可以看出,矩形告警区 形状规则,但如果存在嵌套时需要划分的告警区数量繁多,工作 量大。而多边形告警区在存在嵌套时划分方法简单,工作量小。因 此在配置CA 告警时需要结合实际情况,选择适合的告警区绘制方 法。笔者经验所限,难免有疏漏之处,欢迎广大同行批评指正。
参考文献
[1] 谢华.空管自动化系统的一个故障案例分析[J ].电脑知识与
技术:学术交流.2014 (30):7177-7179.
[2] 周辉.空管自动化系统大面积DUPE 告警故障分析[J ].数字
脚踏式垃圾桶通信世界.2017(10).
(上接第50页)
4结论
本文利用开源的R 0S 机器人平台,提出并设计了一种移 动机器人目标识别系统,该系统通过视觉传感器采集图像信息 并上传至机器人主控芯片,主控芯片上运行的R 0S 平台上利用 Adaboost 算法实现了对指定区域内对目标的实时识别与检测。
本文提出的基于R 0S 平台的机器人目标系统充分利用R 0S  分布式计算与实时交互的特性,不但降低了开发难度,而且提高 了目标识别的效率及效果M ,使移动机器人能够自动识别目标 区域内的对象,为后续移动机器人的自主运行、精确定位以及自 主避障的相关研宄奠定了一定的基础。
参考文献
[1]刘洁,平雪良,齐飞,蒋毅.基于视觉跟踪的机器人测量方法
与实现[J ]•应用光学.2016,37(05):686-692_
[2] 刘晓帆,赵彬.基于R 0S 的移动机器人平台系统设计[J /0L ].
微型机与应用.2017,(11):54-56+59.
[3] 左轩尘,韩亮亮,庄杰,石琪琦,黄炜.基于R 0S 的空间机器人人机交互系统设计[J ].计算机工程与设
i t  ,2015,36(12):3370-3374,
[4] 文学志,方巍,郑钰辉.一种基于类H aar 特征和改
进AdaBoost 分类器的车辆识别算法[J ].电子学 报.2011,5:1121-1126.
[5] 李婷俐.基于多特征级联分类器的道路车辆检测方法研究[D ].
湖南大学.2012-05.
[6] 刘彬.基于R 0S 和OpenCV 的云服务系统与人脸识别应用[J ]•
科技广场.2016,11:40-43.
59
田孑侧i!
t

本文发布于:2024-09-22 01:01:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/124759.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:目标   系统   识别
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议