仿真机器人足球平台开发经验分享:防守策略与技巧

1 防守:

A 开局之后,对方进攻,我方球员全部挡在对方身前,这是一种比较省力的防守方式:

a 防守位置是对方球员和我方球门中点的连线,然后按照一定的比例得到一个防守点,当然这个点是在对方球员和我方球门中点之间。这种防守方案的好处是对方拿到球后不能马上射门,坏处是对方的传球在我方的切入区内无法防守,所以我们抢断球的机会就会比较小。

b 另一个防守位置可以是球和其他进攻对手的连线,按照一定的比例选择点位。当然和上面一样,这个防守点是在球和人之间。这个方案的好处是,阻止了对手传球,我们有更多的抢断机会,但是我们每次循环都要比对手晚一周跑到这个点位,容易漏人,对手拿到球之后会迅速进入进攻状态射门。

B 当我们进攻的时候,对方断球然后反击,这时候我们的球员大部分都在对方半场,对方很难立刻回防,这时候我们就应该寻找最合适的目标去防守。还有就是如何一人防多个球员,因为我们其中可能还有一个人还能及时回防,这时候我们就应该考虑利用门将配合完成防守。

在防守过程中,无论采用A中的哪种方案,当我们距离对手较近时,我们就让他上去抢球,这样对手在下一个周期中就会断定我们同时控制了球,从而让对手做出传球指令。因为在无噪音的平台中,传球过程是一个容易丢球的过程,这其中不仅有平台噪音,还有计算不完整等诸多因素。即使对手没有传球,当两个球员的位置坐标重合时,平台就会模拟碰撞将两人分开,这样球就会被抛在两人之间,这也给了我们拿到球的机会。关于人盯人防守的过程,我们进行合理的计算,比较我方每个球员的时间分配,让其在最短的时间内以最快的周期去防守对手。这里可以用分组的方法来计算每个球员应该防守哪个进攻对手。

还有一点就是守门员的救球,它只在身体前方,所以在我们队里,你会看到守门员总是侧身防守,这样守门员在射门时有更多的机会救球。但是这对它的防守不利,因为在身体反方向跑动时速度会慢一点。还有一点就是守门员的位置,当对方只有一名进攻者时,我们不妨扩大守门员防守的角度(也就是离进攻者近一点,这样他和我们球门之间的防守空隙就缩小了),这样对方的射门机会就少了。当对方有多人进攻时,守门员的位置就要重新定位了。我觉得不同人数的进攻过程中应该有不同的防守方案,才能做出最合理的防守。这包括以多防一,以一防多(一个人站在守门员附近配合守门员防守)等。

2 进攻行动

A 跑位的好坏会直接影响到进攻的速度,好的跑位可以快速的突破对方的防守。在这次比赛的过程中,我知道在写跑位的过程中不能只考虑跑位,还要计算我们队员跑到那个点的时候对方有没有防守的人,跑过去之后我方队员的体力和身体方向,对方的站位会不会影响我们的传球。如果把这些情况都考虑进去的话,我们在确定了大概的跑位之后就会不断的修正这些点,让我们的跑位更有进攻性。我上面说的快攻就是队员站位更有进攻的威力,这样我们的传球才有利于射门。

B. 站位可以分为多套站位方案,不同的进攻站位点分在不同的控球区域。记得有位前辈写过,一个球场应该分为五个区域,每个区域有不同的站位方案,但这样的站位很乱,对体力要求也比较高。所以我更喜欢我上面说的站位,就是先确定大概的点,然后不断寻找更合适的点,因为对手比你反应慢一个周期,所以我们有充足的时间摆脱对手。但是有些可能出界的点必须考虑到,当我们的球员跑到出界的点时,要有合理的解决方案。

C 当守门员拿到球的时候,我们要指派一到两个人回去接球,另一个人则要站在持球球员的周围。最好有一个灵活的人来接球。这样球队会更加灵活,进攻的机会也会大大增加。尤其是进入对方禁区的时候,能否安全地将球回传是判断一支球队好坏的关键。

3.传球

A权重:传球的时候我们当然要选择一个比较适合进攻的队友传球给他。不过选择这个点的时候我们最好不要单纯的考虑谁离对方球门更近就传球给他,还要考虑这个队友拿到球之后会不会对我们的进攻非常有利。有时候一个球员虽然非常适合传球给他,但是他拿到球之后很快就会被对方的球员防守,这种情况是不利于我们传球的。当然最好的解决办法是给每个球员设定一个值,然后考虑他离对方球门的距离,周围是否有人防守(最好是前后的人做不同的考虑),分别给他加权或者减权。不过一个很大的前提是我们能够传球成功,也就是我们的球员会比对方更早拿到球。最后我们会得到若干个适合传球的队友,并按照权重进行排序。

