格斗机器人竞赛中的多机器人协作技术研究
2021-11-19蒋耀夏庆锋蒋宁元姜忠堃靳士博
蒋耀 夏庆锋 蒋宁元 姜忠堃 靳士博
(南京大学金陵学院信息科学与工程学院,南京,210089)
0 引言
一直以来,多自主机器人协作都是机器人学中的一个研究热点,多个无人自主式的单位协同工作可以完成单一自主难以完成的任务,更有利于达到理想的效果。现如今,多机器人协作技术已经越来越广泛地用于许多领域,如军事监视、警戒系统等。实际上,多机器人系统的研究仍面临许多难题,例如可以针对有限数量的机器人分析多个自主机器人之间的协作,但想要进一步扩展更多的解决方案则需要新技术的突破。
随着多自主机器人技术的发展,越来越多的多机器人比赛开始出现在机器人竞赛中,中国智能机器人格斗大赛武术擂台2v2项目便是其中之一,本文结合相关竞赛研究多机器人协作技术。
1 竞赛相关内容
中国智能机器人格斗大赛于2017年开始举办,举办方为国际机器人竞技与创客教育联盟,由国内外知名的智能机器人领域的专家学者组成。自2008年以来,该联盟核心专家团队发起了机器人武术擂台赛、机器人格斗比赛、空中机器人比赛等知名赛事,大赛面向全国高校,因其竞技性与趣味性吸引力众多队伍前来参赛,为人工智能、机器人技术在广大院校的推广和人才培养起到了积极作用。
1.1 比赛场地
中国智能机器人格斗大赛场地为边长2.4m的正方形擂台,周围0.7m处有高0.5m的方形黑色围栏。擂台场地颜色为渐变色,场地两个对边设有四个宽度为0.4m上台坡道,坡道顶端高度与擂台平齐,机器人从0.3m×0.4m的出发区启动后,沿着该坡道走上擂台。
1.2 比赛具体规则
比赛双方各出战两个机器人,在擂台上,机器人相互推挤,争取尽可能多的机会将对手推到擂台下,评判方法是:机器人掉下擂台给对方加一分,10s内机器人未能上台再给对方加一分;如果双方都只有一台机器人在台上时不得分;同时,规则引入了KO机制,若一方机器人全在擂台上,另一方全在擂台下,在台上的一方直接获胜。
2 研究任务及硬件设计思路
本文主要任务为设计一个移动机器人协作系统,由两个自主轮式移动机器人组成。每个机器人的组装任务以下面三点为主要目标。一是在红外光电传感器的帮助下,实现防掉台的任务以及达到检测敌人的目的;二是在颜色传感器的帮助下达到识别队友的目的;三是机器人小车的机械结构要足够完成上台、巡航等基本任务。
以上所涉及的步骤主要由三个模块组成:感知模块、控制模块、执行模块。
图1 系统结构图
2.1 感知模块
感知模块负责检测并获取周围信息,这里采用红外光电传感器和320x240的USB彩色摄像头。本文计划在机器人的前后左右不同高度各放2个传感器,下层的传感器用于登台检测,上层的传感器用于障碍检测,并在机器人小车的四个角上各放置一个传感器,用于检测边缘。由此,机器人可以检测到不同方向的信息,进而做出相应的策略。USB彩色摄像头安装在上方,以实现分辨敌友的功能。
2.2 控制模块
控制模块指导机器人做出相应的合理判断,硬件上采用搭载Linux的ARM处理的WOODY控制器。
2.3 执行模块
执行模块让机器人做出相应的动作,本文电源采用14.8V锂电池供电;动力方面采用20W进口电机来提高机器人的速度及对抗能力;驱动方面采用BDMC1203驱动器。
硬件设计效果如图2所示。
图2 硬件设计展示
3 关键技术设计
3.1 敌我识别
3.1.1 永磁铁相斥法
在机器人内部倾斜放置一个U型滑槽,滑槽顶端装有红外接近开关,在机器人内部偏后位置,滑槽的底端放在机器人前方,在滑槽底端放置一个永磁铁(强磁)。两个机器人内部放置的永磁铁磁极相同。U型滑槽在排装好永磁铁和红外接近开关之后,外部使用光滑的材质进行封装,保证内部独立。两个机器人都装有这样的滑槽装置,内部各有一个永磁铁。
当两个机器人面向靠近时,因为强磁铁的磁极相同,发生互斥。这时候底部的永磁铁因为互斥的力,顺着滑槽开始上升,当挡住红外开关的光信号一段时间后触发红外开关(即判定为己方机器人),两个机器人都执行规避程序。
当两个机器人不是面向靠近时,强磁铁因为磁极相反,发生吸引,这时候一个机器人的永磁铁会上升,触发开关,执行规避程序。
上述方法为实验室前几届师兄留下,放到本文研究的环境下,存在一些问题。如:该方法只能简单实现敌我的判断,但因为机器人在实际作战中的移动速度很快,磁铁在较远距离下相互作用力不大,无法达到识别的效果,当磁铁开始产生作用时,两个机器人已经十分靠近。
另外,此方法较为传统,为了解决这一问题,提升机器人在实战中的性能,本文结合最新的视觉识别技术,尝试设计出改良的敌我识别方案——阈值法的颜色识别。
3.1.2 阈值法的颜色识别
本文使用320x240的USB彩色摄像头,通过RS232串口通信协议,配合搭载了Linux的ARM处理器的WOODY控制器进行对敌方机器人和我方机器人的识别区分。
本文研究用显著颜色对已方队伍的机器人进行标注,在赛前通过软件对己方机器人颜色的HSI值进行记录。比赛中通过摄像头接收信号,处理器判断采集的HSI值是否符合预先设定的范围,如果符合,即为已方机器人。如此便可以达到机器人在格斗过程中不会出现撞击队友的现象,从而实现较好的协作格斗,保证机器人的攻击目标始终是准确的。
图3 阈值法颜色识别流程
此方法相较于永磁铁相拆法,在实战速度很快的情况下,极大提升了识别的速度和距离,使我方机器人更具竞争力。因为摄像头识别的距离比永磁铁远,所以,机器人可以预留出足够的时间进行反应。
实际来看,此方法也存在一定缺陷,如若与对方机器人队伍的颜色相同或相近而产生冲突,便不能很好地实现协作功能,会使场面陷入混乱。本文计划的解决方法是准备好一到两种备选颜色,相应的代码也准备好,存在控制器中,在比赛前根据对手的情况及时更换。
3.2 任务分配
任务分配模块设计的理念是充分利用好每个机器人个体的优点。
3.2.1 任务分配概述
在多机器人协作的应用中,因为具体情况的不同,一般分为两类任务进行分配,一为静态任务,二为动态任务。若在运行过程中,机器人所面对的环境对象是已知的且状态稳定,那么机器人所执行的任务都可以按照预先设定的步骤按部就班进行,这就是静态任务;动态任务则是指机器人所处的环境在不断变换,这种变化包括了己方机器人例如数量上的各种变化而导致任务目标的改变,以及任务环境的调整,这种情况下机器人的任务分配是一个动态的过程。目前多数研究对动态任务的探究并不是很完善,尤其在武术擂台2v2竞赛机器人上,大多数设计并没有从全局最优的角度出发。
多机器人系统稳定又高效的关键在于系统内的所有机器人可以通过及时的交流保持行动的稳定。对于2v2竞赛项目来说,同一方的两个机器人要保证稳定、没有冲突地协作完成得分任务,避免出现机器人路径冲突、亦或是机器人攻击的目标冲突导致场面混乱的情况,就要求根据每个机器人的差异性,给每个机器人计划分配不同的任务,从而提升多机器人系统稳定高效性。
3.2.2 基于个体最优化的任务分配
本文设计基于运行总逻辑(如图4所示)提出一种分配任务的方案,将攻击和防守两个方案分别分配给2个机器人,2个机器人的结构设计也将按照各自方案进行,一个主要负责发现敌人进行攻击,另1个在场地边缘进行巡航游走,将传感器的识别距离调近,确保在贴身的情况下可以发起反击,如果遇到在台下试图上台的敌方机器人,将进行防守操作,阻碍敌方机器人上台。
图4 机器人运行总逻辑
任务分配所要达到的目的有两个,一是要保证系统按照要求稳定地完成下发的任务;二是在确保一的情况下,充分利用好现有的资源,以尽量小的消耗更为高效地完成任务,提升工作效率,例如,因为系统中的每个个体不尽相同,可以充分发挥系统中不同个体的不同能力,实现最优化。
4 实验验证
4.1 两种敌友识别方法效果比较
本文用一个小实验来比较颜色识别法和永磁铁法的识别差异。在实验室的比赛台上,将识别用机器人小车放在一端,将被识别小车放在另一端,在3m的距离下,比较两种方法识别到友军的时间。进行5次实验,将实验数据记录下来并画成图像,实验结果如图5所示。
图5 实验结果图像
从实验结果可知,永磁铁法不仅识别的时间长,识别的稳定度也差,充分表明颜色识别法要显著优于永磁铁法。
4.2 MATLAB仿真实验
下面通过MATLAB建模仿真来证实本设计中多机器人系统的可行性。
首先建立移动机器人的运动学方程。移动机器人由4个电机驱动,但其两侧的2个电机驱动情况相同,建模时可看成由2个电机驱动分别驱动两边。如果左右两边转速不同,车轮则会产生差动,从而实现转弯。
机器人的运动学方程为:
为了保证位置跟踪闭环系统满足李普希兹条件,继而实现全局稳定的双环轨迹跟踪控制,计划采用双曲正切函数设计控制率。并将此双环控制运用到多机器人系统中[6]。
取:
最终得到实际位置控制律为:
仿真结果如图6、图7、图8所示。
图6 移动机器人编队控制
图7 移动机器人的速度跟踪
图8 移动机器人的角度跟踪
仿真结果可知,该多机器人系统稳定可行。
5 结束语
笔者在该项目中探讨了多机器人协作技术在2v2擂台赛中的应用。为了解决永磁铁相斥法的缺陷,尝试提出颜色识别法进行敌友区分设计,思考了任务分配对实现2v2竞赛策略最优化的意义,并给出一种执行方案,最后用实验验证了颜色识别法的优越性,并且在保证全局稳定的基础上,用数学建模对机器人系统进行双环编队控制的仿真。
在此基础上,如何设计出更加完善的多机器人协作系统、可否尝试设计出独特的算法进一步优化系统等问题是下一步研究的方向。