Robocup2D入门笔记(3)——比赛运行逻辑简介

本文介绍了Robocup2D比赛的运行机制,包括server、monitor和client三个部分。server启动后,球队通过指定端口连接,教练和球员进程执行指令进行比赛。比赛以100ms为一个周期,信息在每个周期内交换,monitor实时可视化比赛状态。client中的coach提供全局策略,不受球场噪音影响。
摘要由CSDN通过智能技术生成

在前面的几篇博客中我们成功在自己的电脑上把比赛跑起来了,但具体怎么跑起来的我们还是不太清楚,这一篇博客就简要介绍比赛是如何跑起来的。

一场Robocup2D的比赛主要分为server、monitor和client三个部分。

在server启动之后,会开放一个端口(一般是6000)用于本地的球队连接上去,如果是联机比赛那就是走一个ip地址+端口。之后我们利用脚本(start.sh)就可以快速启动我们的球队生成12个进程(1个教练+11个球员),这些进程就能通过预先设置好的端口连接到服务器上,连接成功之后就会执行后面的代码,将球员放置到场上准备比赛,当双方都连接好之后,在server下达一个开球的指令(crtl+k)就会开启比赛。

在比赛的过程中,我们看起来连续的图像实际上是离散的,1秒钟被分成了10个周期(也就是100ms一个周期),因为周期时间很短所以看起来就是一个连续的过程。在每个周期中,服务器都会发送信息到各个进程中,例如当前球员所能看到的听到的东西等;而每个进程也需要发送指令到服务器端,例如转动脖子,向前冲,踢球等,发送到server的指令会被server先检查一次,而且一个周期仅能发送一定数量的指令,防止恶意堵塞信道。如此循环下去直到6000个周期跑完比赛结束。

而monitor则是在每个周期中把server模拟出来的场上的信息进行可视化,例如某个球员在哪,球在哪,离散的点因为周期很短所以看起来也会是连续的。

在这里插入图片描述
而在client中区分出了coach和player,coach这个client并不会显示在场上,也不会参与移动、踢球等指令,但是它可以发送信息给球员,而这个信息是不会受到球场噪音的干扰的(关于球场噪音可以看下一篇),但是会受到发送频率的限制。同时client也可以获得完整的球场信息,相当于一个拥有上帝视角的client,他可以审时度势做出球队整体的策略。

上一篇:Robocup2D入门笔记(2)——环境的配置与安装

下一篇Robocup2D入门笔记(4)——常见模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值