RoboCup智能机器人足球教程(四) 您所在的位置:网站首页 足球守门员的位置和打法视频教程 RoboCup智能机器人足球教程(四)

RoboCup智能机器人足球教程(四)

2024-07-01 23:15| 来源: 网络整理| 查看: 265

实现坐标定位

坐标定位是指球员能够根据发送过来的信息,通过运算解析出自己所在位置的坐标,如果球员能够看见球的话,也可以根据球的极坐标转换出全局直角坐标,因此坐标定位实际上就是坐标转换,坐标转换对于本球员逻辑代码至关重要。

关于全局坐标,全局坐标向下为y轴正方向,向敌方球门方向为x轴正方向,因此两支球队的全局坐标系并不相同。

由信息发送来的坐标信息为极坐标,第一个参数为球员所看到的物体与球员之间的距离,第二个参数为球员所看到的物体与球员的角度,注意顺时针方向是正方向。

    下面说明球员定位的算法:

    球员的位置状态有两部分组成,即坐标位置和朝向,这里先说朝向,首先,球员在初始化的时候,默认是朝x轴正方向,因此,设置一个全局变量angle,初始化为0,当球员按照自己发出的命令进行转身时,修改angle,这样就能够知道自己的朝向角度了。     然而并没有那么简单,在球员运动的过程中,由于惯性的存在,转身更为困难。一般地,球员的实际转身角度由下式计算:

    Actual_angle = moment/(1.0 + inertia_moment * player_speed)

    inertia_moment是一个参数,缺省值为5.0。由上式可知,当一个球员以最大速度(1.05)跑动时,他最大可以转过的角度会略小于30,因此我们在改变angle的时候,必须使用这个公式,来修正改变值。        即便修正后,仍然也只是大致的估计角度,因为球员在转向的过程中,会有大约10%的误差,也就是说,如果你命令转60度,根据上式修正为50度,最终结果是在40度到60度之间的某一个角度,时间越长,误差就会越大,最终angle的误差就会到达难以忍受的地步,因此,还需要定位点定位技术,来实时修正其角度。

    确定定位点,之前提到过,球场白线上的每一个空心白色小圆圈都是一个定位点,当球员能够看到这些定位点的时候&#



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有