1、机器人原理与应用机器人原理与应用2022-8-101徐心和 郝丽娜 丛德宏东北大学人工智能与机器人研究所第九章 集控式微型足球机器人(四)(四)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1029.7 机器人决策子系统机器人决策子系统9.7.1 从牛牛从牛牛-1-1谈起(谈起(MiroSotMiroSot 3:3)3:3)9.7.2 决策子系统的任务与特点决策子系统的任务与特点9.7.3 决策推理模型决策推理模型9.7.4 队形与角色分配队形与角色分配9.7.5 典型动作设计与安排典型动作设计与安排9.7.6 决策系统结构设计决策系统结构设计9.7.7 决策
2、系统的完善与丰富决策系统的完善与丰富 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-103MiroSot 3:3比赛瞬间比赛瞬间兰队谁进攻合适?兰队谁进攻合适?9.7.1 从牛牛从牛牛-1谈起谈起(MiroSot 3:3)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-104 X Y R1 72 41 193R2 71 75 167R3 4 65 360ER1 106 49 272ER2 110 84 155ER3 145 73 90B 88 71 0请回答:兰队谁进攻合适?请回答:兰队谁进攻合适?从视觉子系统实际得到的信息从视
3、觉子系统实际得到的信息 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-105决策系统的形象比喻The imaginative explanationPlaygroundBlind PlayerBlind PlayerBlind PlayerObserverwith bright eyesInput matrixBlind CoachOutput matrix9.7.2 决策子系统的任务与特点决策子系统的任务与特点 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-106决策子系统的任务任务任务就是根据当前球就是根据当前球场上的比赛
4、形势,做出布场上的比赛形势,做出布署,给队员发出指令,担署,给队员发出指令,担负起教练员的职责。负起教练员的职责。决策决策系统系统O=f(I)视觉系统视觉系统辨识结果辨识结果人机界面人机界面决策设定决策设定各机器人各机器人轮速设定值轮速设定值IO输出输出 3 32 2 矩阵矩阵 O O输入输入 7 73 3 矩阵矩阵 I I 确定函数确定函数 O=f(I)O=f(I)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-107决策系统特点形象思维荡然无存,只能靠逻辑思维形象思维荡然无存,只能靠逻辑思维非结构化问题非结构化问题 f(f()?模糊逻辑是不可缺少的模糊逻辑是
5、不可缺少的知识工程前沿问题知识工程前沿问题 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-108足球机器人六步推理模型1 1 输入信息预处理;输入信息预处理;计算有关实体速度、相对计算有关实体速度、相对 距离、角度等距离、角度等2 2 态势分析与策略选择;态势分析与策略选择;3 3 队形确定与角色分配;队形确定与角色分配;4 4 目标位置确定;目标位置确定;5 5 运动轨迹规划;运动轨迹规划;6 6 左右轮速确定。左右轮速确定。一般说来一般说来1 1、4 4、5 5、6 6 步为演绎推理,可以由数学模型计算步为演绎推理,可以由数学模型计算2 2、3 3 步为产
6、生式推理,应该由专家系统来完成步为产生式推理,应该由专家系统来完成9.7.3 决策推理模型决策推理模型 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-109首先完成演绎推理首先完成演绎推理1 准备好决策需要的各种状 态变量函数值 条件4、5、6 作为动作安排可以 统一规划 归宿 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-10109.7.4 队形与角色分配队形与角色分配队形队形球员在场上的相对位置关系。它是和比赛双球员在场上的相对位置关系。它是和比赛双方特点及场上形势密切相关的。它直接关系到攻守策方特点及场上形势密切相关的。
7、它直接关系到攻守策略。略。足球场上的队形有足球场上的队形有4-3-34-3-3,4-4-24-4-2,3-5-23-5-2等。等。机器人足球车速可在机器人足球车速可在2 2米以上,攻守转换极为神速,常米以上,攻守转换极为神速,常常视球的位置、运动速度和方向而决定。队形多构成常视球的位置、运动速度和方向而决定。队形多构成堵截和围攻之势堵截和围攻之势。队形和角色分配密切相关。主攻或主防角色确定之后,队形和角色分配密切相关。主攻或主防角色确定之后,其他队员呈配合之势。其他队员呈配合之势。角色分配有相应准则给出。如最近、最有利等。角色分配有相应准则给出。如最近、最有利等。第九章第九章 集控式微型足球机
8、器人(四)集控式微型足球机器人(四)2022-8-1011足球机器人动作设计与实现足球机器人动作设计与实现动作是比赛活动的基本单元动作是比赛活动的基本单元任何精彩激烈的比赛都是由球员的一任何精彩激烈的比赛都是由球员的一系列动作构成的系列动作构成的动作是决策子系统的最终归宿,是决动作是决策子系统的最终归宿,是决策的基础和保证策的基础和保证准确有效的动作实现,意味球员具有准确有效的动作实现,意味球员具有良好的基本技能良好的基本技能9.7.5 典型动作设计与安排典型动作设计与安排 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1012动作设计的目标动作设计的目标如何
9、从眼花缭乱的比赛中归纳提炼出有如何从眼花缭乱的比赛中归纳提炼出有限的基础性的单元动作限的基础性的单元动作如何构造和设计足球机器人的动作体系、如何构造和设计足球机器人的动作体系、定义动作空间定义动作空间如何设计和实现各种动作如何设计和实现各种动作 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1013足球机器人动作特点分析足球机器人动作特点分析各种动作都是通过机器人的线速度、角速度、各种动作都是通过机器人的线速度、角速度、位移和轨迹来实现的位移和轨迹来实现的一切动作都是由小车的速度控制来实现的。一切动作都是由小车的速度控制来实现的。最终都落实到小车左、右轮速的计
10、算,都落最终都落实到小车左、右轮速的计算,都落实到实到VLVL、VRVR函数的设计上函数的设计上动作设计与实现属于机器人运动学范畴的问动作设计与实现属于机器人运动学范畴的问题,当前位姿题,当前位姿 期望位姿期望位姿动作设计的不唯一性动作设计的不唯一性 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1014动作的层次关系动作的层次关系基本动作基本动作Basic Actions,BA技术动作技术动作Skilled Actions,SA组合动作组合动作(单人单人)Combinatorial Action,CA 战术动作战术动作(多人多人)Tactical Actio
11、ns,TA 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1015动作空间组成示意图动作空间组成示意图基本动作基本动作技术动作技术动作组合动作组合动作战术动作战术动作 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1016ToPostion 到定点(停)到定点(停)TurnAngle转动一定角度转动一定角度MoveAlong向某点向某点(或方向或方向)作定向运动作定向运动基本动作基本动作Basic Action(BA)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1017到到 定定 点点 函函
12、 数数 设设 计计kdkvdLkdkvdRdxdy22dydxd目标点机器人机器人方向角 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1018机器人运动动作示意图机器人运动动作示意图 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1019机机 器器 人人 转转 角角 函函 数数 示示 意意 图图)(1TTDTPLkkv)(1TTDTPLkkv目标角机器人X轴12机器人方向角 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1020技术动作技术动作Skilled Action(SA)KickBa
13、llKickBall 踢球动作踢球动作ShootGoalShootGoal 射门射门TurnShootTurnShoot 转身射门转身射门DefenseBallDefenseBall 防球(回防)防球(回防)BlockManBlockMan 盯人防守盯人防守AvoidBoundAvoidBound 防止碰撞边界防止碰撞边界 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1021BLrRp1 p2T(切点切点)G园射门算法示意图园射门算法示意图 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1022 第九章第九章 集控式微型足球
14、机器人(四)集控式微型足球机器人(四)2022-8-1023中中分分线线射射门门方方法法示示意意图图TiT1BG 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1024人工势场法射门生成的势场线示意图人工势场法射门生成的势场线示意图 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1025Skilled Action(Cont.)KeepGoal 守门员防守守门员防守ProcessBoundBall 边界球处理边界球处理ProcessCornerBall 角球处理角球处理PassBall2Pt 传球到定点传球到定点AvoidOb
15、st2Pt 避障碍到定点避障碍到定点 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1026dangerArea T2 目标点目标点 T1 目标点目标点 机器人机器人 小球小球图中分三种情况示意机器图中分三种情况示意机器人守门动作的目标点人守门动作的目标点守守 门门 员员 动动 作作 示示 意意 图图 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1027R我方我方机器人机器人防防 守守 机机 器器 人人 盯盯 人人 动动 作作 示示 意意 图图Home对方机器人对方机器人ERRB 第九章第九章 集控式微型足球机器人(四)集控
16、式微型足球机器人(四)2022-8-1028 组合动作组合动作 Combinatorial Action(CA)组合发球包括组合发球包括 :PenaltyKick(罚点球)(罚点球)GoalKick(罚门球)(罚门球)FreeBall(争球)(争球)FreeKick(罚任意球)(罚任意球)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1029 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1030 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1031 第九章第九章 集控式微型足球机器人(四)
17、集控式微型足球机器人(四)2022-8-1032 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1033战术动作战术动作Tactical Action(TA)NormalKickoff 中场开球中场开球Pass2Shoot 一传一射一传一射BL_Pass2CenterShoot 底线传中射门底线传中射门 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1034动作函数几何关系函数集信息预处理函数状态函数状状 态态 函函 数数动动 作作 函函 数数信息预处理函数信息预处理函数几何关系函数集几何关系函数集相关函数集的关系相关函数集的
18、关系 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1035信息预处理函数一览表信息预处理函数一览表GetBallMotionLine 计算小球的运动方程计算小球的运动方程GetBallMotionSpeed计算小球的运动速度计算小球的运动速度GetForcastedBallPt返回球下一时刻的预测位置返回球下一时刻的预测位置GetRbShootArea 计算射门区域计算射门区域 由给定机器人质心和对由给定机器人质心和对方球门上下端点所构成的三角形区域方球门上下端点所构成的三角形区域 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-
19、8-1036MarkGroundArea场地分区函数场地分区函数 输入给定位置,返回区输入给定位置,返回区域标号域标号GetBallAreaNum返回小球当前所属的区域返回小球当前所属的区域GetRbAreaNum 返回给定机器人当前所属的区域返回给定机器人当前所属的区域GetBallInRobot_XY 返回小球在给定机器人坐标系中的位置返回小球在给定机器人坐标系中的位置GetRbBallDiff 返回给定机器人与球的距离和角度偏差返回给定机器人与球的距离和角度偏差(未完)(未完)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1037状状 态态 函函 数数
20、一一 览览 表表IsBallMove2Home 判断球是否滚向我方判断球是否滚向我方IsBallMoveOffHome 判断球是否滚向对方判断球是否滚向对方IsRbInSpecialArea 机器人是否在边界机器人是否在边界/角、我角、我(对对)方门区等特方门区等特殊区域殊区域CanRbDirectShoot 是否可以直接射门?球在机器人的射门区是否可以直接射门?球在机器人的射门区域内域内(GetRbShootArea)且机器人的正方且机器人的正方向朝向球向朝向球 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1038GetMFRbNum 得到主攻机器人的号码
21、得到主攻机器人的号码GetMGRbNum 得到主防机器人的号码得到主防机器人的号码GetAFTargetPt 得到副攻机器人的目标点得到副攻机器人的目标点GetAGTargetPt 得到副防机器人的目标点得到副防机器人的目标点(未完)(未完)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1039 简易简易3-3决策系统设计思想决策系统设计思想简单情况:专职守门员,简单情况:专职守门员,MF/MG,AF/AG以我为主以我为主:只辨识我方位姿,不管对方只辨识我方位姿,不管对方以球位为前提以球位为前提:从球所在区域出发,开始推理从球所在区域出发,开始推理以距离为准则
22、以距离为准则:按距离优先原则分配角色按距离优先原则分配角色 (MF/MG,AF/AG)以个人技术为根本以个人技术为根本:固定角色动作映射关系,固定角色动作映射关系,队员间只有呼应,没有配合队员间只有呼应,没有配合 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1040 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1041右右 攻攻 假假 设设 与与 球球 场场 分分 区区 546312789101112YXOGOALHOMEForwardlineHomelineDanger Area 第九章第九章 集控式微型足球机器人(四)
23、集控式微型足球机器人(四)2022-8-1042状态状态空间空间动作动作空间空间IO决决 策策 系系 统统 映映 射射 关关 系系 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-10439.7.6 决策系统结构设计决策系统结构设计视觉视觉信息信息信息信息预处理预处理态势态势分析分析任务分解任务分解队形确定队形确定决策层决策层角色角色分配分配机器人机器人管理器管理器队形库队形库角色库角色库管理层管理层角色解释角色解释技术技术动作动作基本基本动作动作执行层执行层速度速度指令指令决策系统工作流程图决策系统工作流程图 第九章第九章 集控式微型足球机器人(四)集控式微型
24、足球机器人(四)2022-8-10441234567891731261822101112151619272823242925301314213220场地分区图场地分区图 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1045队形号队形号各机器人角色号各机器人角色号角色名称角色名称备备 注注15边线推球边线推球当球在区域当球在区域1 1时的队形时的队形38中间等球中间等球25左上左上(30,135)180(30,135)180度等球度等球26左上左上(40,110)45(40,110)45度等球度等球25边线推球边线推球当球在区域当球在区域2 2时的队形时的队形
25、38中间等球中间等球26左上左上(40,110)45(40,110)45度等球度等球25左上左上(30,135)180(30,135)180度等球度等球325左上左上(30,135)180(30,135)180度等球度等球当球在区域当球在区域3 3时的队形时的队形38中间等球中间等球28横向等球横向等球2(40,110)2(40,110)30横向等球横向等球4(20,90)4(20,90)422协助守门员协助守门员当球在区域当球在区域4 4时的队形时的队形29横向等球横向等球3(40,70)3(40,70)28横向等球横向等球2(40,110)2(40,110)38中间等球中间等球队形库存放内
26、容(部分)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1046队形号队形号各机器人角色号各机器人角色号角色名称角色名称备备 注注295边线推球边线推球当球在区域当球在区域2929时的队时的队形形23一传一射上射门一传一射上射门37右下中间等球右下中间等球24一传一射下射门一传一射下射门305边线推球边线推球当球在区域当球在区域3030时的队时的队形形37右下中间等球右下中间等球24一传一射下射门一传一射下射门4下边界守候下边界守候315边线推球边线推球当球在区域当球在区域3131时的队时的队形形35左下中间等球左下中间等球38中间等球中间等球14近距离下协助
27、近距离下协助325边线推球边线推球当球在区域当球在区域3232时的队时的队形形34左上中间等球左上中间等球38中间等球中间等球13近距离上协助近距离上协助队形库存放内容(部分)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1047角色号角色号角角 色色 名名 称称动动 作作 内内 容容0静止静止左右轮速度均为左右轮速度均为0 04下边界守候下边界守候调用函数调用函数BoundDefenceBoundDefence()避开球并在下边界等候球()避开球并在下边界等候球5边线推球边线推球调用函数调用函数BoundPushBallBoundPushBall()将球踢出
28、本方门区附近()将球踢出本方门区附近6拨球出边界拨球出边界调用函数调用函数PushBallofBoundPushBallofBound()将球踢向对方半场()将球踢向对方半场7小禁区上平行护球小禁区上平行护球调用函数调用函数ParallelDefenceParallelDefence()在小禁区上线护球()在小禁区上线护球11射门射门调用函数调用函数Vect_MidShoot1Vect_MidShoot1()执行射门动作()执行射门动作12守门守门调用函数调用函数GoalieActionGoalieAction()执行守门动作()执行守门动作13近距离上协助近距离上协助调用函数调用函数ptWa
29、itptWait()在球上方或后上方协助进攻或防守()在球上方或后上方协助进攻或防守14近距离下协助近距离下协助调用函数调用函数ptWaitptWait()在球下方或后下方协助进攻或防守()在球下方或后下方协助进攻或防守20三角进攻后侧后等球三角进攻后侧后等球调用函数调用函数ptWaitptWait()在球后上方或后下方等球(在()在球后上方或后下方等球(在Y Y方向比球方向比球更远离球门)更远离球门)21扫球扫球调用函数调用函数ClearBallClearBall()完成扫球动作(详见该函数)()完成扫球动作(详见该函数)22协助守门员协助守门员调用函数调用函数ParallelDefence
30、ParallelDefence()在小禁区线上协助守门员防守()在小禁区线上协助守门员防守角色库存放内容(部分)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1048角色号角色号角角 色色 名名 称称动动 作作 内内 容容25左上左上(30,135)180(30,135)180度等度等球球调用函数调用函数ToPositionPDToPositionPD()和()和TurnToAnglePDTurnToAnglePD到定点到定点(3030,135135)等球,并使机器人的角度为)等球,并使机器人的角度为180180度。度。26左上左上(40,110)45(40,
31、110)45度等度等球球调用函数调用函数ToPositionPDToPositionPD()和()和TurnToAnglePDTurnToAnglePD到定点到定点(4040,110110)等球,并使机器人的角度为)等球,并使机器人的角度为4545度。度。28横向等球横向等球2(40,110)2(40,110)调用函数调用函数ToPositionPDToPositionPD()和()和TurnToAnglePDTurnToAnglePD到定点到定点(4040,110110)等球,并使机器人的角度为)等球,并使机器人的角度为9090度。度。29横向等球横向等球3(40,70)3(40,70)调用
32、函数调用函数ToPositionPDToPositionPD()和()和TurnToAnglePDTurnToAnglePD到定点到定点(4040,7070)等球,并使机器人的角度为)等球,并使机器人的角度为9090度。度。30横向等球横向等球4(20,90)4(20,90)调用函数调用函数ToPositionPDToPositionPD()和()和TurnToAnglePDTurnToAnglePD到定点到定点(2020,9090)等球,并使机器人的角度为)等球,并使机器人的角度为9090度。度。37右下中间等球右下中间等球调用函数调用函数ToPositionPDToPositionPD()
33、和()和TurnToAnglePDTurnToAnglePD到定点到定点(165165,4545)等球,并使机器人对准球。)等球,并使机器人对准球。38中间等球中间等球调用函数调用函数ToPositionPDToPositionPD()和()和TurnToAnglePDTurnToAnglePD到球场中到球场中点等球,并使机器人的角度为点等球,并使机器人的角度为9090度。度。角色库存放内容(部分)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1049角色库角色库队形库队形库视觉视觉输入输入信息信息 预处理预处理态势态势 分析分析任务任务分解分解队形队形确定确
34、定队形队形1 1队形队形2 2 队形队形 队形队形n n角色角色分配分配角色角色1 1 角色角色2 2 角色角色 角色角色n n 机器人管理器机器人管理器R1R2RRn机器人动作选择机器人动作选择机器人左右轮速机器人左右轮速三层递阶决策模型三层递阶决策模型站到哪?干什么?谁上岗?做什么?执行动作 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1050牛牛-II 函数系统一、信息预处理:信息的简单提取和分级一、信息预处理:信息的简单提取和分级preprocess()二、态势分析:特征状态提取二、态势分析:特征状态提取 没有单独作为函数,但是隐含在任务分解和队形确
35、定中没有单独作为函数,但是隐含在任务分解和队形确定中GetAreaNo()三、任务分解和队形确定三、任务分解和队形确定:从特征状态空间到策略空间的映射从特征状态空间到策略空间的映射 主函数主函数taskDecompose()相关函数:相关函数:formInterpret()第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1051四、角色分配:根据机器人的自身条件给各个机器人分四、角色分配:根据机器人的自身条件给各个机器人分配不同角色配不同角色 (一)主函数(一)主函数charAllot()(二)相关函数:(二)相关函数:1 1、函数名:、函数名:charInte
36、rpret()2 2、函数名:、函数名:charperformance()3 3、函数名:、函数名:GetBestRobot()4 4、函数名:、函数名:GetCharPerformance()五、机器人管理器:根据机器人完成任务情况对分配结五、机器人管理器:根据机器人完成任务情况对分配结果做微调;一些琐碎工作。果做微调;一些琐碎工作。(一)主函数(一)主函数RobotManager()牛牛-II 函数系统 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1052六、动作执行:根据角色分配结果得到机器人的动作一致左六、动作执行:根据角色分配结果得到机器人的动作一
37、致左右轮速度右轮速度 (一)主函数(一)主函数 actProcess()(二)相关函数:(二)相关函数:一一 机器人基本动作函数机器人基本动作函数ToPositionN()ToPositionPD()TurnToPointPD()TurnToAnglePD()Move2pt()ToPositionNew()二二 机器人技术动作函数:机器人技术动作函数:Vect_midshoot1()ClearBall()GoalieAction()BoundPushBall()牛牛-II 函数系统 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-10539.7.7 决策系统的完
38、善与丰富决策系统的完善与丰富在比赛过程中经常会出现一些令局外人费解的现象。在比赛过程中经常会出现一些令局外人费解的现象。当两队的主攻队员顶牛僵持,而协攻队员仍然当两队的主攻队员顶牛僵持,而协攻队员仍然“恪尽职守恪尽职守”旁边观望,这时就会出现球无人问津的情况。旁边观望,这时就会出现球无人问津的情况。如果规划的轨迹有一段超出边界,那么机器人就会不断地如果规划的轨迹有一段超出边界,那么机器人就会不断地往外冲,人们会奇怪机器人怎么总撞边墙?往外冲,人们会奇怪机器人怎么总撞边墙?机器人足球是人工智能领域中颇具挑战性的课题,而其智机器人足球是人工智能领域中颇具挑战性的课题,而其智能又集中体现在决策系统之
39、中,这样机器人足球系统就会能又集中体现在决策系统之中,这样机器人足球系统就会随着人工智能领域成果的不断丰富而更具有观赏魅力。随着人工智能领域成果的不断丰富而更具有观赏魅力。第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-10549.8 机器人总控子系统机器人总控子系统9.8.1 实战模式下的系统结构实战模式下的系统结构9.8.2 运行时环境运行时环境9.8.3 实战模式下牛牛实战模式下牛牛IIII的总控过程的总控过程9.8.4 仿真模式下牛牛仿真模式下牛牛IIII的总控过程的总控过程 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8
40、-1055牛牛牛牛IIII的总控子系统处的总控子系统处于系统的最高层于系统的最高层负责系统初始化、创建负责系统初始化、创建数据交换缓冲区、任务数据交换缓冲区、任务调度、时间分配,系统调度、时间分配,系统卸载等过程处理。卸载等过程处理。它相当于一个程序容器它相当于一个程序容器(ContainerContainer),它的),它的内部包容了多个子系统内部包容了多个子系统对于总控子系统来讲,对于总控子系统来讲,其内部各子系统的地位其内部各子系统的地位是平等的。是平等的。系统构成系统构成总控总控仿真仿真视觉视觉策略策略虚拟场地虚拟场地通讯通讯总控子系统 第九章第九章 集控式微型足球机器人(四)集控式微
41、型足球机器人(四)2022-8-1056过程分为两部分过程分为两部分前端前端-主要用来进主要用来进行结果显示行结果显示后端后端-主要用来进主要用来进行各种计算,称作行各种计算,称作计算引擎计算引擎 各过程信息交互通各过程信息交互通过中间缓冲区实现过中间缓冲区实现 各过程直接交互的各过程直接交互的只与总控过程只与总控过程机器人命令缓冲区机器人命令缓冲区视觉过程视觉过程A队队员队队员1:x,y,球:球:x,y,B队队员队队员n:x,y,队员队员1命令命令队员队员n命令命令通讯过程通讯过程界面显示过界面显示过程(前端)程(前端)决策过程决策过程场地尺寸场地尺寸参赛人数参赛人数左右半场左右半场总控过程
42、总控过程开始开始初始化文件初始化文件操作界面操作界面环境环境参数参数全局全局变量变量视觉与决策过程数视觉与决策过程数据交换缓冲区据交换缓冲区实战模式下牛牛实战模式下牛牛II 的系统结构及工作流程的系统结构及工作流程9.8.1实战模式下的系统结构实战模式下的系统结构 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1057牛牛牛牛IIII系统把过程和数据进行了明确的分离系统把过程和数据进行了明确的分离牛牛牛牛IIII系统有系统有总控、视觉、决策、通讯、显示总控、视觉、决策、通讯、显示等等5 5个子个子过程过程牛牛牛牛IIII系统有系统有环境全局变量、视觉与决策过程
43、数据交环境全局变量、视觉与决策过程数据交换缓冲区、机器人命令缓冲区换缓冲区、机器人命令缓冲区等等3 3个数据区个数据区牛牛牛牛IIII系统把所有系统运行过程中变化的数据区称作系统把所有系统运行过程中变化的数据区称作缓冲区,把不变的静态数据区称作全局变量缓冲区,把不变的静态数据区称作全局变量在确定了各个子过程的调用顺序后,牛牛在确定了各个子过程的调用顺序后,牛牛IIII系统总控系统总控过程的主要任务就是如何维护好过程的主要任务就是如何维护好运行时环境运行时环境 9.8.2 运行时环境运行时环境(runtime environment)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(
44、四)2022-8-10589.8.3 实战模式下牛牛实战模式下牛牛IIII的总控过程的总控过程牛牛牛牛IIII中,总控过程主要有以下几个任务:中,总控过程主要有以下几个任务:任务调度,就是安排其他各子过程的运行时序。在实任务调度,就是安排其他各子过程的运行时序。在实战模式下:视觉过程战模式下:视觉过程决策过程决策过程通讯过程通讯过程显示过显示过程。程。系统初始化(分别通过初始化文件和操作界面)系统初始化(分别通过初始化文件和操作界面)1 1)、加载环境信息;)、加载环境信息;2 2)、创建各数据交换缓冲区;)、创建各数据交换缓冲区;3 3)、初始化其他各子过程。)、初始化其他各子过程。维护系统
45、的运行时环境维护系统的运行时环境 (右攻假设的处理)(右攻假设的处理)系统卸载,资源释放。系统卸载,资源释放。第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1059牛牛牛牛II的操作界面的操作界面矩形显矩形显示区域示区域操作操作选项选项显示过程显示过程总控过程总控过程环境全局变量环境全局变量 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1060读入初始读入初始化文件化文件填写环境填写环境参数参数读操作界面读操作界面填写环境参数填写环境参数创建视觉与决创建视觉与决策过程数据交策过程数据交换缓冲区换缓冲区初始化前端初始化前端显示
46、过程显示过程创建机器人创建机器人命令缓冲区命令缓冲区创建界面显创建界面显示缓冲区示缓冲区初始化视觉初始化视觉处理过程处理过程初始化策略初始化策略处理过程处理过程调用视觉过程调用视觉过程调用决策过程调用决策过程左半场左半场视觉结果坐视觉结果坐标转换标转换调用通讯过程调用通讯过程调用显示过程调用显示过程YN实战模式下牛牛实战模式下牛牛II总控过程的程序流程图总控过程的程序流程图 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-10619.6.4 仿真模式下牛牛仿真模式下牛牛IIII的总控过程的总控过程总控过程将调用仿真器来代替视觉处理过程,并将策略过程发总控过程将调
47、用仿真器来代替视觉处理过程,并将策略过程发送给机器人小车的命令改向到仿真器的输入(虚拟场地)。送给机器人小车的命令改向到仿真器的输入(虚拟场地)。仿真模式下,总控过程的主要任务也是处理好系统的运行时环仿真模式下,总控过程的主要任务也是处理好系统的运行时环境境(runtime environment)问题。问题。在仿真模式下,总控子系统作为一个容器所包含的子过程有:在仿真模式下,总控子系统作为一个容器所包含的子过程有:1 1)决策过程)决策过程A A;2 2)决策过程)决策过程B B;3 3)仿真器。)仿真器。仿真模式下的数据交换过程使用一种管道线(仿真模式下的数据交换过程使用一种管道线(pip
48、elinepipeline)方式)方式 第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1062 由于总控过程要在一个循环周期内调用两个参赛的决策过程,由于总控过程要在一个循环周期内调用两个参赛的决策过程,因此需要对这两个决策过程进行时序处理,同时还要进一步增加因此需要对这两个决策过程进行时序处理,同时还要进一步增加数据交换缓冲区。数据交换缓冲区。仿真器仿真器策略过程策略过程缓冲区缓冲区2:策略过策略过程结果命令程结果命令缓冲区缓冲区(pipeline)1:视觉视觉结果信息结果信息 仿真状态下的管道方式数据循环仿真状态下的管道方式数据循环 第九章第九章 集控式微
49、型足球机器人(四)集控式微型足球机器人(四)2022-8-1063时序处理执行虚拟赛执行虚拟赛场处理过程场处理过程设置策略过设置策略过程运行时间程运行时间挂起当前挂起当前策略过程策略过程策略过程策略过程都使用了一次分都使用了一次分配时间配时间?Y YN N继续另一继续另一策略过程策略过程挂起自身挂起自身继续继续控制过程控制过程开始开始结束结束控制过程控制过程时时钟钟函函数数仿真模式下的策略过程调用的时序管理仿真模式下的策略过程调用的时序管理 仿真模式下的总控过仿真模式下的总控过程对策略过程调用的程对策略过程调用的时序管理过程。时序管理过程。总控子系统利用了总控子系统利用了WindowsWind
50、ows操作系统的多操作系统的多线程管理和优先级控线程管理和优先级控制来解决决策过程间制来解决决策过程间的同步问题的同步问题挂起(挂起(suspendsuspend)执行执行(resume)(resume)第九章第九章 集控式微型足球机器人(四)集控式微型足球机器人(四)2022-8-1064缓冲区管理 数据位置信息调整数据位置信息调整 策略策略 A:策略策略 B:A队队员队队员1:x,y,A队队员队队员2:x,y,B方队员方队员1:x,y,A队队员队队员3:x,y,B方方队员队员2:x,y,B方队员方队员3:x,y,球球:x,y,B方队员方队员1:x,y,B方队员方队员2:x,y,B方队员方队