APP下载

基于ROS的服务型机器人新型控制方式

2016-06-21大连理工大学控制科学与工程学院郭欣桐广西大学机械工程学院物流工程实验室

电子世界 2016年11期

大连理工大学控制科学与工程学院 郭欣桐广西大学机械工程学院物流工程实验室 战 艺

基于ROS的服务型机器人新型控制方式

大连理工大学控制科学与工程学院 郭欣桐
广西大学机械工程学院物流工程实验室 战 艺

【摘要】传统的服务机器人控制方式通常采用键盘等操控,再通过视频监控进行反馈的控制方式,该方式具有操作繁琐、高延迟、缺乏临场感等缺点。为了改善这些缺点,提出一种基于ROS机器人操作系统的服务机器人新型控制方式,以ROS为基础,在语音控制的基础上通过深度摄像头实现跟随物体。实验结果表明,该种控制方式可以高效完成指定任务,具有操作简单、延迟低、临场感强等优点,改善了传统机器人操控繁琐的缺点,为服务行业、物流领域等诸多方向提供了一种新型的解决方案,提高了人的工作效率。

【关键词】机器人操作系统;服务机器人;语音控制;机器人视觉;机器人跟随

0 引言

随着服务机器人的发展,传统按键、摇杆等远程操控方式由于其操控繁琐等因素渐渐淡出人们的视线,基于视觉跟随、语音控制、自主导航等新型控制方式的机器人由于具有增强人机交互、提高参与感等优点越来越受到人们的关注。然而,随着机器人技术的发展,为不同机器人编写软件这一工作也变得越来越繁重。不同的机器人设计方案不同,底层接口也大不相同,编写的软件也不同。然而,其基本算法是一致的,这就导致了机器人平台繁多,大量代码冗余,通用性差等缺点。为了改善这些缺点,机器人操作系统ROS(robot operating system)应运而生。ROS很好的解决了软件开发过程中代码冗余、移植性差等问题。ROS兼容C++、Python等主流编程语言,可以跨平台,含有rviz、gazebo、tf等丰富的软件资源,现已成为机器人开发领域的首选工具。

本文在基于ROS平台的基础上,在语音控制的基础上,设计了视觉跟随的服务型机器人新型控制方式,改善了传统机器人操作繁琐等缺点,为服务行业、物流领域的服务机器人控制提供了基础。

1 ROS系统框架

ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Garage公司的个人机器人项目PRP(personal robots program)之间的合作。2010年Willow Garage公司发布了开源机器人操作系统ROS,很快在机器人研究领域展开了学习和使用ROS的热潮。

ROS是开源机器人操作系统,它是一种分布式模块化的开源软件框架[1],其目的在于提高软件代码的复用率,提供机器人开发框架。主要特点有多语言支持、免费开源等。ROS总体框架如图1所示。

图1 ROS总体框架

计算图级主要是体现进程与系统之间的通讯。主要包括节点、节点管理器、参数服务器、消息、服务、主题和消息记录包几部分。节点是利用ROS与其他节点通讯的可执行程序,节点之间通过消息进行通讯。消息是一种ROS数据类型,以订阅或发布主题的方式进行传递。ROS主机提供了主题发布服务,其结构如图2所示[2]。节点1将数据发送给节点2,在ROS主机上注册了对应的主题和服务,节点2通过订阅对应的主题来接受消息,进而与节点1进行通信。ROS框架允许多节点发布或订阅同一主题,因而只需知道主题是什么,而不需要知道发布该主题的节点的名称。

文件系统级主要包括功能包(package)与功能包集(stack)。功能包是ROS中软件组织的基本形式,软件包可包含程序库、可执行文件、脚本等。功能包集(stack)是软件包的集合,提供完整的功能。清单(manifest)是对软件包信息的描述,用于定义软件包之间的依赖关系、开源许可证协议等。

社区级主要指ROS资源,能通过独立的网络社区分享软件与资源[3]。

图2 ROS计算图级结构

2 服务机器人控制方案

2.1 实验平台

Turtlebot服务机器人平台是基于ROS框架下的移动机器人,本实验采用韩国Yujin公司的Kobuki底盘,并配有Asus Xtion pro live深度摄像头,机器人实物如图3所示。

图3 实验平台实物图

2.2 服务机器人新型控制方式简述

服务机器人新型控制方式主要结构如图4所示。语音控制在开源项目CMU Pocket Sphinx的基础上进行二次开发,其通过识别出用户的语音命令(如forward、halt等)进而发出控制命令控制机器人移动。在语音控制的基础上,采用跟随软件包为主、语音控制为辅的方式进行控制,跟随软件包使用Camshift算法,通过寻找前方物体并与之保持一定的距离,进而实现跟随。

图4 新型机器人控制方式结构图

3 机器人新型控制方式的实现

3.1 机器人跟随算法及软件包

ROS机器人跟随通过Asus Xtion pro live深度摄像头求出前方物体的质心坐标,计算出机器人当前与其距离与角度,进而计算出速度与角速度来跟随前方物。

跟随软件包采用Camshift算法[4],设(x,y)为搜索窗口中的像素坐标,I(x,y)是投影图中(x,y)的像素值,定义搜索窗口的零阶矩M00、一阶矩M10、M01如下:

