1、 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构目录2023-5-161 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构10.1智能中型足球机器人视觉子系统2023-5-162智能中型足球机器人视觉系统的硬件配置1.全景视觉系统 在足球机器人的摄像机是最重要的传感器,它的重要性就相当于眼睛对于人。在Robocup中型组比赛中,机器人普遍采用全景视觉系统。它由一个摄像机和一个反射镜组成,见图10.1。反射镜装在机器人顶部,镜面向下,摄像机朝上正对着反射镜。摄像机得到的是带有畸变的俯视图,显示了机器人周围360度的情况。这和人不一样,因为人通
2、常不能看到身后,除非把头转过去。图10.2是这种配置的视觉系统获得的一张典型图像。可以看出它带有严重的畸变,图像中间的黑色区域代表机器人自身,黑色区域的中心代表了机器人的中心。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构全景视觉系统例子2023-5-163某机器人的视觉系统的硬件配置一张典型的全景视觉系统拍摄的图片 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构多摄像头的视觉系统2023-5-164全景视觉的目标识别有其缺陷,特别是对球的识别。根据RoboCup中型组的比赛规则,机器人的高度不能高于80cm,因此从全景镜中就不能识别到高
3、于80cm的物体。而在智能中型足球机器人比赛中常常会有挑起的球高于机器人的情况。有很多参赛队为解决这个问题,提出了一些方案。比如中国国防科技大学的猎豹机器人上装有两套视觉系统:一套全向视觉系统和一个廉价的网络摄像头加装广角镜头构成的前向视觉系统。荷兰Tech United队使用一个工业智能摄像机作为前向摄像机,主要实现球的辅助识别与定位作用。当球速达到10m/秒时,一个工作于25帧每秒(fps)的全景摄像机是不能完成这个识别任务的,他们使用的摄像机是高速的工业摄像机系统,可以工作在高达200fps。要处理200fps,640X480分辨率的实时图像,如果由PC机来完成,无论对于传输还是处理都是
4、极难实现的。荷兰队选用The Vision Components VC4458摄像机(最高 242 fps 640 x480 pixels),具有板载处理能力,所有的图像处理和识别都在智能摄像机内部完成,摄像机和主机通信的内容只有球的位置和球速。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构全景镜曲线2023-5-165目前,具有全景视觉机器人中广泛使用的全景镜面主要是双曲线镜面,通过摄像机采集到的图像具有全景水平视角,使机器人能够获取全景图像。该类全景数学模型简单,但得到的图像存在严重的失真,尤其距离机器人远处的图像畸变很大,直接造成识别场上标志线或球等目标的困难
5、。通过使用组合全景镜面,可以克服现有全景镜面得到的图像失真严重的不足。组合全景镜面的第一段曲线保证了在一定距离范围内水平场地上的点和图像上的像素点具有指数函数关系;组合镜面第二段曲线是一段圆弧,保证了在距离较远处能够看到一定高度的物体。这种构造的镜面能够很大程度地减小图像失真的情况。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构通过双曲线镜面获得的图像2023-5-166 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构分段组合全景镜面曲线2023-5-167 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构视觉系
6、统基本信息的提取2023-5-168 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构视觉系统的坐标系2023-5-169在阐述视觉系统之前,首先定义系统使用的3个三个坐标系:图像坐标系,机器人坐标系,全局坐标系。这3个坐标系贯穿了整个视觉系统的始末。其中,机器人坐标系和全局坐标系,更是贯穿了机器人的整个软件系统(包括视觉系统,决策系统,通讯系统)。图像坐标系I(x,y):x和y 表示像素位。机器人坐标系L(x,y):这个坐标系建立在机器人的视角上。它的原点就是机器人中心。Y轴指向了机器人的正前方(见图10.10)。这个坐标系也称为实际坐标系。全局坐标系G(x,y):
7、这个坐标系用来表明机器人的位置。它的原点为球场的中心。(见图10.10)图10.9定义了图像坐标系,机器人就是图像中央的黑色区域,该区域的中心不一定是图像的正中心,但黑色区域的中心点C对应的是机器人的中心,这里称其为图像中心。原点在图像的左上角,图像中央黑色区域的中心是机器人的中心位置。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构三个坐标系图示2023-5-1610图像坐标系原点在图像的左上角,图像中央黑色区域的中心是机器人的中心位置。机器人坐标系和全局坐标系 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构距离函数和反距离函数2023-
8、5-1611全景视觉系统获得的图像通常带有不同程度的畸变,如图10.9,需要进行有效的校正。于是引出一个问题,例如,距离图像中心200个像素的点所对应(投影)的地面上的点与机器人的距离是多少(这里认为是地面上的一点,而不是一个具体的物体上的一点,因为物体具有高度,判断物体的位置是一个三维问题,单目视觉本质上只能解决二维问题,在本系统中计算物体的距离都是通过该物体与地面的接触点把问题简化成二维的)。在图像处理之前,必须得到一个重要的函数,这个函数的输入是图像上与图像中心的像素距离r,输出是机器人与这个像素对应实际位置的实际距离R,即 R=F(r)。这里把它称为距离函数,标定视觉系统的含义就是获得
9、距离函数,即把像素坐标转换成实际坐标。距离函数只对同一高度有效。有了它,才能实现测量物体与离机器人的距离,实现定位。距离函数使实现整个视觉系统成为可能。距离函数的获得方法可以是手动测量的,也可以是自动的。距离函数的反函数被称为反距离函数r。r=G(R);(10.18)G是F的反函数。该函数主要被用来计算处在场地的边界的像素位置,但需要机器人首先完成自定位。在绿色场地的自动标定和识别球的过程中,反距离函数有着极其重要的作用。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构坐标转换2023-5-1612在高度为0的情况下,图像坐标系和机器人坐标系是可以互相转化的,转化的中
10、介就是距离函数以及反距离函数,假设图像坐标系中的一点(x,y),要计算它在地面上的投影的坐标(机器人坐标系下的坐标),图像中心的坐标为(xc,yc)。当从图像坐标系转化成机器人坐标系时,先通过距离函数计算实际距离,然后再计算角度,计算角度的公式取决于摄像机相对于机器人的装配方向。这样,得到了实际距离和实际角度就可以计算实际坐标,即机器人坐标系下的坐标。如果要从实际坐标转成图像坐标,就执行相反的过程。实际坐标和全局坐标的转化以自定位为中介。定位不成功将导致转化失去原有的意义。图像坐标不能直接和全局坐标相互转换,要以实际坐标为中介。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的
11、软体结构无信息区的标定2023-5-1613无支撑柱的机器人的全景视觉系统得到的图像,它的全景镜通常是由透明材料制作成的筒状支撑架与摄像机联接装配,因此在生成图像时不会有和图像无关的支撑柱信息存在,得到的是一个完整的全景视觉图像。有支柱的机器人的全景视觉系统得到的图像,它的中央和四周存在黑色区域,不反应机器人四周的情况,如果在进行信息提取的时候,屏蔽这些区域,就可减少干扰和不必要的CPU负担。为了屏蔽这些无信息区,需要建立一张查找表,对于一个像素,通过该表可以查到此像素是否处在无信息区内,如果处在无信息区内,算法就跳过,不进行信息提取操作。第第1010章章 智能中型足球机器人的软体结构智能中型
12、足球机器人的软体结构无信息区图示2023-5-1614无支柱的全景视觉系统图像全景镜的三根支撑柱遮挡了“视线”,增加了无用区域自动无信息区标定结果 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构颜色定义构建颜色查找表2023-5-1615在视觉系统工作之前先要对颜色进行定义,即什么是绿色(场地颜色),什么是黑色(机器人颜色),什么是橙红色(足球颜色)。定义方法可以分为两类,第一类使用阈值,例如对于颜色空间RGB,把R200,G100,B100同时成立的颜色定义为红色。第二类是建立颜色查找表,表中条目数等于可能出现的颜色值的数量(即RGB能够组成的所有组合的数量,对于
13、大多数的计算机为256256256),条目的内容是该颜色值对应的颜色(例如绿色)代码形式的表示,通过颜色查找表可以查出任何一个颜色值属于或者不属于某颜色。对比阈值法,使用颜色查找表对定义颜色得到的结果更加精细。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构视觉标定2023-5-1616(a)相似颜色的扩散(b)把(a)中区域内的颜色定义为绿色的标定结果(c)标定完成后的结果 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构色块提取与跟踪2023-5-1617定义颜色查找表后,就可确定某个像素否是绿色(场地颜色),但是这些绿色点只是一个一个像
14、素,程序并没把它们连接成区域。区域是由相似颜色组成的色块。表示区域最精确的办法是获得它的轮廓。获得这些轮廓通常要耗费较大的CPU资源,如扩散算法。在某些场合下,不需要获得精确的轮廓,但是需要更高的速度,应用在这种场合下的算法的一个典型代表是CMU的算法,该方法得到的是框定一个区域的最小矩形,并且这个矩形是不允许旋转的,轮廓的信息被丢弃。这里介绍一种基于Region Tracker精确的区域轮廓获得方法,该方法由Felix von Hundelshausen开发并首先使用在足球机器人上。它不但能得到精确的边界,而且非常迅速。因为视觉系统得到的是连续图像,任意前后两帧图像都是很接近的,所以除了在初
15、始时需要色块提取外,在大多时间内可以把问题归结于跟踪,跟踪通常是比较省时的。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构Region Tracker算法2023-5-1618Region Tracker算法的基础是扩散算法。扩散算法需要一个或者一批符合某种要求(如颜色)的种子点,一张和图像大小相同的布尔变量表来标记图像中的所有像素点是否已经包含在所提取的区域内,这张表某个位置上为“否”,表示该位置对应的像素点不在区域内,“是”表示在区域内,初始化时,表中对应种子所在位置的布尔变量置为是,其他都为否,表示只有种子在区域内,通过扩散,将把一些符合要求的点标记为在区域内
16、。扩散算法从种子向邻近点(上下左右的紧邻着的像素)扩散,判断是否应该扩散某个紧邻的像素点需要两个条件,第一:颜色值属于要求的颜色,二:被标记为在当前提取的区域之外。这两个条件符合时,把该像素标记为处于正在当前提取的区域内,并且作为进一步扩散的“根据地”,进一步向外扩散。当算法扩散到不可扩散时,轮廓就形成了。用一个数组来记录轮廓上的点,以及一张包含他们之间连接信息的表。由于两幅连续的图片中色块变化不大,如图10.16中的区域A和区域B,区域A表示前一帧的某个色块(物体),区域B表示紧接着的后一帧的同一色块。这两个色块常常有一大片交集,在Region Tracker中交集就是可以大加利用的对象。第
17、第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构对绿色场地实行色块提取的结果,蓝色线条为绿色区域的轮廓。2023-5-1619 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构候选种子2023-5-1620 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构场地白线的识别2023-5-1621场地上白色标线是机器人实现自定位的前提条件,在场地轮廓的基础上,很容易得到白线点。对于轮廓上任何一点,可以求得通过这点且垂直于轮廓的法线,在法线上往往存在着白线点。白线的特点是具有很高的亮度,并且白线两边通常是绿色(场地)。算法首先
18、以场地轮廓为起点,沿法线收缩亮度高的像素点,找到以后再以这个高亮度点为中心,沿法线搜寻两边是否是绿色,即先搜寻白色,如果收缩到白线点则搜寻两边的绿色,这两次搜寻都是在一个小范围内进行的,保证了离轮廓点比较近。检测白线的结果如图10.19,图中展示的是检测白线的原理,以亮度高的点为起点,法线方向为搜寻方向,去验证两边是否为绿色,如果都是绿色则认为是白线点。图中检测线中点标记过白点的是算法认为的白线点,没有标记白点的检测线系统认为该中点不是白线点。可以看到有些线是白线,但系统没有认为它们是白线,球中有一点却被标记为白线了,因为符合检测原则,中间亮度高,两边是绿色。第第1010章章 智能中型足球机器
19、人的软体结构智能中型足球机器人的软体结构检测白线2023-5-1622 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构2023-5-1623射线检测白线点 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构类球点和类障碍点的提取2023-5-1624对球的颜色使用阈值法定义,使用颜色亮度分离的HSV颜色空间,该空间对调整阈值比较有利。不需要把球的颜色包括得很全面,这些类球点的作用只是指明了这个位置可能有球,具体是否是球需要做精细的判断,所以即使阈值的范围比较小是不影响识别球的,而如果把阈值的范围比较大会增加干扰,使得算法必须在更多位置进行精细
20、的判断。检测类球点使用类似于白线点检测的方法,只不过这次只要在场地轮廓为起点的法线上存在符合阈值定义的点以后就认为是类球点,法线不能过长,以保证在场地绿色轮廓附近。类球点的检测结果见图10.21,正红色为检测到的类球点。提取类障碍点的目的是产生种子,为Region Tracker识别障碍物服务。障碍的亮度很低,因为规则规定它为黑色,所以系统就以亮度为判别标准。亮度低的为类球点。其检测过程和检测类球点一致。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构目标检测与识别2023-5-1625前面详细介绍了图像信息的提取,其中包括白线点提取、类障碍物点提取、类球点提取,其中
21、白线点提取是为机器人自定位服务,类障碍物点与类球点提取是为识别障碍物和识别球服务。识别障碍物和球都属于机器视觉检测中的目标检测与识别。1)障碍物的识别在球场上,机器人的周围有各种障碍物,如队友机器人,对方机器人,甚至人类裁判等,并且这些障碍物的位置常常是不断变化的。机器人在场上移动,首要的原则是不能与这些障碍物发生碰撞,更高的要求是能在这样一个动态的障碍环境中找到一个最优的路径到达目标地点,甚至能够在带球的情况下绕过障碍物,完成带球突破这一技术目标。完成这些任务的最基本的前提是有一种有效的稳定的实时的障碍物识别方法。常用的障碍物识别方法视传感器的种类而异,这里只介绍基于图像传感器,即摄像头的识
22、别方法。系统使用Region Tracker作为识别障碍物的主要工具。把类球点作为种子,用Region Tracker 获得黑色色块的边界,区域面积的就不能认作障碍。识别效果见图10.22,红白点标记了障碍和地面的接触点,该点决定了障碍物离机器人的距离,两条红线标出了障碍所占据的角度,这在机器人的避障和射门中十分有用。避障要求机器人的行动方向不能在这个角度内,射门要求机器人的瞄准方向不能在这个角度内。图中显示的是穿黑色衣服的研究人员。除了这个区域的黑色以外,还有很多其他的黑色,因为他们处于无信息区,或者在场地以外,算法就不去考虑这些场外信息了。图中还有两个小区域被蓝色包围,但是他们没有红白标记
23、,因为它们面积过小,算法不认为这是障碍。这两块黑色区域原本属于一个大的黑色块,但是Region Tracker没有把这块大色块标记进去,因为他们在场地以外,系统对Region Tracker使用一个特殊的限制,如果要扩散到场外,算法就限制住它。辨别物体是否在场外,需要自定位技术,和全局坐标映射到图像坐标的方法。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构国防科技大学开发的基于射线扫描方式提取黑色障碍物的算法2023-5-1626 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构识别障碍物2023-5-1627 第第1010章章 智能中型足
24、球机器人的软体结构智能中型足球机器人的软体结构球识别2023-5-1628(1)橘红色球识别同自定位一样,检测球也是从提取轮廓开始。首先用Region Tracker提取图像轮廓,再搜索非场地的区域中的类球点。对于特定颜色球的识别,类球点比较容易获取。颜色就是球的特征,这里定义一个颜色空间的区间,如对于HSV颜色空间,不妨取5H35且180S230的颜色像素点为类球点。如果某一个区域中的类球点占整个区域的像素点的总数的比例超过预先定义的阈值,则再将这些点聚合在一起,放在一个矩形检测框内。在该框内将图像二值化,对这些点群提取边线,再用椭圆去拟合边界来判断是否是球。对球的判断的准确性有一个指标,称
25、为相似度,相似度可以由三个权重来度量:近似椭圆的程度,类球点数与所在轮廓的所有点数之比,检测轮廓的尺寸相近程度。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构类似于双目摄像头的多摄像头的数据融合得到的空间点云数据,反应球在三维空间中的位置2023-5-1629 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构任意颜色球识别2023-5-1630依靠颜色来识别球就意味着需要对颜色进行分类,定义某些颜色为球的颜色,通常使用阈值颜色分类,或者通过颜色查找表确定颜色的分类。但是这些做法非常依赖于光线的变化,极不稳定。如果换一个新的足球,即使光照不变
26、,也需要重新对颜色进行分类。为了克服这一缺点,必须以球的形状为特征,来进行识别。过去的几年中,球形物体的识别成为了机器人足球的热点,并且取得了一些突破,其中之一借鉴了P.Viola使用adaboost进行人脸识别的方法。Adaboost 用来获得分类器,可以使很多分类功能并不好的分类器联合组成一个分类性能好的分类器。为了把adaboost应用在机器视觉中,还需要使用积分图获得Haar特征。算法先计算出Haar特征,然后生成许多原始的分类器,adaboost可以组合这些弱分类器,获得一个强分类器。这提供了一个优点,人们不用费尽心思去选择所识别模式相对于其他模式有什么特点,这种机器视觉方法适用于识
27、别大多数物体。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构智能中型足球机器人的自定位2023-5-1631机器人自定位是移动机器人的重要技能,是自动导航的基础。设想在室内,机器人不知道自己的位置,而它又不具备识别障碍的能力,它在移动的过程中就会撞到墙壁,因为不知道自己的位置意味着不知道墙壁有多远。定位的前提是要获得已知的地图,优秀的机器人可以通过传感器获得周围的几何形状,构建地图,然后使用定位算法得到自己的位置,进而可以规划路径进行导航了。足球机器人自主选择路径就是自动导航,足球场就相当于一个室内环境,球场的边界就相当于墙壁。定位需要已知的地图,场地是规则详细规定
28、的(已知的),这样场地模型就是地图。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构自定位的研究背景2023-5-1632机器人自定位这个课题是机器人领域的热门,人们已经取得了一些研究成果。其中一个普遍使用的方法是利用Monte Carlo方法进行定位,也称粒子滤波定位算法。该算法的核心是计算机器人位置的概率分布。初始化时,通常先把机器人的位置认为是在场地中均匀分布的,然后根据不断接收到的传感器信息,调整概率分布,最后达到收敛,机器人在某个位置概率接近1,这样就定位成功了。之所以说这是粒子滤波是因为它在计算概率密度函数时,把连续量离散化了,实际计算的是概率,不是概率密
29、度。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构自定位算法的基本原理2023-5-16331)定位的目标定位的目标是取得机器人在全局坐标系的坐标和机器人的方向(x,y,),x,y是坐标值,是机器人的正方向,一共三个量。2)定位模型匹配在论述了识别白线点的方法,但是这些白线点并不是在机器人坐标中,而是在图像坐标系中,并且是带有较大畸变的,需要把这些点转化到机器人坐标系中,该坐标系以机器人为原点。此时如果把机器人和这些校正后的白线点看成一个系统,并且该系统通过平移和旋转使系统中的白线点能够和场地模型的白线匹配,就能够实现机器人的自定位功能。第第1010章章 智能中型足
30、球机器人的软体结构智能中型足球机器人的软体结构 校正后的白线点和场地模型匹配,红色点为校正后的白线点2023-5-1634 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构距离场(或称距离查找表,匹配的评判工具)2023-5-1635 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构虚拟力场2023-5-1636机器人和白线点组成的系统(以后就把这称为“目标系统”)需要通过平移、旋转与场地模型相匹配。促使“目标系统”移动的是一个附带在模型上的力场,不同于距离场,它是一个矢量场,“目标系统”的每个白线点都受力,他们所受的合力的方向就是“目标系统
31、”平移的方向,平移的距离和受力成正比,这些力还会产生转矩,“目标系统”旋转的方向就是转矩引起的转动方向,旋转角度的大小和转矩成正比。计算转矩的步骤是:1.计算白线点的质心2.计算每个点受的力引起的转矩3.求出这些转矩的和 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构自定位算法的实现2023-5-1637机器人上一共配有两个传感器,即摄像机,电子罗盘。其中摄像机获得的信息为自定位的主要依据。定位分两种情况,第一种情况,机器人不知道自己在前一帧的位置(前一刻),例如在利用第一帧图像定位时,机器人不知道刚才在哪里,因为程序才刚刚开始。这种情况的定位是困难的,此时定位被称
32、为重新定位,因为这主要发生在前一帧定位失败的情况下,需要耗费大量CPU资源。重新定位的方法是一个遍历的过程,方法如下:分别在x、y、三个量的定义域内每隔一定的步进取一个值,对以任意一组(x,y,)值(位置),假设机器人处在这个位置上,把白线点转化成全局坐标下的白线点,然后计算匹配误差。针对的不同的(x,y,)可以得到不同的匹配误差。取匹配最小的误差,它所对应的位置就最有可能是机器人的位置。这个过程实质上遍历场上每个可能的位置和方向,取匹配得最好的组合。但是这个遍历过程是一个离散过程,离散的程度取决于步进的长度,如果步进过长,离散程度就高,得到的匹配误差常常很大,如果步进过小,匹配的次数就会过多
33、,造成占用CPU资源过大。当取得了一个最小匹配误差时,并不代表定位成功了,因为这个定位结果只是非常粗略的,有时还不一定正确。需要使用Matrix算法使得匹配更精确。Matrix算法实际上是一个由粗到细的过程,它的输入是粗略的定位结果(x,y,),输出则是准确的定位结果。假设输入的定位粗略的结果(x,y,),然后使用迭代算法,算法具体如下:第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构智能中型足球机器人比赛规则2023-5-1638RoboCup中型组机器人的比赛规则决定了智能中型足球在机器人要使用无线通讯。在RoboCup中型组中型组比赛中,有两个裁判在赛场上主持裁
34、决工作,一个是场地上的主裁判,他的工作是根据规则判定每个机器人的行为是否犯规,以及发出开球、暂停、进球有效等指令。这些指令是以哨声和话语发出的,但是场上的机器人并不能直接的了解他指令的意图,这就需要另一个裁判,即副裁判的工作就是操作场边的一台裁判计算机,这台计算机和双方的服务器计算机相连,裁判计算机中安装有裁判盒(Referee Box)程序,这个程序的作用就是向双方的服务计算机发送裁判指令(开始Stop、停止Start、边线球Throw in 等)。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构10.210.2 智能中型足球机器人通信子系统智能中型足球机器人通信子
35、系统2023-5-1639RoboCup中型组比赛示意图 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构智能中型足球机器人服务机程序与机器人程序2023-5-1640双方的服务计算机上通常运行一个服务机程序,这个程序主要有两个作用:一是将裁判盒发出的裁判指令实时可靠地发送给场上的机器人二是实时地监视场上机器人的状态,主要包括自定位的信息和识别球的信息场地上的每个机器之间也可以通讯,这些通讯不仅包括自定位信息和球位置信息,还包括球的识别率和球相对自己的一个相对位置信息。这里要注意的一点是服务机和机器人在网络拓扑结构上属于同一子网中,服务机只是在比赛中起到看似“服务器”
36、的功能,并不是网络意义上的服务器。服务机和机器人是通过一个路由器连接的,路由器和机器人计算机是通过无线网络IEEE 802.11b/g完成信息互联,无线连接,路由器和服务机是通过有线连接。事先需要给每台机器人分配一个IP地址,而且服务器的地址必须是固定不变的。下面主要在智能中型足球机器人自身的角度来介绍这两个通讯子系统 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构机器人和服务机的通讯2023-5-1641机器人在场上通过视觉等传感器能够做到自定位和球识别,但是在比赛时或者调试的时候并不能直接知道机器人是否定位成功或者识别到球,抑或定位是否正确以及球识别是否准确,如
37、果要时时地去打开看机器人内部的计算机势必很麻烦以及很耗时,另外特别是针对视觉检测为基础的智能中型足球机器人,人为地接近会混乱其视野,造成某些颜色信息的丢失或者是干扰(如人穿着一件鲜红的衣服或遮挡部分场地白线),造成不可避免的测不准。因此可以利用无线通信远程地检测这些信息通讯协议 为了实现这一通讯,机器人要实时地发送各种信息给服务机,但是并不一定每一帧都发送,这样会有不必要的数据通信量,因为发生的数据只是用来监视,不妨选择隔几帧(如5帧)发送一次。这种通讯的协议通常是自定的。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构机器人之间的通讯2023-5-1642机器人之间
38、的通讯和机器人与服务机之间的通讯内容相似,但是意义不同。机器人之间通讯是为了实现信息共享,并且在这个信息的共享的基础上实现一些基本的操作优先与协作。这种信息的共享是实时的,即每一帧都要共享这些信息。这种信息的共享是非常有意义的。主循环.告知所有其他机器人我的状态;.第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构2023-5-16431)球位置信息 在接受这三个信息之后,机器人会和自己通过视觉获得的这些信息比较。一般来说,在光线比较好的环境中,离球比较近的机器人看到球的相似程度更加可信,那么其看到球的位置信息也更加可信,如果自己看到的球相似程度没有对方高,则相信对方看
39、到的球。这一点还有另外一个好处,并且这个好处对比赛而言是非常有实际意义的。如果一个机器人在后场,或者被很多其他机器人挡住视野,而无法看见球,那么它看到球的相似程度就是0,这样任何一个看到球的队友告诉它的信息都会被接受。自然而然地可以想象,全队只要有一个队员看得到球,那么全队的队友对球的位置都有一个把握。当然这只是球位置信息共享的极端情况。2)抢球的优先级 在球的位置信息共享之后,随后会共享球相对自己的距离。这里将球的相对距离共享的意义在于,我们事先假定离球近的队员去抢球成功率会更高,因为场上的环境时刻在改变,如果让距离比较远的队员去抢球,势必造成错失时机;而如果不设置抢球的优先级,则势必会造成
40、哄抢的局面,不仅会影响进攻的效果,也可能使得机器人在碰撞中造成损坏,这些损坏是不必要的,可以避免的。上述的优先级设置以及运行的机制,是一种默许机制,就是只接受数据信息,不接受指令信息,这一机制可以减少通讯数据量,缓解通讯信道的负担,但是对发送与接受方的处理函数的编写提出更高的要求。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构10.3智能中型足球机器人决策子系统2023-5-1644前两节视觉子系统和通讯子系统,完成了智能中型足球机器人在场上需要获取的所有信息的收集工作,这些工作都是为决策子系统服务的。决策系统在智能中型足球机器人系统中处于非常重要的地位,相当于机器
41、人的大脑。对于复杂的比赛,可能采取的策略大不相同,而对于智能中型足球机器人来说,它在场上的表现就是设计者的思想的重现。只要视力正常、腿脚灵便,这些运动员就会按照教练事先预定好的技术路线不偏不倚地正常发挥。而这个教练,就是我们决策子系统的软件设计者。常用的智能控制系统包括Saridis 在1977 年提出的递阶智能控制系统,R:Brooks 在1986 年提出的基于行为的智能体系结构和包含这两种控制系统的各种混合式智能控制系统。但是,目前的各种机器人智能控制系统,主要针对单个机器人。机器人足球中型组为分布式多机器人系统,涉及到群体机器人智能控制,包括群体合作与对抗、群体协作和协调、多机器人角色分
42、配等。在机器人足球赛中,不同队伍的机器人群体之间的关系是对抗的。在不同场次的比赛中,对抗对象不一样,不同队伍的比赛风格不同、战术不同、单个机器人智能程度不同,机器人群体需要根据不同的对抗对象调整自身智能系统。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构2023-5-1645决策子系统的特点是和人类足球的很多特性是相同的,是对人类足球的一种模仿。通过分析足球机器人的行为本质,类比人类的足球或者其他运动的模式,我们不妨再将决策子系统做一个更细致的划分。针对智能中型足球机器人,决策子系统可以划分为能力层面和意识层面。所谓能力,就是一个机器人解决特定问题的技能,这种技能是
43、简单的,特定的,并且它的实现是可靠的;所谓意识,就是机器人根据当前的形势作出的宏观的总体的判断,这个判断会驱使机器人调用它的各种能力来达到最终目标。简单地看待这两个层面的关系,就好比一个人在街上走,他想去商店买东西,这是他的意识,而在路上会有行人,他不能撞到行人,也不能撞到树木房子,他还要保持身体的平衡,这些都是能力。这些能力的集合完成他意识所要达到的目标。意识决定做什么,能力决定怎么做。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构智能中型足球机器人决策之能力2023-5-1646智能中型足球机器人和其他足球机器人一样,要面对一些基本的问题,看到了球,如何去抓球,
44、如何带球,在场上移动怎样能绕过障碍等等。这些将被归为能力层面要解决的问题。可以想象,这些是作为一个足球运动员的最基本的素质。在人类足球中,这些能力甚至被归为身体素质,如果没有这些能力,就不是一个合格的足球运动员。下面主要介绍三个基本能力:抢球、避障、带球避障。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构抢球2023-5-1647抢球,就是看到球去之后过去抢。在这里只考虑如何去抢球,无需考虑什么时候去抢或者是否去抢球。抢球需要的信息有球的相对位置信息、球的速度。将球放在机器人坐标内,假设球的位置在b点,球的速度为VballVball,抢球所需要的速度为VoutVou
45、t。这里将抢球这一动作再做简化,就是抢球的时候是不避障的,这样因为考虑到抢球本身就是一种对抗性的动作,抢球避障好比拳头挥出去还不能打到人,加入避障是自相矛盾的。VoutVout=(VballVball +obob)k;(10.25)k为速度系数,即计算出来的向量是不能直接作为速度输出的,要乘以一定的速度系数k。下面给出VoutVout 的计算流程:第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构抢球速度矢量叠加示意图2023-5-1648 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构避障2023-5-1649避障,顾名思义就是避开障碍物。
46、在球场上,机器人的周围有各种障碍物,如队友机器人,对方机器人,甚至人类裁判等,并且这些障碍物的位置常常是不断变化的。机器人在场上移动,首要的原则是不能与这些障碍物发生碰撞,更高的要求是能在这样一个动态的障碍环境中找到一个最优的路径到达目标地点,甚至能够在带球的情况下绕过障碍物,完成带球突破这一技术目标。在视觉子系统中已经详细介绍了障碍物的检测方法,现在假定障碍物的位置信息存放在一个表中,这一工作在视觉子系统中已经完成。并且已知条件是机器人自己在全局的位置,以及目标点在全局的位置。避障所作的工作就是找到一条最优的路径到达目标位置。避障也称为路径规划。在RoboCup中型组机器人中,和小型组机器人
47、最大的不同是不能获取到全局的障碍物信息,很多参赛队都只能做局部的路径规划,即只规划能看到的这一部分路径,那些障碍物后面的看不到的部分不做规划。目前最常用的方法是人工势场法路径规划。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构人工势场避障算法2023-5-1650 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构带球避障2023-5-1651带球避障是对避障算法的改进,完成带球到达目标点这一动作。带球避障,需要做如下假定:假定已经抢到球,有全局定位,有障碍物的位置信息表,以及带球的目标点。要同时满足这四个条件才会启发带球避障程序运行。带球避
48、障和移动避障在算法上没有本质区别,都是使用人工势场法计算出每一帧的将来速度。但是因为是带球,和前者有2个区别:首先,带球的时候球已经和机器人在一起,可以看作是一个整体,视觉检测必然会每一帧检测到球,在这里球不再是需要规避的对象,因此不用将球加入障碍物信息表。其次,因为球和机器人是连为一体的,但是当速度发生变化时,球可能会带丢,我们希望的是让机器人“抱”着球前进,就是机器人围绕球,以球为中心旋转,而不是以机器人自身为中心选择。在常规的避障算法输出速度之后,要将机器人为中心的旋转角速度换算成以球为中心线速度叠加在原来的x方向速度上。假设输出速度为(Vx0,Vy0,w0),输出速度为(Vx,Vy,w
49、),机器人中心和球心的距离为dVx=w0d+Vx0;(10.27)Vy=Vy;(10.28)w=w0;(10.29)第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构输出速度的再处理,三角形为机器人俯视图,圆形为假定已持有的球2023-5-1652 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构智能中型足球机器人决策之意识层2023-5-1653 第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构隐式合作和显式合作2023-5-1654机器人的合作可分为隐式地合作和显式地合作,两者的区别在于:隐式配合主要是体现在场上所
50、有的机器人维护一个共同的世界模型,通过利用世界模型的信息来实现配合。以防守动作为例,场上的所有队员根据共享的世界模型中自身的位置,其他队员的动作和离球的距离来决定自己的防守动作。隐式合作中,各机器人的地位平等。显式合作是指合作机器人之间通过直接通信实现合作,它由合作的发起者(我们称为主控者)发起。主控者根据需要,选择并通知一个或者多个队友共同完成战术合作。战术完成后,合作自然解除。这两种合作都是常用的手段,国防科技大学使用的是完全显式的合作,上海大学Lengends中型组使用的是完全隐式的合作。第第1010章章 智能中型足球机器人的软体结构智能中型足球机器人的软体结构隐式合作与显式合作2023