黄伟溪 李丽丽 李文威 周磊 江淑玲
开发设计
基于openTCS的移动机器人集群调度系统*
黄伟溪1李丽丽2李文威3周磊1江淑玲1
(1.华南智能机器人创新研究院,广东 佛山 528300 2.顺德职业技术学院,广东 佛山 528300 3.佛山智优人科技有限公司,广东 佛山 528300)
针对工业搬运过程中多移动机器人协同作业的需求,提出基于openTCS的移动机器人集群调度系统。首先,介绍系统整体架构和组成;然后,详细阐述移动机器人运动控制、多机协同的即时定位与地图构建(SLAM)以及移动机器人与调度系统的通讯关键问题;最后,以工业物料搬运为例,完成系统搭建并进行运行测试。测试结果表明,该系统能够同时控制多台移动机器人高效地完成物料搬运任务。
移动机器人;集群调度;多机协同;即时定位与地图构建
随着智能制造对小批量、多品种、个性化生产需求的增加,多移动机器人协同完成复杂任务变得越来越重要。通过多移动机器人协同作业,使一些单机器人无法实现的任务变得可行[1]。在过去十年中,多机器人系统在制造业、仓库管理、农业和环境监测等领域的应用越来越广泛[2]。
集群调度是多移动机器人领域的难点,具有NP-hard复杂度。分布式智能算法(多智能体算法、遗传算法、模糊算法、智能优化算法等)为集群调度提供了有效的解决方案。文献[3]给出两级分布多智能体系统框架的解决方案,设计了二维遗传算法,并结合秩最小启发式算法给出了一种精英策略。文献[4]提出利用二维遗传算法解决耦合任务分配与调度问题,并通过仿真实验对该算法的有效性和运行效率进行了验证。文献[5]提出一种基于多准则模糊控制器的自动导引运输车(auto- mated guided vehicle, AGV)智能调度方法,并利用MATLAB及模糊推理引擎实现了调度系统。文献[6]利用生物启发的鲸鱼优化算法寻找调度问题的最优解,并在Khepera II移动机器人的调度过程中进行了有效性验证。
目前,移动机器人调度软件主要分为3类:1)开源机器人调度软件,针对不同类型的机器人具有良好的兼容性,但需要根据实际应用场景进行二次开发,如开源交通控制系统(open traffic controller system, openTCS)[7];2)商用机器人调度软件,由移动机器人厂商开发,一般仅适用于某一品牌的移动机器人;3)专用机器人调度软件,由机器人企业或科研机构定制化开发,一般适用于特定类型的移动机器人,应用范围较窄。
针对移动机器人集群调度中常见的运行效率低、系统兼容性差等问题,本文提出一种基于openTCS的移动机器人集群调度系统,可满足智能工业搬运对系统兼容性的要求。
基于openTCS的移动机器人集群调度系统主要包括openTCS、调度服务器、云服务器、数据库、5G通讯装置、机器人等,其架构如图1所示。
图1 基于openTCS的移动机器人集群调度系统架构
openTCS开源软件主要包含内核、终端与内核控制中心3个模块。其中,内核负责路径规划与任务调度;终端提供可视化界面;内核控制中心监管移动机器人。
调度服务器接收openTCS内核的任务指令,并将任务指令通过5G网络发送给移动机器人;同时也接收移动机器人的状态反馈数据,并将状态反馈数据输入openTCS内核,用于决策。
云服务器接收调度服务器下达的计算任务。云服务器基于Hadoop架构构建,内部存储了点对线迭代最近点(point-to-line iterative closest point, PL-ICP)算法、Cartographer算法等,可利用云端计算资源完成多张局部地图融合,生成环境场景的全局地图。
数据库用于存储历史调度数据、机器人的历史运行数据和历史全局地图等。
5G通讯装置包括5G交换机和移动机器人上搭载的5G信号接收装置,可基于现有5G网络实现调度数据的低时延、高可靠性传输。
移动机器人可以是同种类、同型号或不同种类、不同型号的机器人,但要求每台移动机器人均配备工控机、激光雷达和5G信号接收装置。
移动机器人的驱动方式不同,如双轮差速式驱动、三轮车式驱动、阿克曼式驱动等,其运动学模型也不尽相同。运动学算法一般内置于移动机器人的工控机内,供调度系统调用。当移动机器人收到5G通讯装置发送的运动速度指令时,通过运动学算法将运动速度指令转化为控制机器人伺服电机左右轮的轮速信号,并将轮速信号输入电机驱动器用于执行。
以双轮差速式驱动为例,移动机器人运动学模型如图2所示。
图2 双轮差速式移动机器人的运动学模型
假设机器人的轮系在平坦地面上运动,轮系上方部分为一个刚体。为确定机器人在平面中的位置,在图2中建立平面全局参考坐标系-和机器人局部参考坐标系-XY。-的原点为地面上任意一点,-XY的原点位于机器人底盘形心处。记(,)为移动机器人旋转中心的全局参考坐标;为移动机器人局部参考坐标系相对全局参考坐标系的旋转角度;2为驱动轮轮距;为驱动轮半径;θ和θ分别为左、右驱动轮的转角;v和v分别为左、右驱动轮的运动速度。
双轮差速式驱动机器人的线速度在机器人局部参考坐标系中可表示为两轮的平均线速度:
机器人的角速度取决于两轮的线性速度差和两轮之间的距离2:
通过机器人局部参考坐标系下的平均线速度和角速度,机器人的运动学方程可以表示为
根据公式(3)设计相应的运动学算法,即可将运动速度指令转化为移动机器人的轮速信号。
即时定位与地图构建(simultaneous localization and mapping, SLAM)是指移动机器人在陌生环境中,能够完成环境地图构建并确定自身在地图中的相对位置。目前,移动机器人SLAM通常为单机模式,主要利用机载的激光雷达、里程计、惯性测量单元(inertial measurement unit, IMU)等传感器完成前端数据采集;机载的工控机完成后端数据处理。这种单机SLAM模式在小范围场景下具有良好的应用效果,但在多机、大范围场景时,由于视野范围狭窄,易出现计算耗时长、建图质量差、定位不准确等问题。
考虑到多机器人具有空间覆盖范围广的优势,本文利用多台移动机器人搭载的激光雷达同步扫描周围环境,采用5G网络作为中继,利用云服务器的计算资源进行点云数据的融合处理,可快速生成大范围场景的轻量级全局地图,并完成多机器人精确定位。多机器人协同定位与建图流程如图3所示。
图3 多机器人协同定位与建图流程
多机器人协同定位与建图步骤包括:
1)系统运行之前进行里程计和IMU校准、激光雷达运动畸变去除、台移动机器人系统时钟同步等准备工作;
2)调度服务器启动SLAM系统,SLAM系统同步启动台移动机器人;
3)调度服务器根据精确位姿刷新台移动机器人的里程计数据(初始里程计数据全部归零);
4)调度服务器延时Δ(即采样频率为1/Δ)后,向移动机器人下发数据采集指令;
5)每台移动机器人利用里程计采集其行驶里程,利用IMU采集其加速度和角速度,各个数据用附加的时间戳和标号进行区分;
6)每台移动机器人利用运动学算法将里程计采集的行驶里程转化为移动机器人的整体位移;分别对IMU采集的加速度和角速度进行积分,计算出移动机器人的线速度和转角;利用扩展卡尔曼滤波器(EKF)将线速度、位移、角速度、转角进行融合,产生机器人的粗略位姿矩阵(,,)T(=1,…,);
7)在执行步骤5的同时,台移动机器人同步扫描周围环境,生成各自的激光轮廓点云;
8)激光轮廓点云经去噪处理后(去除孤立点、噪声点)生成张局部点云地图M(=1,…,),并附加时间戳和标号进行区分;
9)张局部点云地图M(=1,…,)与个位姿矩阵(,,)T(=1,…,)通过5G网络无线发送至调度服务器;再由调度服务器上传至云服务器;
10)在云服务器内,采用时间戳对齐的方式进行数据匹配,利用PL-ICP算法对张局部点云地图M(=1,…,)进行融合计算,拼成全局点云地图M;
11)云服务器利用图优化算法Cartographer对全局点云地图M进行优化,获得最优的全局点云地图,同时生成台移动机器人的精确位姿矩阵’(,,)T(=1,…,);
12)将全局点云地图M转换为轻量化的全局栅格概率地图M,并在栅格地图M上标示台移动机器人的位置(=1,…,);栅格地图中每个栅格取值范围为[0,1],其中,0表示栅格未被占据;1表示栅格被占据,0~1之间的数值表示栅格被占据的概率;
13)循环反复执行步骤3)~13),不断地进行新一轮全局定位和建图;
14)当台移动机器人全部停机时,SLAM系统停止运行。
openTCS调度系统通过5G网络与移动机器人进行小容量的数据传输。本文采用基于IP地址的通讯方式,通过设定的IP与Port,利用Socket接口与移动机器人通讯,实现同一局域网内不同设备之间的通讯。Socket技术是实现网络上2个应用进程间双向数据交换的通讯连接技术,主要由协议、本地地址、本地端口号、远地地址、远地端口号5个信息构成。Socket之间的连接过程分为3个步骤:
1)服务器监听,服务器端开启一个端口,并处于等待客户端连接、实时监控网络的状态;
2)客户端请求,客户端Socket向服务器端Socket提出连接请求,发起请求时需描述它要连接的服务器Socket的地址和端口号;
3)连接确认,服务器端Socket监听或接收到客户端Socket的连接请求时,响应其请求并建立一个线程连接。
本文的openTCS调度系统为服务器端,各移动机器人为客户端。openTCS调度系统通过Socket通讯实时获取移动机器人上传的位置、电量、任务执行状态等,同时对相应的移动机器人下达任务命令和远程调度命令等信息。
以工业物料搬运为例,介绍基于openTCS的移动机器人集群调度系统的应用。某加工车间的平面布局如图4所示。
图4 某加工车间的平面布局示意图
图4中,成品仓库和物料仓库分别布置于车间左右两侧,车间中部对称布置了6台加工设备(A~F),每台加工设备前方分别设有上料位和下料位。物料从物料仓库取出,依次经过6台加工设备的加工,成品送入成品仓库存放。虚线为移动机器人的运行路线,移动机器人在此路线上往复穿梭,运送物料和成品。
本文采用8台双轮差速驱动移动机器人(2台复合移动机器人、6台AGV)来完成物料和成品搬运。
基于openTCS的移动机器人集群调度系统的设计步骤如下:
1)启动openTCS内核;
2)打开openTCS终端,在终端上完成步骤3)~6),建立如图5所示路网;
3)添加若干路径点(Point),并将各路径点连接起来;
4)设置位置点对应的动作(Action),如Transport;
5)设置若干位置点(Location),属性为Transport,并用虚线将位置点与对应的路径点相连;
6)添加8台移动机器人并启用;
7)打开内核控制中心,配置8台移动机器人;
8)为每台移动机器人设置对应的IP与Port,以建立Socket连接。
图5 在openTCS终端上设计的路网
完成以上步骤后,8台移动机器人在订单的驱动下自动完成运输任务。移动机器人运行示意图如图6所示;运行中的机器人列表如图7所示;多机器人协同建立的2D栅格地图如图8所示。
需要说明的是,本文采用的任务分配、路径规划、交通管制等智能调度算法均为openTCS内置的算法。
图6 基于openTCS的移动机器人集群调度系统控制移动机器人运行示意图
图7 运行中的移动机器人列表
图8 多机器人协同建立的2D栅格地图
由图5可知,openTCS调度系统可建立与图4一致的等比例车间布局。
由图6可知,多台移动机器人在调度系统的控制下有序运行。
由图7可知,调度系统可实时显示被调度机器人的当前状态信息。
由图8可知,通过多机器人协同建立的2D栅格地图较为精确,可在机器人集群调度情况下使用。
基于openTCS的移动机器人集群调度系统运行结果如表1所示。
表1 运行结果统计表
由表1可知,从订单报文最大响应时间、机器人阻塞最长等待时间、订单执行成功率等指标来看,基于openTCS的移动机器人集群调度系统运行状态良好,可满足工业物料搬运对多台移动机器人集中调度的要求。
机器人调度系统是实现智能工厂的关键要素之一。本文针对工业搬运对多移动机器人协同作业的需求,构建基于openTCS的移动机器人集群调度系统,并对系统的控制、通讯、SLAM等进行了详细论述。为验证该系统的可行性,以工业物料搬运场景为例,进行了系统运行测试,验证该系统的有效性和可靠性。
[1] KHAMIS A, HUSSEIN A, ELMOGY A. Multi-robot task allocation: a review of the state-of-the-art[J]. Cooperative Robots and Sensor Networks, 2015:31-51.
[2] ZHOU L, TOKEKAR P. Multi-robot coordination and planning in uncertain and adversarial environments[J]. Current Robotics Reports, 2021,2:147-157.
[3] GIORDANI S, LUJAK M, MARTINELLI F. A distributed multi-agent production planning and scheduling framework for mobile robots[J]. Computers & Industrial Engineering, 2013, 64(1):19-30.
[4] WANG X, XING Z, WU W, et al. Research on Coupled Task Allocation and Scheduling of Multi-type Robots[C]//2021 IEEE International Conference on Networking, Sensing and Control (ICNSC), 2021:1-6, doi: 10.1109/ICNSC52481.2021.9702203.
[5] UMASHANKAR N, KARTHIK V N. Multi-criteria Intelligent Dispatching Control of Automated Guided Vehicles in FMS [C]//2006 IEEE Conference on Automated Guided Vehicles Cybernetics and Intelligent Systems, 2006:1-6, doi: 10.1109 / ICCIS. 2006.252292.
[6] PETROVIĆ M, MILJKOVIĆ Z, JOKIĆ A. A novel methodo- logy for optimal single mobile robot scheduling using whale opti- mization algorithm[J]. Applied Soft Computing, 2019,81:1-25.
[7] 吴若,苏宇,刘胜,等.基于openTCS的多种AGV通信适配与实时监控管理系统设计与实现[J].制造业自动化,2022,44(2): 87-92.
Mobile Robot Scheduling System Based on openTCS
HUANG Weixi1LI Lili2LI Wenwei3ZHOU Lei1JIANG Shuling1
(1.South China Robotics Innovation Research Institute, Foshan 528300, China 2.Shunde Ploytechinc, Foshan 528300, China 3.Foshan Zhiyouren Technology Co., Ltd., Foshan 528300, China)
In order to meet the requirements of multi mobile robots working together in the industrial handling process, a mobile robot cluster scheduling system based on openTCS is proposed. First, introduce the overall architecture and components of the system; Then, the key problems of mobile robot motion control, real-time location and map building (SLAM) of multi machine cooperation, and communication between mobile robot and scheduling system are described in detail; Finally, taking industrial material handling as an example, the system is built and tested. The test results show that the system can control multiple mobile robots to carry materials efficiently.
mobile robot; cluster scheduling; multi-machine collaboration; simultaneous localization and mapping(SLAM)
TP242;TN965.8
A
1674-2605(2022)06-0005-07
10.3969/j.issn.1674-2605.2022.06.005
黄伟溪,李丽丽,李文威,等.基于openTCS的移动机器人集群调度系统[J].自动化与信息工程,2022,43(6):27-33.
HUANG Weixi, LI Lili, LI Wenwei, et al. Mobile robot scheduling system based on openTCS[J]. Automation & Information Engineering, 2022,43(6):27-33.
佛山市顺德区核心技术攻关项目(2130218003022)
黄伟溪,男,1983年生,硕士,主要研究方向:智能机器人工业应用、智能制造、传感及检测。E-mail: wx.huang@scri.ac.cn
李丽丽,女,1981年生,硕士,工程师,主要研究方向:机器视觉,移动机器人,智能制造。
李文威,男,1981年生,博士,高级工程师,主要研究方向:智能机器人、CAD/CAE数字化仿真、机械动力学、制造业信息化。
周磊,男,1982年生,博士,高级工程师,主要研究方向:机器人智能控制、智能制造、传感及检测等。
江淑玲,女,1999年生,本科,主要研究方向:通信工程。