仿真足球机器人技术报告_仿真足球机器人比赛程序_仿真机器人足球

B点的选择:球不一定要传到身体里面,也可以传到他周围的一些地方。没有更合理的传球点。 (1)我以前做的时候,是在我要传球的球员身前(身前指的是进攻方向)做一系列的扫描,(2)但是你也可以在球员身体正前方的直线上选取一系列的点,(3)你也可以画一条连接球员和对方球门的坐标的线并在其上选取一些点。当然,我们不能说哪种更好或者更差,因为每种都有自己的优点。就拿(1)为例。这种扫描范围更大,也有利于我们的进攻,但是它没有考虑到我方球员的方向,这样会降低传球的几率。

C 具体情况:传球给队友时,可以加快速度,但提前传球时,要考虑场上的噪音,不要传得太快,容易丢球。主要看队友几个周期就能跑到传球点,再根据每个周期来决定要以多快的速度把球踢出去。

D.发出传球指令时,接球的队友也应同时向该点跑去,以避免不必要的丢球。

4 张照片

A点的选择:一般的方案是从球门的一侧扫描到另一侧,得到一个对方守门员无法到达并射门的点。在这场比赛中,我们对这个计算做了一点小小的改动,即如果我们在守门员的左侧,就从左侧开始扫描,反之亦然。这样做的好处是,有时可以避免一些不必要的失误(当守门员在左侧,我方射门者在右侧时,如果我们只从左向右扫描,可能会有一个点恰好是守门员右侧的点,虽然计算出球会进门,但是可能会因为平台噪音而丢球。但是,如果我们从右向左扫描,就不会发生这种情况)。

B 当我们距离对方门将有一定距离的时候,我们最好考虑穿门将射门,因为当球移动的速度非常快的时候,虽然对方判断这个周期会控制住球,但是那个周期球就会到达身体后方,射门就会穿过门将。

C.还有就是在单挑的时候,你可以不用任何配合就过掉守门员直接把球踢进球门。我还没有实现这个流程,就说说我的个人看法吧:先把球踢到左边让守门员以为我们要从左边射门,但我们是从右边射门。因为守门员的扑救范围是(-90~90),也就是守门员是无法扑到身后的球的。

第五代球

A.控球:控球好会给我们带来很多进攻机会,当我们突破对方球员的时候,会打破对方的防守策略,这对我们传球有一定的好处。

控球的重点在于如何判断每一轮中哪一方会控球,计算出这个之后才能确定我方球员会把球踢到哪个点(当然下一轮中我们仍然可以在对方还未拿到球的情况下控球)。这就需要我们计算出对手这一轮的移动轨迹,因为对手并不知道下一轮中球会在哪里,只能根据这一轮来推测下一轮中球会在哪里。我们可以根据对手的体力、身体方向、速度等因素进行判断,将球踢到一个点,让对手在下一轮中无论怎么移动都拿不到球,但是下一轮中我们仍然可以控球。

B.替补球:替补球的核心是不断的将球往对方球门方向推。不过有些时候我们不一定非要把球踢向对方球门的方向,我们也可以不断的替补球。我方球队进攻的时候,有时候队友被对方防守的很严密,我们无法往前替补球,我们也可以考虑往可以替补球的方向补球,让队友跑开,然后等到有空隙的时候再进攻。替补球的大致思路就是选择一些利于进攻的点,判断在对方拿不到球的时候可以把球踢向哪个点。一般是一系列面向身体的点,有时候可能不是朝着球门方向,但是我们要做出调整,让它朝着球门方向进攻。我们并不是每个循环都踢球。 有时候球在这个循环中本身就有速度,但是这一次的速度和我们想要的方向是一样的,这样移动的话不会被对方获得,所以我们就没必要再踢了,因为这样不仅浪费体力,也浪费时间。我们可以带球跑,就是让球在我们的身体里一起进攻对方的球门,最大的好处就是不会丢球。

摘要:mζ

这是我这几年开发过程中的一点心得,可能还有很多不足,希望对这次组队开发的朋友有些帮助,预祝本次比赛圆满成功~

大家都在观看