刘晓帆,赵 彬,2
(1. 沈阳新松机器人自动化股份有限公司,辽宁 沈阳 110168; 2. 东北财经大学 工商管理学院,辽宁 大连 116025)
基于ROS的移动机器人平台系统设计*
刘晓帆1,赵 彬1,2
(1. 沈阳新松机器人自动化股份有限公司,辽宁 沈阳 110168; 2. 东北财经大学 工商管理学院,辽宁 大连 116025)
ROS是一个开源机器人操作系统。通过对机器人操作系统的研究,首先介绍了ROS系统框架和结构特点,其次提出了在ROS环境下搭建移动机器人平台的方法,并介绍了移动机器人系统的硬件平台,最后阐述了移动机器人各个功能模块。该移动机器人可以根据事先确定的任务自主进行全局路径规划,同时不断感知周围的局部环境信息,对ROS的应用有着重要的意义。
移动机器人;系统平台;系统架构;ROS
智能移动机器人对我国先进制造技术的发展起着关键作用,利用机器人技术和信息技术的相互结合,移动机器人将成为未来数字化信息化社会的关键角色[1]。随着移动机器人的发展,传统按键、摇杆等远程操作方式由于其操作繁琐等因素渐渐淡出人们的视野,基于视觉跟随、语音控制、自动导航等新型控制方式的机器人由于具有增强人机交互、提高参与感等优点越来越受到人们的关注。然而,随着机器人技术的发展,为不同机器人编写软件这一工作也变得越来越繁重。不同的机器人设计方案不同,底层接口也大不相同,编写软件也不同。虽然不同型号的机器人其基本算法是一致的,但是由于硬件板卡的不一致,导致了大量代码冗余、通用性较差等缺点[2-3]。为了改善这些缺点,机器人操作系统ROS应运而生。ROS很好地解决了软件开发过程中代码冗余、移植性差等问题。
本文在ROS平台的基础上,搭建移动机器人平台。该移动机器人平台以模拟人类自我学习的过程为目的,理解自己的状态和外部环境信息,从而实现实时运动控制决策、避障、找到最优路径;在栅格地图表征环境,采用栅格法进行路径规划自主移动和轨迹跟踪。基于ROS的移动机器人平台改善了传统机器人操作系统的缺点,为移动机器人控制提供了基础。为打破国外发达国家在智能移动机器人领域的相关技术封锁,提高我国智能移动机器人的技术水平,促进我国智能机器人产业的发展提供了坚实的基础。
1.1 ROS简介
在机器人功能日益复杂的情况下,如何能够简单快速地为机器人构建所需的软件系统是一个值得探讨的问题[4]。ROS提供一些标准操作系统服务,如硬件抽象、底层设备控制、常用功能实现、进程间消息以及数据包管理。ROS从不同节点的进程能够接受、发布、聚合各种信息(例如传感、控制、状态、规划等)[5]。目前ROS主要支持Ubuntu操作系统。ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图、行动规划、感知、模拟等。机器人操作系统(Robot Operating System, ROS)这一软件平台具有应用接口丰富、维护效率高等优点。
1.2 系统搭建
操作系统层是机器人平台的控制核心,集成了机器人的功能模块,负责行为控制、数据上传、指令解析、人机交互等功能[4]。移动机器人平台与 ROS 通信接口保持一致,使用Ubuntu12.04作为操作系统。如图1所示,基于ROS的移动机器人平台是一种较为典型的高性能、低成本机器人平台。移动机器人平台具有相似的结构与尺寸,同样可以完成多种多样的机器人应用,但是在接口的可扩展性、传感器的丰富度以及成本控制等方面,具备更好的综合性能。
该移动机器人平台继承了ROS的优势,具备ROS通信以及功能包运行的能力,与上层网络指令无缝连接,结合开源软件库,极大地丰富了机器人的功能模块与应用范围。
2.1 移动机器人平台
移动机器人平台(Mobile Robot Platform)具有软硬件可编程、灵活性强、模块化、易扩展、实时性强等特点,移动机器人平台的控制器采用Android系统,Android系统与ROS系统设备之间的通信,不仅可以解决计算资源的限制,而且非常方便稳定。如图2所示为搭建的移动机器人系统平台。该移动机器人平台运动控制模块,针对导航模块生成的路径规划,完善路径跟踪的调度算法,使生成一次路径规划改为2 s,目的是减少系统频繁路径规划导致机器人运动过程中来回摆动问题,实现自主避障功能算法。
图2 移动机器人平台
2.2 软件系统框架
根据层次化、模块化的思想,设计的移动机器人平台的总体架构如图3所示。其中ROS平台中的模块代表需要完善的功能模块;上层控制中的模块代表需要重新开发的功能模块。
图3 机器人控制器总体框架
总线通信模块:嵌入式双轴板板卡程序更新为基于标准CANopen总线通信(除应急帧功能外),针对硬件总线配线需求新增同步帧及从站初始化标准流程。
传感器处理模块:增加触摸传感器、压力传感器数据采集及控制处理完善声呐传感器控制处理流程。
指令系统:方便PAD操作易用性,结合点餐实际应用,满足用户基本需求,在目前的机器人平台指令系统中需增加一些方便点餐的控制指令。
导航模块:增加局部小角落地图定位问题,可满足机器人在某一范围的小角落环境下定位成功,解决码盘运动过程中位置纠偏问题;从算法上解决激光匹配问题(主要针对码盘和激光结合过程中,激光数据一旦异常后,可由码盘再次定位成功问题),针对激光数据异常做数据预处理。
3.1 控制器架构
嵌入式系统具备小型化、低功耗、低成本、高灵活性等显著特点,电子技术的发展也促使可编程门阵列FPGA在嵌入式系统中得到了越来越广泛的应用,很大程度上改善了嵌入式系统硬件的灵活度与繁琐计算的实时化。
(1)支持16路IO输入、16路IO输出,输出具有1A驱动能力,安全接口支持外部设备急停、示教盒及控制器本体急停,且支持生产线急停串联。
(2)支持双路CAN通信,实现协议解析与数据收发模块独立化设计。
(3)支持一体化关节、7轴机器人、蛙手及SCARA手运动学正、反解。
(4)内置供电单元兼容24 V及48 V,内置制动电阻满足一体化关节手臂需求。
(5)带载功率1 200 W,支持动力电可控与动力电不可控两种模式并具备动力电监测功能。
3.2 系统IO模块
IO控制模块主要完成IO信号量的采集。该模块以DSP2812+CPLD的架构实现IO的32路输入、32路输出控制,输出最大驱动电流为50 mA。IO控制模块通过CAN总线或者Ethe机器人平台AT与机器人平台进行通信。板卡尺寸为150 mm×100 mm,与E600相同。
IO板通信协议采用基于机器人平台CANopen通信协议或者自定义协议,根据通信协议中SDO或PDO帧,控制IO口的输出状态,采集输入状态。模块组成:CAN驱动模块、CANopen模块、E2驱动模块、SPI驱动、E2PROM驱动、IO输入输出。信息传递使用全局变量实现,定时器实现了IO定时刷新与超时判断功能。
4.1 语音技术
机器人具有语音输入输出功能,可以把文字材料转化成语音朗读出来;操作者可以向便携终端输入语音命令,机器人识别后经过语音合成后作出应答。可以在安静的环境下与顾客简单对话。
中英文混合识别技术特别是对中文口音的英文发音的处理方法,提高对英文单词和短语的处理能力。开放式词表扩展技术:研究可以在线扩展词表的有限自动网络增强方法,实现领域词表的自由增减。方言口音自适应技术:研究对各种方言口音的鲁棒性建模方法,增强对多种口音发音的识别能力。
4.2 通信技术
移动机器人控制平台的通信子系统由两个单独的模块构成:CANopen通信模块、LCM通信模块。移动机器人控制平台与机器人驱动平台通过CANopen协议进行通信,实现机器人控制平台对行走各轴的运动控制以及对电量监控板、传感器采集板等板卡的数据采集。LCM通信是系统内部通信接口,通过LCM中间件实现平台系统的内部通信,底层为UDP广播。将激光传感器数据广播到导航程序中,经过计算后,导航程序将路径信息传送给机器人平台程序。
这个系统的优势是可以应用在很多领域,它是基于Linux的系统,可以做得很小而且高效可靠,适合嵌入式设备,而且它是分布式系统,只要不同设备处于同一局域网中就可以把整个系统看作一个整体。在系统层级不分设备,可以相当于在同一设备上任意调用资源,而且通过rosjava可以与Android连接。所以这些特性非常适合智能家居和当前热门的可穿戴式设备。
4.3 导航定位
机器人平台系统中导航定位包括躲避障碍物、可靠环境感知、鲁棒数据关联和基于位姿的粒子滤波等方法。再次地图表征环境,采用栅格方法进行路径规划。其次,机器人可以通过环境感知传感器采集环境信息,实现自主路径规划并运动到预先设定的目标点,无需人工干预。移动机器人具体工作时根据事先确定的任务自主进行全局路径规划,在执行此路径的跟踪时,还要不断感知周围的局部环境信息,避开附近的移动障碍物,即要进行局部规划或局部路径修正。
图4、图5所示为激光雷达构建的地图数据。导航模块为独立模块,通过LCM与机器人平台系统进行通信,实现地图创建、路径规划、自主避让、定位、以及目标跟随等功能,为机器人底盘运动核心部分。利用粒子滤波全局定位功能,在判断激光定位出错时,在大范围内(10 m×10 m),机器人边运动边采用粒子滤波大范围定位。
图5 实时激光数据地图匹配
本文设计了一种基于ROS的移动机器人平台系统。该机器人系统平台通过采集人体的手势、姿态和语音信息,然后利用数据融合技术对信息数据进行处理。移动机器人平台系统采用激光传感器采集激光数据,并使用ROS包生成移动机器人周围的虚拟现实环境,解决了传统生产调试操作繁琐、系统延时大、现场感不强等缺点,使操作人员有如身临其境地操作远程移动机器人,能高效地完成移动机器人作业。鉴于此,研究基于ROS的移动机器人对导航与调度系统技术研究具有重要意义,不仅满足我国对未来多种类的高性能智能移动机器人需求,而且对占领市场具有重要的战略意义。
[1] 刘振宇,赵彬,朱海波,等.六自由度机械臂分拣系统仿真平台研究[J]. 机械设计与制造, 2013,3(2): 210-213.
[2] Wang Bingfeng, Cui Shigang, Zhao Li, et al. Mobile robot map building based on grid arrangement[J]. Artificial Intelligence and Computational Intelligence, 2009, 9(2): 288-291.
[3] LEE Y C, CHRISTAND, YU W, et al. Satellite image based topological map building method for intelligent mobile robots[J]. Intelligent Vehicles Symposium, 2012,2(7): 867-872.
[4] CHANG W C, CHUANG C Y. Vision-based robot navigation and map building using active laser projection[J]. System Integration (SII), 2011, 11(20): 24-29.
[5] GUIVANT J, NEBOT E, BAIKER S. Autonomous navigation and map building using laser range sensors in outdoor applications[J]. Journal of Robotics Systems, 2000, 17(10) : 565-583.
Design of mobile robot platform system based on ROS
Liu Xiaofan1, Zhao Bin1,2
(1. SIASUN Robot & Automation Co., Ltd., Shenyang 110168, China;2. College of Business Administration, Dongbei University of Finance and Economic,Dalian 116025,China)
ROS is an open-source robot operating system. In this paper, the research of the robot operating system is introduced. Firstly, the framework and structure of ROS are introduced. Secondly, the method of building mobile robot platform in ROS environment is proposed. Thirdly, the hardware platform of mobile robot system is introduced. At last, the function modules of mobile robot are expounded. The mobile robot can autonomously carry out global path planning according to the pre-determined tasks, and continuously sense the surrounding local environment information, which is of great significance to the application of ROS.
mobile robot; system platform; system architecture; ROS
国家科技重大专项(2014ZX02103)
TP242.3
A
10.19358/j.issn.1674- 7720.2017.11.016
刘晓帆,赵彬.基于ROS的移动机器人平台系统设计[J].微型机与应用,2017,36(11):54-56,59.
2017-01-12)
刘晓帆(1980-),通信作者,女,硕士,副总工程师,主要研究方向:机器人控制系统应用。E-mail:tech_zhaobin@126.com。
赵彬(1987-),男,硕士,工程师,主要研究方向:机器人及自动化。