2. 航空工业计算所, 西安, 710068;
3. 西北工业大学计算机学院, 西安, 710072
2. Aeronautical Computing Technique Research Institue, Xi'an, 710068, China;
3. School of Computer, Northwestern Polytechnical University, Xi'an, 710072, China
自20世纪80年代末以来,多智能体理论[1, 2]受到普遍关注。机器人研究从单体应用逐步进入多智能体机器人系统研究,用多个功能不同的独立机器人组成机器人系统协作完成复杂任务。类人型机器人研究涉及社会学、生命科学、认知科学、动力学和控制学等诸多领域,随着技术的成熟与发展,逐步把机器人引入动态竞技环境中,通过竞技进一步推动机器人技术的发展。在这方面,国内外学者都作了广泛深入的研究,比如美国学者基于行为研究分析和机器人群体行为设计建立了Socially Mobile和The Nerd Herd系统[3];比如布鲁塞尔自由大学的学者将机器人分为“手”“足”“眼睛”等部分[4],不同机器人各具功能特色,相互配合在空间中完成任意位置的物体识别、抓取等任务。尽管中国在类人型机器人和多智能体机器人系统等方面的研究起步较晚,但开始研究双足机器人以来,不少高校和科研机构都取得了较好的研究成果。在新形势下,加强对类人型多智能体机器人系统的研究符合时代发展需要,对推动机器人技术的提高具有一定的促进作用。半自主式机器人是一种部分功能自主、部分功能遥控的机器人。在机器人领域中,这种机器人最为常见,一般来讲,半自主性机器人具有相较于全自主式机器人更好的可靠性和安全性,且具有相较于遥控型机器人更好的智能性。因此,本文提出半自主多机器人的竞技对抗决策系统的研究很有必要的,定义具有重要的理论意义和实践价值。
1 多机器人系统结构 1.1 多机器人系统基本原理Agent是一个可以与环境进行交互,且能够独立完成任务的智能体。多机器人系统(Multi-agent systems)是在Agent理论的基础上提出的,是一种人工系统,是对自然群体的一种模拟[5]。多机器人系统主要研究若干Agent之间智能行为的协调、通信和行动,是对单机器人研究的扩展。多机器人系统与单机机器人有很大的不同,包括空间、时间、功能和资源等方面分布差异。此外,多机器人系统不是多个机器人利用通信系统简单的串联,更不是对单机器人功能的简单放大。对于完成某个复杂工作来讲,单体机器人通常情况下设计显得复杂一些,多机器人系统可以利用一定数量单机器人之间协同合作,避免任务间不利的相互作用,减少任务间的冲突,不断提高多机器人系统任务完成效率。
1.2 多机器人系统结构多机器人系统主要包括硬件模块、策略模块和视觉模块,具体见图 1。竞技前,人为初始化视觉目标位置信息。当系统正常运行时,视觉模块将会对场上球和机器人所处位置和姿态信息进行处理。策略模块基于视觉模块处理后得到的信息,做出机器人之间的协同规划,同时给出单个机器人的任务命令。最后通过硬件模块中的通信机制将命令传递给机器人。多机器人系统是一个整体,每个模块作用发挥保证了系统的正常运行。反过来,多机器人系统性能的好坏也是由每个模块决定的。
![]() |
图 1 多机器人系统架构 Figure 1 Multi-robot system architecture |
1.2.1 视觉模块(视觉子系统)
对于多机器人竞技系统,视觉子系统是唯一信息来源,因此视觉子系统要自适应场景变化,实时、准确地获取目标空间信息为决策提供依据,具体过程如图 2所示。本文采用微软Kinect作为图像采集装置,实时获取空间彩色图像及深度图像,利用Kinect标定结果对图像信息进行校正[6]。用Camshift算法[7]进行多目标跟踪,并结合深度图像获取目标深度信息,转化为空间坐标。由于Kinect读取深度图像具有大量空洞和噪声,本文采用卡尔曼滤波和双线性插值法对深度图像进行降噪和空洞填补,根据预处理后的深度图像对竞技场景进行三维场景重建,用于场景态势评估及运动避障等策略制定。
![]() |
图 2 图像信息采集过程 Figure 2 Image information collection process |
1.2.2 策略模块(决策子系统)
策略模块作为系统的中心枢纽,两端分别连接视觉模块与通信模块。决策模块的任务是根据视觉模块所获取的信息经过处理后,得到每个机器人的运动任务命令。在比赛过程中,决策模块要根据场上情况作出进攻或者防守的策略,以及实时对机器人之间的协同配合策略进行优化调整,给出相应的路径规划。策略模块主要包括策略模型和机器人行为控制。攻防态势分析、确定队形和任务角色派发等任务主要由策略模型来完成。动态避碰和运动控制等任务由机器人行为控制来完成。本文将策略模块分为协调层、运动规划层和基本运动层,如图 3所示。
![]() |
图 3 策略模块层次结构 Figure 3 Strategy module hierarchy structure |
(1) 协调层是决策模块的最高层,接收来自视觉模块发送的各目标位置信息、场景状态,根据信息判断当前场上的形式,对当前竞技状态做出评估,制定攻防策略,将策略传入下一层。协调层的关键任务包括竞技状态的评估和攻防策略的制定。
(2) 运动规划层的作用是对协调层制定的策略进行细化,体现群体协作与单体间的对应,通过个体运动完成群体协作的层次。
(3) 基本动作层位于决策子系统的最底层。它的任务是将运动规划层给出的目标动作与动作指令对应起来,比如需要某个机器人进行移动或者进行位姿变化,这时基层动作层就给予相应的任务指令,使机器人完成规定的动作[8]。快速和准确是基本动作层设计的关键。
1.2.3 硬件模块(通讯子系统)一般包含通信系统和类人机器人,均为类人机器人系统的重要组成部分, 本文主要对通信系统进行阐述。通信是多机器人系统中各Agent间实现协调、协作的基础,对于机器人竞技系统,无线通信要完成PC机到各机器人的指令传输,保证机器人竞技顺利进行。基于这些考虑,本文选用ZigBee技术搭建多机器人实时通信系统来控制机器人的行为,完成多机器人竞技,具体如图 4所示。同时还通过控制PC机串口及各组别间通信频率完成多机器人通信。相比其余短距离传输协议,基于ZigBee技术搭建的无线系统具有诸多优点,对信息及时传输具有十分重要的作用。经过实验测试,基于ZigBee通信子系统其稳定性、传输效率均能达到机器人竞技需求。
![]() |
图 4 硬件模块中通信子系统结构 Figure 4 Communication module structure in hardware module |
2 半自主多机器人竞技对抗决策系统
本文在深入研究多机器人系统结构的基础上,以类人型3VS3机器人足球比赛为例,对多机器人系统的层次策略和攻防转换策略进行设计,并进行测试验证。
2.1 层次策略 2.1.1 态势评估态势评估主要功能为:根据当前场景中各目标位置信息判断当前机器人应选择的是进攻策略还是防守策略。本文采取区域法和距离法相结合的方式进行态势评估,利用不同区域中敌我双方机器人人数、当前球的位置以及敌我机器人与球的距离作出判断。场景态势具体如图 5所示。
![]() |
图 5 场景态势 Figure 5 Situational situation |
Ni为对方机器人,M i为己方机器人,Ball为足球,根据式(1)进行计算。当计算结果T大于阈值时选择防守策略,反之则选择进攻策略。其中ω为计算参数由实验测试得到,DNiB为机器人距足球深度差,HNiB为机器人与足球的水平差,Q由当前Ball位置决定,当Ball处于区域A则为正值,处于区域B则为负值,Q值也由实验测试得到。
$ T = \omega \frac{{\sum {\left( {D_{{\rm{NiB}}}^2 + H_{{\rm{NiB}}}^2} \right)} }}{{\sum {\left( {D_{{\rm{MiB}}}^2 + H_{{\rm{MiB}}}^2} \right)} }} + Q $ | (1) |
进攻策略依赖于策略模型,本文针对类人型竞技机器人运动特性设计了进攻基础策略模型,如图 6所示。
![]() |
图 6 进攻基础策略模型 Figure 6 Offensive basic strategy model |
在制定进攻策略过程中,依次判断M1经过Ball到对方球门连线间是否有障碍物,M2经过Ball到对方球门连线间是否有障碍物,即判断节点a,b,c,d处是否有对方机器人或对方守门员。根据式(2)的计算结果,为机器人分配进攻角色,通过角色划分,明确出个人进攻、相互配合等策略。
$ W = {\omega _1}\frac{1}{{{D_{{\rm{MB}}}}}} + {\omega _2}{D_{{\rm{Ma}}}} + {\omega _3}{D_{{\rm{Bb}}}} + M $ | (2) |
式中:DMB表示己方机器人到球的距离;DMa表示机器人到节点a处障碍物的距离;DBb表示球到节点b处障碍物的距离;ωi和M为形参,由实验测试得出,其值大小为各节点障碍物对进攻影响的比率。分别计算机器人W值,值最大者此时为主攻机器人。通过角色划分后就可以执行进攻策略,选择机器人DMB较小者作为进攻发起人。如果进攻发起机器人W最大则做出个人进攻的策略,不然就会实施将球踢向主攻机器人方向的行为,再由主攻机器人发起进攻。一般来讲,当球空间信息发生变化后,系统都会重新调用进攻基础策略模型,判断当前应做何种进攻。
2.1.3 防守策略防守策略的目的就是降低对方得分的可能性。类似于进攻策略,本文设计了防守基础策略模型,如图 7所示。
![]() |
图 7 防守基础策略模型 Figure 7 Defensive base strategy model |
在制定防守策略过程中,依次判断对方机器人N1经过Ball到球门连线间是否有障碍物,N2经过Ball到球门连线间是否有障碍物,即判断a,b,c,d四个节点是否有己方机器人或守门员阻挡对方机器人的进攻,主要包括3种情况。第1种为:节点a,c处有我方机器人。该状态下我方机器人可逐步向球移动,但要保持我方机器人处于对方机器人与Ball的连线上,以此干扰对方机器人对球的识别与路径规划,降低对方直接射门的可能性。第2种为:节点d,b处有我方机器人。该状态下我方机器人需迅速向球移动,争取在敌方机器人触球前将球击出己方区域。若我方机器人到球的距离远大于对方机器人到球的距离,则采取封堵对方机器人射门角度方式,降低敌方机器人进球的可能性。第3种为:节点a,b,c,d处均无我方机器人。在这种情况下,要对我方机器人到球门之间距离与我方机器人到对方机器人距离进行比较,如果到球门距离相对较远,就要快速移动到对方机器人所在位置,阻碍对方机器人的运动轨迹,降低对方机器人到达球的可能性。若距离球门距离更近,则行进至球门前与守门员共同封堵球门。
2.1.4 守门策略守门的核心任务就是阻挡对手进球。一般来讲,当我方机器人对对方进攻机器人无法阻挡时,守门机器人就需要行动力保球门不失。守门算法主要是以小球空间信息为中心,守门策略的制定一般会综合考虑小球的位置、对方机器人位置等信息。在防守时,守门员一直面朝对方半场,同时处在球门线上,主要进行左右移动的动作。由于类人型机器人自身的硬件限制,需要实时调整机器人朝向,保证在侧移时总是处于朝着对方球门的方向,同时还要使守门员始终处在球门线上。
2.1.5 运动规划策略系统视觉模块利用Kinect对场景进行三维重建[9]以及多目标跟踪获取机器人精确信息。机器人运动规划的关键问题是对单个机器人进行运动路径规划。本文把全局规划法和局部规划法相结合做路径规划[10],如图 8所示。当单体机器人需运动到目标地点时,通过全局规划法和根据机器人前障碍物的信息,判断路径1, 2, 3中的最短路径,向机器人发送运动指令。随着机器人运动,障碍物可能会改变位置,此时利用局部规划法根据机器人前障碍物信息对机器人运动方式进行修改,但路径方向不作大幅调整。
![]() |
图 8 路径规划 Figure 8 Route plan |
2.2 攻防转化策略
攻防转化策略是攻防策略执行的转换枢纽,攻防转换的效率是多机器人流畅竞技的基本保证。本文在制定攻防转换策略时,把态势评估值T和进攻策略角色分配参数W作为判断依据,对T,W进行多阶段划分,当T处于进攻策略范围内时,如果某机器人W过小,则说明此时机器人距离小球过远,不易进攻,进入防守状态帮助守门员封堵射门角度。当T处于防守策略范围内时,如果机器人距离己方区域较远时,则往球场中线移动,为发起进攻做准备。通过上述方法,为机器人攻防快速转换提供可能性。
2.3 策略测试验证该部分主要任务是对策略模块中的部分策略进行测试验证,包括路径规划[11]、单体机器人射门守门和进攻角色划分等。
(1) 路径规划测试
如图 9所示,该组图像为两个机器人避障行走至小球位置的路径选择。可以看出,机器人把目标定位至小球位置,利用全局规划法和局部规划法选择合理的路径。其中,面向球门的紫色机器人选择最短距离路径,从障碍物间穿过;面朝球门的蓝色机器人选择从障碍物右侧绕行。
![]() |
图 9 路径规划测试 Figure 9 Path planning test |
(2) 射门和守门测试
如图 10所示,该组图像为单体机器人进行点球实验,验证测试射门和守门策略。在射门策略方面,图 10中依次为单体机器人向小球移动,当距离小球一定距离时则进行射门角度调整,确保小球在射门脚下然后击球射门。在守门策略方面,守门员根据小球运动的瞬间,判断其运动方向,选择守门方式,做出左移封堵球门的决策。
![]() |
图 10 射门守门测试 Figure 10 Shooting goal test |
(3) 进攻角色分配测试
如图 11所示,系统根据进攻基础策略模型,计算判断每个机器人在当前状态中W值,在该组图像中,禁区外的蓝色机器人经过小球到球门的连线上有对方守门员,所以其W值低于禁区外的紫色机器人。经过判断,蓝色机器人向小球方向移动并将球踢向紫色机器人,紫色机器人向小球移动重新组织进攻。
![]() |
图 11 进攻角色分配测试 Figure 11 Offensive role assignment test |
3 结束语
本文构建了基于视觉子系统、决策子系统和通讯子系统的半自主多机器人竞技对抗决策系统。重点研究了决策子系统,利用各目标空间信息进行竞技态势评估,提出攻防策略和行为策略,并以类人型3VS3足球机器人为例对系统进行试验,验证了系统的可行性,对类人型5VS5,11VS11足球机器人比赛策略研究与应用具有一定的参考价值。
[1] |
宁建华, 俞辉, 赵英凯.
多智能体足球机器人策略研究[J]. 计算机工程与设计, 2009, 30(17): 4064–4066.
NING Jianhua, YU Hui, ZHAO Yingkai. Study on strategy of multi-agent soccer robot[J]. Computer Engineering and Design, 2009, 30(17): 4064–4066. |
[2] |
刘春阳, 谭应清, 柳长安, 等.
多智能体强化学习在足球机器人中的研究与应用[J]. 电子学报, 2010, 38(8): 1958–1962.
LIU Chunyang, TAN Yingqing, LIU Changan, et al. Research and application of multi-agent reinforcement learning in soccer robot[J]. Journal of Electronics, 2010, 38(8): 1958–1962. |
[3] |
MATARIC M J. Minizing complexing in controlling a mobile rotot population[C]//Proceedings of the International Conference on Robotics and Automation. Nice, France: IEEE, 1992: 830-835.https://ieeexplore.ieee.org/document/220192 |
[4] |
DORIGO M. SWARM-BOT: An experiment in swarm rototics[C]//Proceedings of IEEE Robotics Swarm Intelligence Symposium.[S.l.]: IEEE, 2005: 192-200. |
[5] |
李国.基于全局视觉的仿人机器人系统[D].哈尔滨: 哈尔滨工业大学, 2009.
LI Guo. Humanoid robot system based on global vision[D].Harbin: Harbin Institute of Technology, 2009.http://cdmd.cnki.com.cn/article/cdmd-10213-2010026774.htm |
[6] |
LIEMHETCHARAT S, COLTIN B, VELOSO M. Vision-based cognition of a humanoid robot in standard platform robot soccer[C]//Proc of the 5th Workshop on Humanoid Soccer. Humanoids Nashville, USA: IEEE, 2010: 47-52.http://www.cs.cmu.edu/~mmv/papers/10humanoidsw-robotsoccer.pdf |
[7] |
HARALOCK R M, SHAPIRO L G.
Computer and robot vision[M]. New York: Addison-Wesley Longman Publishing CoInc, 1991.
|
[8] |
NEWCOMBE R A, DAVISON A J, IZADI S, et al. KinectFusion: Real-time dense surface mapping and tracking[C]//Mixed and Augmented Reality (ISMAR). 201110th IEEE International Symposium on.[S.l.]: IEEE, 2011: 127-136.https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ismar2011.pdf |
[9] |
IZADI S, NEWCOMBE R A, KIM D, et al. KinectFusion: Real-time dynamic 3D surface reconstruction and interaction[C]//ACM SIGGRAPH 2011 Talks.[S.l.]: ACM, 2011: 23.https://wenku.baidu.com/view/eff88462a32d7375a5178028.html |
[10] |
宫金超, 李晓明.
基于粒子群优化算法的小型足球机器人路径规划[J]. 机电工程, 2010, 27(12): 116–120.
DOI:10.3969/j.issn.1001-4551.2010.12.029 GONG Jinchao, LI Xiaoming. Pattern planning for small soccer robot based on particle swarm optimization[J]. Mechanical and Electrical Engineering, 2010, 27(12): 116–120. DOI:10.3969/j.issn.1001-4551.2010.12.029 |
[11] |
钟秋波.类人机器人运动规划关键技术研究[D].哈尔滨: 哈尔滨工业大学, 2011.
ZHONG QiuBo. Humanoid robot motion planning of key technologies[D].Harbin: Harbin Institute of Technology, 2011.http://cdmd.cnki.com.cn/Article/CDMD-10213-1011279529.htm |