基于VB语言的机器人足球仿真比赛与对策研究
时间:2023-09-25 22:54 来源: 作者: 点击:次
⒈ 引言 目前,有关的国际组织有两个:RoboCup联合会和FIRA组织。项有三个:(1)、小型(Ф≤15cm);(2)、中型比赛(15cmФ≤50cm);(3)、电脑模拟比赛。在设计中涉及到很多关键性问题,如智能体的体系结构、智能体团队的合作、自学习功能等。采用一种行为模式的体系结构,使球员能根据环境和自己的状态来决定当前的行为模式,然后根据该行为模式来决定当前要采取的动作。而团队合作则主要是通过队伍的组建(阵形)实现的。每个阵形是一组角色的集合,不同的角色通过预定的协议来实现合作。本文通过对小型机器人比赛组比赛(五对五)的进行,提出了四步决策推理模型,利用大赛组委会提供的动态链接库,采用对此进行了。 2. 机器人 这样,决策子系统在制定决策时就应该参照盲人教练的思维过程展开,严格地对链上的每一个环节进行抽象推理,从而实现专家知识与决策过程的形式化。本文在此基础上提出了四步决策推理模型如图1所示。 2.1 输入信息预处理 为了对比赛场上的形势进行分析处理,以便采用合适的策略和动作,需要把从视觉系统得到的数据进行模糊化与抽象化。此模块包括以下几个部分: (1) 区域划分:因为球是比赛场上的核心,它所处的位置影响到决策的结果,为此将球场分成如图2所示六个区域: (2) 判断控球者:判断哪方或哪名队员控球,以便采取合适的策略;本文采用最短距离法,即谁离球最近便代表谁控球。 (3) 计算实体距离:包括球与球员之间的距离,两球员之间的距离。 (4) 区域检测:判断该区域己方队员的个数及对方队员的个数。 (5) 选取传球者:有两种传球方案,① 距离最近者 ②最佳球员。 2.2 态势分析与策略选择 对输入信息进行预处理后,根据赛场形势,及时调整比赛策略。本文编写了三个策略:全攻全守、自由人战术、人盯人策略。 (1) 全攻全守:一种积极的作战方法。球在前场时全队压上(除守门员外),有主攻与协攻队员,中场负责抢球传球;球在后场时全队撤回进行防御。 (2) 自由人战术:偏向于防守。安排自由人全攻全守,其他队员各自负责一区域。 (3) 人盯人策略:进攻为全攻策略,防守时不只围球转,而是强调盯人和卡位。 本文通过平均累计性能最优算法进行调用。平均累计性能最优算法是给每个策略设置性能指标初值,每次调用性能指标最优的策略;当调用此策略获得不良效果(如失分,失球等),则性能指标减一,反之,获得佳绩(如得分,有效控球等),则加一 [3]。 2.3 队形确定与角色分配 在确定好策略以后,为了使足球机器人在比赛中相互配合、协调作战,更好的完成各自的任务而不至于出现冲突,需要给每个机器人分配不同的角色。本文根据球位置及球员位置进行角色分配。 确定好机器人角色后,就要对机器人的动作进行设计和安排,根据动作函数调用关系及复杂程度把动作分为三层:基本动作,技术动作,战术动作。 (1) 基本动作: ①到定点 ②转角 ③沿指定方向移动 (2) 技术动作: ①射门 ②拦截 ③守门 ④传球 ⑤控球 (3) 战术动作: ① 一传一射 ②二过一 ③交叉掩护 3. 足球机器人仿真 通过模拟足球机器人系统,可促进对人工智能和机器人学的研究和比赛经验的积累,产生新的控制方案和新的对策。是面向对象的编程,编程简单、界面友好,深受编程人员青睐。本文采用进行仿真,通过调用VB接口函数(大赛组委会提供的动态链接库)编写AI程序。 3.1 VB接口说明 大赛组委会提供的动态链接接口包含在Cclient.bas模块,主要有以下函数。 (1) GetStart:打开和服务器的连接。 (2) GetInformation:从服务器端得到作战的信息。 (3) RunTo:移动指令。 (4) KickToTarget:向固定点踢球。 (5) KickToDirect:向固定方向踢球。 (6) NoKick:清空球员的预置动作。 (7) GamePause:暂时停止服务器操作。 (8) GameResume:使服务器重新运行。 (9) GameState:显示比赛状况。 (10) CleanUp:结束与DDL的通讯。 (责任编辑:admin) |
- 上一篇:一种加油站系统防雷设计方案
- 下一篇:基于可编程逻辑控制器和触摸屏的抢答器设计