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

这篇博客深入介绍了Robocup2D中的关键模型,包括球场坐标、听觉模型(信息模板、信道限制、交流范围)、视觉模型(信息模板、视觉范围、噪音)以及动作模型(移动、碰撞、体力)。这些模型帮助理解比赛逻辑和球员行为,并揭示了信息传递和感知的限制与噪声对模拟的影响。
摘要由CSDN通过智能技术生成

Robocup2D中有几个常见的模型,例如听觉、视觉、移动、踢球等,这篇博客主要介绍这几个常见的模型,这些模型也都可以在官方发布的说明书中找到(懒得找可以点这里)。

一、球场模型

Robocup2D的球场中存在一个坐标系,如下图所示,进攻方向是X轴的正方向,顺时针旋转90°后就是Y轴正方向,球场内的X的取值范围是[-52.5, 52.5],Y的取值范围是[-34, 34]。
在这里插入图片描述
注意左右两边的坐标轴方向是正好相反的,但是只要记住上面的坐标推导原则即可。

二、听觉模型

1、信息模板

球员端client接受到的听觉信息会是下面这样的:
(hear Time sender "Message")
其中hear是保留字,用于区分不同的信息种类;
Time就是收到信息的时间;
sender指示信息从什么哪里传过来,如果是其他球员,就指示一个方向,如果是教练,就是online_coach_left或online_coach_right,如果是裁判就是referee,如果是自己就是self。

2、信道限制

除此之外,球员在一个回合之内最多只能听到一个由球员发来的信息,也就是说,如果两个球员同时向一个球员发出信息,这个球员只能接收到其中的一个。但是由教练,自己和裁判发来的信息可以允许与球员发来的信息并存。

3、交流范围

球员只能听到一定范围之内的信息,例如在己方球门的守门员说出的信息在前场的前锋就不能够听到了,这个距离是50个单位长度,也就是一个球员可以听到在这个范围内的一个球员发来的信息,而在这个范围以外的球员发出信息他就听不到了。

三、视觉模型

1、信息模板

(see ObjName Distance Direction DistChng DirChng BodyDir HeadDir)
see是保留字表示是视觉信息;
ObjName表示看到的物体是什么,注意在Robocup2D中,球员得自己通过观察到的球场上的标志物来推断自己的位置,服务器并不会将球员的坐标直接发送给球员;
Distance就是距离;
Direction就是方向;
DirChng,如果将两个物体连线看成一个向量,DirChng指的就是这个向量的模;
BodyDir和HeadDir就分别指的是当前球员身体和头的方向。

2、视觉范围

视觉的范围判定会比听觉要更加复杂一点。
球员所能看到的反围是当前头所在方向的一个扇形,这个角度被称为view_angle,这个角度可以有多种不同的取值,当然大角度对应的需要更长的周期才能获取到信息。
接着球员所能看到的东西也会随着距离的不同而不同,主要有unum_far_length,unum_too_far_length, team_far_length, team_too_far_length,这里分别介绍。
当dist<unum_far_length时,球员可以看到所在区域的球员的所属球队和号码;
当unum_far_length<dist<unum_too_far_length时,球员有一定的概率能够看到号码,但是依然可以识别出所属球队;
当unum_too_far_length<dist<team_far_length时,球员无法看到号码,但可以识别出球队;
当team_far_length<dist<team_too_far_length时,球员有一定概率可以分辨出所处球队;
当dist>team_too_far_length时,球员就无法识别出所属球队了。
在这里插入图片描述

3、噪音

球员的视觉信息会收到噪音的影响,而这个噪音的影响着球员对距离的判断,而且距离越远噪音越大。

四、动作模型

动作模型有很多,大家具体可以去看说明书,这里只挑几个重要的说明

1、移动模型

1.1 球员移动

球员的移动取决于球员发出的指令,如果球员发送dash指令,那么球员就会向前加速或者减速(向后dash),而如果没有发送dash指令就会按照一定的比例衰减速度。

1.2 球的移动

球的移动与球员的移动类似,也是如果没有人踢球,就会保持当前的方向移动,速度不断衰减,而如果有人踢就会获得一个新的速度与角度。

1.3 噪音

移动模型中同样有噪音的影响,为了模拟现实世界中那些没有被预料到的移动。

2、碰撞模型

碰撞模型主要针对两个物体重叠的情况,当发生这种情况的时候,系统判定为发生碰撞,两个物体都会沿着来时的路径被移动开直到两者不再重叠,同时速度都乘以-0.1

3、体力模型

球员是有体力限制的,而体力就被存储在一个叫体力池的地方,当球员发送dash指令的时候就会从体力池中减少体力。
但同时每个回合球员都会获得一些体力的恢复,甚至在有些时候球员的缓慢移动能够恢复体力(也就是才场上散步了)。而如果球员的体力消耗到一定程度了,它就无法再做快速的移动只能缓慢移动,直到体力逐渐恢复。

上一篇:Robocup2D入门笔记(3)——比赛运行逻辑简介
下一篇:Robocup2D入门笔记(5)——agent2d球队结构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值