可以求得搜索窗口的质心坐标:

然后根据M00调整窗口大小,并将窗口中心移到质心,若移动距离大于预设阈值,则重新计算质心。直到窗口中心与质心间距离小于预设阈值,或者循环次数到某一设定值,认为满足收敛条件,进行下一帧计算。

令:

则下一帧搜索窗口的长度l1、宽度l2和角度分别为:

由于运动物体在视频图像中的大小、位置可能会发生变化,Camshift算法会根据上一帧图像跟踪结果得到的新窗口可能与目标窗口不联通,导致跟踪丢失。初始选择窗口得到的目标零阶矩,若后续跟踪得到的,则认定本次跟踪目标丢失。当目标丢失时对其运动进行估计,考虑到运行效率,假设目标在很短的时间内是匀速运动的,令分别为前一次目标在水平、垂直方向上的位移,故可认为与本次的位移一致,即将其作为本次的预测位移对其窗口进行平移,若目标有一部分落在窗口内,则仍可使用Camshift算法搜索,进而提高了Camshift算法的稳定性,利用Camshift算法跟踪水杯的仿真实验如图5所示。

在Camshift算法的基础上,编写机器人跟随软件包,其简要流程图如图6所示。软件包首先对机器人相关移动参数进行设定,如速度上下限、角速度上下限等,然后获取摄像头的点云信息,并发布空消息给机器人底盘使其停止。如果存在点云信息,则计算前方目标的质心坐标;若不存在点云信息,则返回继续等待。计算出质心坐标之后计算机器人的线速度角速度等参数,并发布主题,机器人控制节点通过订阅该主题,将控制信息发布给机器人控制其移动。

图5 利用Camshift算法跟踪水杯的仿真图

图6 跟随软件包简要流程图

3.2 机器人语音控制软件包

该软件包在CMU Pocket Sphinx开源项目的基础上进行二次开发,可以将识别出的语音转化为文字信息,与命令库中的命令进行匹配,进而发布命令控制机器人执行相关命令,语音控制可以与机器人跟随结合起来使用。该软件包的核心节点recognizer.py通过麦克风采集语音消息进行识别,进而生成文本信息,转化为控制命令进行控制。本系统添加了forward(向前)、halt(停止)、turn left(左转)、turn right(右转)、rotate left(左转90°)、rotate right(右转90°)、slower(减速)、faster(加速)、follow me(跟随我)共九个语音指令。识别出的文本通过主题/recognizer/output发布,使用其它节点订阅该主题即可获得文本信息,并对机器人发出控制指令。语音控制的简要节点图如图7所示。

图7 语音控制的简要节点图

4 结束语

本文提出了一种基于ROS的服务机器人的人机交互方式。机器人跟随通过深度摄像头采集周围环境的信息,计算出其质心坐标进而实现跟随。语音控制通过识别用户语音进而实现控制。这种新型控制方式为服务行业、物流领域等诸多方向提供了一种新型的解决方案,改善了传统机器人操作繁琐、缺乏临场感等缺点。节省了人力物力,提高了人的工作效率。

参考文献

[1]ZUO Xuanchen,HAN Liangliang,ZHUANG Jie,et al.Design of human-robot interaction system for space robot using robot operating syatem[J].Computer Engineering & Design,2015,12∶3370-3374(in Chinese)[左轩尘,韩亮亮,庄杰,石琪琦,黄炜.基于ROS的空间机器人人机交互系统设计[J].计算机工程与设计,2015,12∶3370-3374.

[2]ROS Summarize[EB/OL][2016-2-19].http∶//www.guyuehome. com/229,2016(in Chinese).[ROS探索总结][EB/OL][2016-2-19]. http∶//www.guyuehome.com/229,2016].

[3]QIAN Sheng.Study on obstacle avoidance of mobile robot Based On Multi sensors[D].University of the South,2014(in Chinese)[钱胜.基于多传感器的智能小车避障研究[D].江南大学,2014].

[4]XUE Cuihong,QI Liping,YANG Peng,et al.A real-time object recognition and tracking system for home service robots[J].Journal of HeBei University of Technology,2015,06∶1-6+32(in Chinese)[薛翠红,齐立萍,杨鹏,贾超.一种服务机器人的实时物体识别与跟踪系统[J].河北工业大学学报,2015,06∶1-6+32].

A new control mode of service robot using robot operating system

GUO Xin-tong1zhanyi2
(1.School of control science and Engineering,Dalian University of Technology Dalian 116024,China;2.Logistics Engineering Laboratory,School of mechanical engineering,Guangxi University,Nanning,Guangxi 530004)

Abstract:The control methods of traditional service robot usually by using keyboard or other controllers,and feedback to people through video surveillance,which has the disadvantages of complex operation,high-delay,lack of presence and so on.In order to improve the disadvantages,a new control method for the service robot based on the robot operating system was designed.This system on the basis of the voice control and following the object through the depth camera.The experimental results indicate that this control mode can finish assigned tasks efficiency.It has the advantages of simple operation,low latency and telepresence.It improves the traditional robot the shortcoming of tedious manipulation and provides a modern solution for service industry,logistics,etc.,and improving people's working efficiency.

Key words:robot operating system;service robot;speech recognition;robot vision;robot follow