版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能科学系-飞翔机器人足球队培训教程视觉子系统传统的足球机器人视觉系统的硬件由模拟摄像头,镜头,数据传输线和图像采集卡组成。随着足球机器人技术的发展,对摄像头的要求越来越高,摄像头的选择逐渐有模拟转向了数字。同时,摄像头的变化,对镜头的要求也趋提高。在本系统中,使用了德国BASLER A312fc 数字摄像头及相配套的镜头,数据传输线和1394适配卡。1系统结构图11 视觉系统结构图预处理图像分割图像获取结果输出人机交互视觉主流程; 数据流程; 命令流程目标识别比赛场地图像处理集控式足球机器人视觉子系统主要有3个模块,图像获取、预处理和图像处理,如图1.1所示。1.1图像获取由于采用模拟摄像头
2、加图像采集卡获取图像的方式存在种种弊端,本课题研究的视觉系统决定选择数字摄像头来代替传统的模拟摄像头加图像采集卡。所谓数字摄像头是一种数字视频的输入设备,利用光电技术采集影像,通过内部的电路把这些代表像素的“点电流”转换成为能够被计算机所处理的数字信号的0和1,而不像视频采集卡那样首先用模拟的采集工具采集影像,再通过专用的模数转换组件完成影像的输入,数字摄像头在这个方面显得集成度更高,数字摄像头将摄像头和视频捕捉单元做在一起。本课题选用的硬件是德国BASLER A312fc 1394数字摄像头,该款摄像头主要用于工业生产监控、机器视觉、显微图像分析、生物及医学等领域,具有以下主要特点: 优越的
3、图像质量可以改善图像处理结果。 外形紧凑,易于安装。 支持AOI(Area of Interest)扫描 多种分辨率选择,更加适应不同系统的需要。 电子控制曝光时间具有极大的适应性。 图像传输采用1394总线传输性能参数如下表:表1-1 A312fc性能参数表靶面尺寸(宽×高) 像素780×580传感器类型逐行扫描CCD像素尺寸8.3um×8.3um全分辨率时最高帧速53fps彩色/黑白彩色视频输出类型IEEE 1394视频输出格式8 bits同步外同步或1394总线曝光控制通过1394总线可编程控制红外滤光标准供电8-36DVC (建议使用12DVC)耗电不大于
4、3.0W镜头接口C口外形尺寸40.8mm×62mm×62mm重量240gBASLER A312fc 1394数字摄像头采用IEEE 1394总线进行图像传输。IEEE 1394又称火线(firewire)、i.link和Lynx,是一种高速串行总线标准。早在1985年,苹果公司(Apple)开发了名为火线的串行总线,开始在其Mac机上应用。德州仪器(TI)与索尼公司对该技术给予了支持,为其研制了通信芯片,用于数码相机等影像设备的数字接口。1995年,电气与电子工程师协会(IEEE)以火线为蓝本正式制订了IEEE1394标准。然而,由于当时对数据传输速度的要求不高,加之该技术
5、由苹果公司主导,因而在以“标准为王”的IT业竞争中受到了Intel等主流PC厂商的冷落,长期得不到重视和普及。随着计算机高速外围设备和信息家电(IA)的迅速发展,人们迫切需要一种在高速数字设备之间实现灵活通信的串行总线。Intel的USB1.0总线的最大传输速率仅有12Mb/s,远不能满足此类需求,而USB2.0和串行ATA1.0等新规范又缺乏软硬件支持,此时,性能出色、传输速度高达400Mb/s且技术成熟的1394总线开始显露锋芒,成为应用热点。进入21世纪,IT业的标准之争更加激烈。出于与Intel竞争的需要,台湾的威盛公司(VIA)全力倡导1394架构,并为此开发了一体化的新型接口芯片,
6、而Intel也改变了从前的冷淡态度,参与了1394贸易协会的工作并力求成为新标准的主导者。在这种背景下,1394总线在最近的1、2年中得到了迅速发展和广泛应用,极有可能成为IT和IA领域的基本总线标准。IEEE 1394传输总线保证能够为BASLER A312fc数字摄像头的图像传输提供一个恒定的带宽,在传输速度上完全能够满足需要,同时支持热插拔和即插即用,使得设备在使用和移除时十分方便。为了配合1394数字摄像头的使用,还需选择一块1394数字接口卡用来传输数字视频流。此外,在机器视觉系统中,光学镜头相当于人眼的晶状体。好的光学镜头具有良好的均匀度, 无论是望远还是摄近,镜头中心的聚焦跟边缘
7、的聚焦基本相同。而品质不好的产品,可以清楚看到聚焦后,边缘不实感非常明显,这将严重影响使用效果.而且如果所选择的镜头品质级别不够,图像轮廓就会产生梯形失真。因此光学镜头的选择也很重要。1.2图像预处理在视觉系统工作的全过程中,特征提取、图像分割和图像辨识是核心工作,为了能使这些工作迅速有效地进行,可以利用系统中图像设备的特有功能,对摄取的图像容量和质量等进行适当调整,这一过程属于图像的预处理。机器人足球视觉系统预处理主要包括:图像增强、图像恢复、场地标定,还可以适当的进行一定的图像压缩。图像增强是根据所处环境的光照条件和所选择的颜色模型,对视觉系统所用到的有关颜色的参数进行优化。例如,调整图像
8、的色度、亮度、饱和度、对比度和分辨率,使得图像的效果达到清晰和颜色分明。图像恢复指是的光学镜头几何形变的矫正,补偿由于光学镜头所带来的图像形变。本文将在第3部分中详细介绍其算法。场地标定的任务是标定场地的边界。在采集的图像中除了比赛场地以外,还包含场地以外的一些信息。通过场地的标定,在实时辨识的时候,就可以只处理边界以内的信息。这样不但可以减少图像处理信息量,还可以避免引入不必要的干扰。1.3图像处理图像处理包括图像分割和目标识别,它是整个视觉系统的核心工作。为了使目标从图像背景中分离出来,寻找目标与非目标的差异的过程称为目标识别。而根据所识别的不同目标之间的某些特征差异对图像进行区域划分则称
9、为图像分割。对目标进行辨识,首先需要对图像中的目标进行分割。通过图像分割,可以获得二值化图像,即将图像中的所有像素划分成目标和非目标两类,对应目标像素的点置1,而其它像素点置0。在二值化的图像中,我们可以找到所要辨识的目标。足球机器人视觉系统寻找的目标是不同颜色的色标,也就是说,要根据颜色来区别目标与非目标,这样首先就应对不同目标进行颜色识别。这一过程主要包括:目标采样、颜色分析、颜色分割等步骤。颜色采样是在图像中截取目标的部分图像作为研究对象的过程。颜色分析是对目标的样本图像中目标像素颜色的R、G、B值进行分析和研究,寻找其在RGB空间的分布特征。根据目标的颜色特征,在RGB颜色空间中确定相
10、应区域,在同一区域的颜色空间的点归属于同一颜色,也就是通过颜色空间分区来定义不同颜色,即所谓“颜色分割”。在颜色分割的基础上,对图像进行分割,可以获得多个二值化图像结果,这些二值化图像实际上是从同一幅图像中获得的。因此,对于多目标图像处理需要获得多重二值化图像结果。本文将在第5部分中对辨识算法进行详细介绍。2初始人机交互图2-1 Mirosot 3对3 和5对5的初始人机交互界面图2-2 Mirosot 11对11的初始人机交互界面在Mirosot 11对11的人机交互界面中,只能够看到有半场的图像。通过在程序中设置左右摄像头,就可实现左右半场图像的切换。在比赛过程中,要对左右半场的两幅图像进
11、行拼接处理,从而得到场地上完整的信息。初始人机交互操作过程主要完成图像预处理、图像分割和目标识别过程中一些参数选择或参数传递。如:通过人机界面修改图像的色度、亮度的参数,可以改变图像的采集效果等。在视觉交互界面中有摄像头所采集图像的实时显示窗口,在此窗口中可以使用鼠标在图像中画定目标图像的区域以进行目标颜色的采集。3几何矫正由于场地空间的限制,通常采用广角镜头才能在有限的高度内摄取到整个场地的信息。使用这种镜头只要摄像头高度在一定范围内,通过调整焦距,就可以获得所需的场景图像。但是,相对固定焦距的镜头而言,使用这种镜头图像失真明显,场地边界呈弧形。如果选用固定焦距镜头,要获得固定大小的场景,则
12、需要将镜头固定在某一确定的高度上。既在系统运行前精确调整镜头高度,这会浪费许多时间。因此,从视觉系统快速调整的需要出发,应该选用焦距可变的镜头。另外,无论何种镜头,当镜头位置不能处于场地的正中间上方或者镜头所处的平面不平行于场地平面,都会造成图像的非线性失真。这些非线性失真必然影响视觉辨识的精度,因此对图像进行校正是必需的。图像矫正的方法有很多种,如分段线性矫正、3阶多项式误差最小矫正、Tsai模型矫正等。本视觉系统采用一种新的矫正方法,通过镜头几何畸变的数学模型来实现对失真的矫正。镜头几何畸变的数学模型如下: (1)式中X0、Y0为畸变以前的原始坐标,X1、Y1为畸变后的坐标,图像采集卡所采
13、集到的图像是畸变以后的图像,所以我们获得的是X1、Y1,要求的是X0、Y0。对于式(1)中的参数M、E可以由一些先验点(例如门区和四角)的对应关系,通过最小二乘或求平均值的方法得到。对于由式(1)组成的方程组,可以采用牛顿迭代的方法来求解。求解结果如下: (2) (3)校正结果比较如图3.2所示: 图 3-1 畸变图像图 3-2 矫正图像下表给出了图像校正前后一些特殊点的坐标对应关系,从表中可以看出虽不能完全消除误差,但经校正后,明显降低了和理想坐标之间的误差。在图像变形比较小的地方,如场地中圈附近,由于对称中心附近几乎没有畸变,所以校正效果不是很好,甚至会引起误差,但从整幅图像来看,校正还是
14、可以明显改善图像的变形,使坐标趋近于理想值,这些都可以进一步提高视觉系统目标辨识的精度。为了更加适合足球机器人视觉系统的图像畸变校正,可以考虑在对称中心附近畸变很小的地方不进行校正,而只是在远离对称中心畸变较大的地方进行校正,具体如何划分畸变区域,还需进一步通过实验测定。表31 校正前后一些点的坐标对比校正点校正前坐标理想坐标校正后坐标场地左上角(2,3)(0,0)(0,1)门区左上角(-2,72)(0,70)(0,71)门区左下角(1,113)(0,110)(1,112)场地左下角(4,183)(0,180)(2,182)门区右上角(220,70)(220,70)(219,70)门区右下角(
15、221,110)(220,110)(219,110)场地右下角(218,177)(220,180)(220,179)场地右上角(216,4)(220,0)(218,3)中圈最左端(85,90)(85,90)(86,90)中圈最右端(135,90)(135,90)(134,90)中圈最上端(110,75)(110,75)(110,74)中圈最下端(110,116)(110,115)(110,114)场地中线上端(110,-1)(110,0)(110,2)场地中线下端(110,183)(110,180)(110,180)4颜色模型的选择与颜色信息库的建立建立特征目标的颜色信息库是视觉系统的主要任务
16、之一,信息库的好坏是影响辨识精度的最关键因素。信息库不完全会导致分割结果不稳定,甚至出现分割结果过小而导致目标丢失。信息库覆盖范围过大又会引入很多不必要的干扰,甚至出现混色现象。另外,一个良好的信息库的结构应该具有好的可维护性,易于调整。建立颜色信息库首要的任务是选择颜色模型,颜色模型是抽象表示和描述颜色的方法。为了有效区分不同的目标颜色,要求颜色模型要含有足够多的颜色信息;为了提高视觉系统的执行速度,要求颜色含有尽量少的数据量。足球机器人系统常用的颜色模型有RGB模型、HSI模型和YUV 模型等。颜色模型的选择与建立颜色信息库的方法是紧密联系的。如果通过阈值进行颜色分割,应选用分布均匀的HS
17、I或YUV模型;如果建立离散的颜色查找表,通常选择RGB颜色模型。图像处理中最常用、最基本的是RGB颜色空间,它是基于笛卡儿坐标系下的颜色模型,原点对应黑色,(1,1,1)点对应白色,从原点到(1,1,1)点对应的是灰度值分布。RGB模型的缺点是不直观、不均匀、不正交,其各分量之间有高度的相关性。对于RGB颜色模型,通常以颜色查找表(CLUT)的方法建立颜色信息库。这种方法的优点是实时性高,建立方便。而且图像采集卡都可以直接提供RGB颜色模型的图像。但是由于存储矩阵尺寸的限制,我们将24位真彩色表压缩成15位,必然影响分色性能。由于查找表不具有模糊性,而同一色标在场地内的颜色信息的变化范围极其
18、广泛,生成一个完全的表格需要长时间的反复采集填充,且很难真正得到可以覆盖所有的信息的颜色库,所以辨识结果常有空洞。而且这种查找表对于环境的影响抗干扰性较差,一旦环境发生变化,需要长时间的重新采样,无法适应快速调整的需要。HSI(色度、饱和度、亮度)颜色空间模型是基于柱坐标系的、与人类视觉心理相符合的颜色模型。该模型的特点就是同一种颜色在该空间中的分布是连续的,也就是说所要辨识的目标颜色,在HSI空间是连续分布的,而且是相互独立的。所谓不同的目标颜色,是在H(例如黄色和蓝色)轴向、S(例如亮黄和土黄)轴向和I(例如黑色和白色)轴向有区别的颜色空间区域的集合。建立在HSI空间中的颜色信息库,该信息
19、库只记录某一色标的H、S、I值的覆盖范围,也就是H、S、I每一信息的最大值和最小值。信息库的建立也很简单,只需要将色标置于场地内,最有特征的几个区域,例如:门区,中圈,四角。在这些区域进行采样,去定三个信息量的取值范围即可。同时由于该信息库是连续的,因此,我们可以通过手工的方式进行修改。这种颜色信息库易于调整,易于维护。但是由于环境光照变化的影响,如何准确的确定H、S、I阈值也是一个较困难的问题。阈值范围过大会引入大量的干扰信息,阈值范围过小则容易造成目标的丢失。并且,大多数的图像采集卡提供的都是RGB和YUV两种颜色模型。因此要使用HSI颜色模型就要进行从RGB颜色空间到HIS颜色空间的转换
20、。通常的方法是在内存中生成从RGB到HSI的变换表,实时辨识的时候,对于每一个像素点,将它的RGB信息直接输入到变换表中,得到该象素的HSI信息,以判断该象素是否为所要搜索的特征点。但是RGB到HIS的变换表是一个256×256×256×3的矩阵(48M),在一些低性能的计算机上执行效率较低。当然可以根据场地的特征,采用一定的方法减少运算量,但是从RGB到HIS的转换仍占用一定的时间,对系统的实时性有很大的影响。YUV颜色模型的各分量分布均匀、近似正交,色彩空间分布难于直观表示。它本身是一种压缩格式,所以YUV模型的图像要比RGB和HSI模型的数据量小。但将YUV
21、模型应用于足球机器人的视觉系统时,YUV各值的调整很不直观。韩国的Soty5和Powersupply就是采用YUV模型阈值法建立颜色信息库的。他们的颜色信息库是在赛前经过大量实验得来的。如果在比赛现场与对方颜色混淆,很难做到临时调整阈值以达到理想的效果。对他们来说如需临时更换颜色几乎是不可能的。通过比较上述三种颜色模型,每种颜色模型都有自己的优点和不足之处。本课题选用RGB颜色空间模型,主要基于以下考虑:(1) 使用RGB模型不需要再进行颜色空间的转换,减少计算量,提高实时性。(2) 由于本系统采用的1394数字摄像头,图像质量好,可以在一定程度上弥补RGB空间的不足。(3) 足球机器人比赛环
22、境光照充足均匀,并且数字摄像头成像亮度跳变不大,图像光强基本均匀。(4) 采用RGB颜色模型,在场地光照变化的地方多次采样,可弥补RGB模型对光照变化敏感的不足。因此,本系统采用RGB颜色空间模型,并在此基础上进行数字图像处理。实验证明,采用RGB模型,可以很好的地实现对数字摄像头获取图像的分割、识别。5色标设计与辨识算法5.1色标设计目前各参赛队伍使用的色标多种多样,下面列举具有代表性的一部分,如图4-1,并加以分析。 图 5-1 几种色标设计图5-1(a)、(b)、(d)三种色标设计都是关于机器人小车中心对称的,每种色标均有队标和队员标志两个色块组成,实时辨识时首先找出队标和队员标志两色块
23、的中心点,那么小车的中心位置就是两色标中心点连线的中点,对于(a)、(d)两种色标,小车的正方向是由队标指向队员标志的射线逆时针旋转45°所指的方向,对于色标(b),小车的正方向即为队标中心指向队员标志中心的射线。上述三种色标设计简单直观,且辨识算法简单,系统实时性高,但也有自身的缺点。由于不同的颜色受环境的影响不同,色块向周围扩散的程度不同,两个色标块交界的区域有混色现象,这些因素都会导致很多的干扰和问题,如色标挑选难,色块重心不稳,位置角度有偏差,而且两个色标是一种对称分布,当两个机器人小车紧挨在一起的时候容易出现粘连现象。图5-1(c)是直接通过辨识队标的中心及形状来确定机器人
24、的中心和角度,由于该设计中没有队员标志,故而各队标的形状或大小各不相同,以区分车号。小车的中心位于队标的中心,小车的朝向和车号可以通过辨识队标的形状的正方向来确定。这种设计的特点是只通过一种颜色来获取辨识结果。由于环境在同一区域对同一颜色的影响是相同的,因此带来的干扰是均匀的,而由于通道造成的干扰也是均匀分布的,所以色块的中心是稳定的。由于比赛规则规定,对方不允许选用我方队标的颜色作为队标或者是队员标志的颜色,所以不存在对方的干扰问题。然而,由于环境的影响和通道噪声的干扰,会造成色块边界的模糊及扩散,从而影响对色块形状特征的提取。另外由于尺寸的限制,而且色块还必须具有表征方向信息的特殊形状,所
25、以色块之间的形状差异并不是很大,从而对角度的辨识算法提出了很高的要求,比较难以实现。而且当两个我方的小车碰撞到一起的时候,由于边界的模糊,必然导致两个色块的粘连,虽然我们可以通过开启算法将它们分开,可是由于运算量很大,必然影响系统的实时性。图5-1(e) 小车的中心位于队标的中心,由于队标的设计具有明显的方向性,通过一定的辨识算法我们可以得到队标所指向的一条矢量线,然后通过队员标志来辅助决定小车的正方向和车号。由于这种设计也是完全由单一色标来获取辨识结果的,所以它具有图5-1 (c)色标设计的全部优点。另外它采用队员标志来辅助决定正方向和车号,而不需要通过形状来决定,从而也避免了图5-1 (c
26、)色标设计中复杂的形状辨识。但是这种色标设计也存在粘连问题,虽然可以通过一定的算法解决粘连,但仍会影响系统的实时性。另外,采用这种色标求取小车角度信息算法较为复杂,算法的基本思想是利用队标的中心对称特点,从中心点出发沿x轴或y轴分成两个对称的部分,分别求取两个部分的中心,则两个中心点的连线所指的方向即为对标所指角度的近似值,由于队标的位置在比赛过程是随时变化的,因此得到的角度值的误差也是变化的,所以必须利用当前获得的近似角度的法线进一步分割区域,然后再重新计算出一个角度,那么通过补偿算法所获得的角度是更为接近准确值。因此,这种色标设计在计算角度时存在较大的计算量,如果进一步进行角度补偿,对系统
27、的实时性将会产生很大的影响。以上几种色标设计除了图5-1 (c)仅采用队标获取所有信息外,其余色标均是由队标和队员标志两种色块组成,小车的位置、角度信息和车号需要同时依靠两个色块确定。对于Mirosot 的比赛,每方最多可有11个队员,则除去队标颜色,还需要11种辅助颜色,显然颜色种类越多,越容易造成队员之间相互干扰,选择颜色困难,误识别等诸多问题。基于以上考虑,本课题的色标设计如图5-2所示:在本系统的色标设计中,中间矩形块A部分为队标部分,且其长度比色标整体长度缩短1cm,即两端各缩短0.5cm,防止机器人互相接触时可能会出现的粘连现象。根据Mirosot的比赛规则,队标颜色只能为黄色或蓝
28、色。矩形块B和矩形块C为色标的辅助色块,其颜色为除黄色和蓝色以外的其他颜色,并给出了相应各部分的尺寸大小。可以通过改变矩形块B和矩形块C的颜色,以及调换B和C 图 5-2 本系统的色标设计的位置来达到改变车号的目的,通过这种方式,11个车号的编码也就只需要3种颜色,大大减少了颜色的使用种类,降低了颜色间相互干扰的可能性。11个机器人的具体编码如下: 表 5-1 机器人的具体编码方式车号A颜色B颜色C颜色1T012T103T114T025T206T227T128T219T0310T3011T33其中:T队标颜色,即黄色或者蓝色;0色标的背景色,即黑色;1辅助颜色1;2辅助颜色2,3辅助颜色3。色
29、标和车号的具体对应关系如下:5.2 辨识算法的设计 辨识算法的原理根据色标设计,视觉系统应该能够获取机器人小车在场地中的位置、角度和车号信息,其中位置和角度统称位姿信息。(1)位置信息获取由图5-2 的色标设计可以看出,小车的中心位置根据队标中心位置而定,队标的中心主要采用重心法获得,令队标中心点坐标为,则 (5-1)式(5-1)中,代表符合队标特征颜色的像素点的横坐标,代表符合队标特征颜色的像素点的纵坐标,代表符合队标特征颜色的像素点的数量。(2)角度信息获取根据色标的设计,机器人正方向和队标的长轴方向相同或相差180度,如图5-4所示。队标长轴的方向可以通过最小二乘法拟合得到,从而得到长轴
30、和x轴所成的夹角,该角度与机器人正方向和x轴夹角相等或相差180度。通过色标,我们发现B部分和C部分的颜色是随着机器人的ID(机器人车号)不同发生变化的,但D部分始终是与背景色相同,即为黑色,且顺着机器人的正方向看过去,D部分始终处在队标A的左侧,因此,先利用最小二乘法拟合出队标长轴和x轴所成的角度,再判断D部分的位置,即可确定机器人正方向与x轴所成的角度。 图 5-4 机器人正方向图5-5 特征点的分布对D部分位置的判断,我们采取特征点判断法,取色标上的四个特征点,其具体排列见图5-5,H、I、J、K是我们取得四个特征点,并给出相互间的尺寸关系。由于色标设计的特点,只能是H点所在区域和I点所
31、在区域组合为背景黑色,或J点所在区域和K点所在区域组合为背景黑色,而不可能是其他组合方式。理论上来说,根据队标的质心坐标和长轴的方向角,就可得到H、I、J、K四个点的位置坐标,判断各个区域是否是黑色,只要判断各个区域的特征点是否是黑色即可,但事实由于图像系统的噪声和光线的变化以及场地不同位置的几何变形,使得从队标质心按固定长度和角度得到的颜色极不稳定,即使采用与周围颜色加权平均或中值滤波等方法,识别效果依然不理想。因此我们采用特征区域判断来代替孤立的特征点判断,如图5-5所示,以每个特征点为中心确定的3×3窗口即为特征区域,当特征区域9个像素点中至少有5个像素点为黑色,则认为该区域为
32、背景黑色。依次判断四个区域,若H、I所在的区域为黑色,则队标长轴的方向角和机器人的方向角相等,若J、K所在的区域为黑色,则机器人的方向角等于长轴的方向角加上180度。例如图5-6所示:图5-6 是队标长轴方向角相同时机器人的两种位姿,(a)中和所在的区域为黑色,即图5-4中的部分在队标的左侧,所以机器人方向角和长轴的方向角相等,(b)中和所在的区域为黑色,由于顺着机器人的正方向看,图5-4中的部分应该始终在队标的左侧,所以机器人的方向角应该为+180°,其正方向如图中所示。(3)机器人的车号判断在判断找出黑色部分后,只需要判断出另外两个区域的颜色,根据表5-1中车号的编码方式,就可得
33、到车号。与判断黑色区域的原理相同,由于图像系统的噪声和光线的变化以及场地不同位置的几何变形,使得从队标质心按固定长度和角度得到的颜色极不稳定,所以我们也要有特征窗口来代替特征点进行判断。由于判定车号的两个区域至少存在一个区域的颜色为辅助颜色,考虑到颜色之间可能存在的干扰,故把特征窗口放大为5×5窗口,如图5-6所示,当25个像素中至少有15个为辅助颜色时,就判定该区域为辅助颜色区,并给出辅助颜色的代号(1或2或3),若对3种辅助颜色均不满足,则判定该区域为黑色,其颜色代号为0。判断区域颜色时,由于机器人的正方向已经得到,因此,先判断机器人右上方区域的颜色,后判断机器人右下方区域的颜色
34、,根据表5-1中的编码方式和两个区域的颜色代码组合即可得到机器人的车号。图5-6 用于车号判断的特征搜索区域 辨识算法的软件流程图像采集开始是否识别处理Y搜索所有队标,得到质心坐标判断每个色标的正方向,得到方向角判断每个机器人的车号识别小球,位置信息输出N视频图像实时显示场地参数设置,颜色采样 辨识算法的流程与Mirosot比赛的类型而不同,对于Mirosot 3对3和5对5的比赛,只需使用一个摄像头即可拍全整个场地,因此在视觉处理过程,每个周期也只需处理一幅图像,其算法流程如下: 对于Mirosot 11对11的比赛,由于其场地尺寸较大,要用两个摄像头分别拍摄左右两个半场,才能拍全整个场地,
35、因此在场地设置、图像处理时要分别对两幅图像进行处理,最后进行数据融合,得到全部信息,其流程如下:两个摄像头图像采集开始是否识别处理Y处理左半场图像,识别出左半场所有色标处理右半场图像,识别出右半场所有色标识别小球左右半场数据融合,位置滤波N左右半场视频图像实时显示左右半场场地拼接,颜色采样目标局部图像处理,实现目标跟踪位姿信息输出辨识算法进行目标搜索时,可采用两种不同的方式:区域方式和全局方式。区域方式就是采用动态窗口,只在运动目标及其周围有限区域内进行搜索,对这些区域以外的图像信息不处理。这种方式可以大大减少像素扫描量,提高辨识速度,但一旦目标丢失,在下几个视觉周期内,很难再找回来。以全局方
36、式搜索,目标丢失后可以重新找到,但处理数据量大。在Mirosot3对3和5对5比赛中,由于场地尺寸较小,图像数据量和目标体较少,因此可以不用局部搜索,避免某帧图像中目标体丢失后的复杂处理,而在Mirosot11对11比赛中,图像数据量大,目标体多,因此必须用局部搜索来减少处理的数据量,但可能由于某种原因,使得在局部图像范围之内无法搜索到目标体,这时来采用全局搜索来获得目标体的位置,以便为后续的局部搜索确定范围。 河海大学e龙足球机器人系统技术文档决 策 子 系 统1工作原理机器人足球比赛决策系统是一个复杂的智能控制系统,它广泛采用了PID控制,模糊控制,神经网络,专家系统及最优控制,并能实现系
37、统的自我调节和自适应功能。决策子系统的主要任务是:根据视觉子系统得到并处理后的信息,包括我方机器人信息、对方机器人信息、球的信息等,分析判断比赛场地上敌我双方的攻防形态,经过任务分解、角色分配等一系列处理,做出相应当决策,得到机器人的轮速,通过通信系统发送给场地上的机器人,从而实现比赛中的各种任务。2、系统设计MiroSot系统采用的是集中控制方式,即用一个全局控制器,对各个机器人进行统一控制。而决策子系统的设计通常使用的是分层递阶控制的方法。一般来说,决策的思路是先确定机器人之间的协作关系,然后根据配合的要求确定每个机器人的运动方式,再确定各自需要完成的基本动作。分层的具体方式可以有一些不同
38、,这里把决策子系统的层次结构分为协调层、运动规划层、基本动作层,如图1所示。图1 整个决策类层次决策类协调层运动规划层基本动作层协调层的任务是完成机器人之间的协调组织,通过从整体上分析比赛的形势得出群体的协作意图,如同人类足球比赛中教练的临场指挥。协作意图得到后,将其传送到运动规划层。运动规划层将意图分解为各个机器人的目标,并将目标的研究与设计进一步细化,进而形成机器人运动的具体方式,如同每个运动员针对教练的指挥明确自己的动作任务。运动规划层将产生的目标动作传送到基本动作层,基本动作层完成从目标到动作指令的转换,即产生机器人的控制指令,如同运动员下意识地做出的跑动或踢球的动作。3、协调层实现协
39、调层要根据比赛场地上的实际情况来部署球员,同时也根据不同的对手及其队形,确定不同的队形。如图2所示MiroSot5:5比赛的标准场地图:图2 MiroSot5:5场地图作为决策系统最上层的协调层,首先要考虑各种状态下的开球模式。开球的好坏直接影响到比赛的正常进行和比赛开始后场地上敌我双方的力量对比。正常开球球门球点球争球任意球在正常开球的时候,作为开球的一方,必须将球首先踢回本方半场,才能向对方半场推进,这个实际的足球比赛相似。然而作为机器人来说,明显没有人那样智能,能将球准确地传给下一个球员,所以在策略设计的时候,一定要主意在球回踢后,本方机器人有合理的方向和动作以达到准确控球的目的,不然,
40、球很容易会被对方迅速踢到后场,直接对球门构成威胁。对球门球、争球和任意球来说,重要的是如何在比赛开始后使本方的球员迅速填补空缺,占据有利位置,对点球来说,就是要靠机器人的防守能力和射门能力了。不管是那一种开球模式,开球方都明显的占据优势,所以除了在上下半场的开始,双方都有开球机会外,应该避免违反规则而让对方得到开球机会,特别是点球的机会。比赛的规则将会附在其他文件中,同时也可以到FIRA官方网站上下载:.协调层通过对视觉信息的处理,确定比赛的队形和角色的分配,相关的函数如下:函 数 名:preProcess()(在“用户手册”已有介绍) 传入参数:无 传出参数:无 函数描述:记录前七个周期球的
41、信息,并将它们存储在一个数组里,便要对球的位置和运动轨迹进行预测;备份上一个周期机器人的信息;以完成对视觉信息的预处理。函 数 名:GetAreaNo()(在“用户手册”已有介绍)传入参数:BallInformation ball 返回参数:int number 函数功能:根据球的位置,综合场地信息,将整个比赛场地划分为32个区域。对每个区域来说,都对应了一个特定的队形,这个队形应该能够确保在这个区域内各个机器人的动作能够实现策略所预定的任务。函数名:formInterpret()传入参数:int formNoint bfNo返回参数:无函数功能:针对每个区域,给出除守门员外的其余四名机器人应
42、完成的任务。如图3所示,当球在图示位置时,离球距离最近且角度最后的机器人,即球后最近的机器人担当射门的角色,后面的一个机器人协助带球,再后面一个担当后场防守的角色,在前场接近门区的机器人充当接应当角色,我方门区的机器人则是守门员。每一个队形的安排都要根据一定的策略原则布置,争取到达最佳的比赛效果,以上的例子只是一个演示,还有许多不同比队形安排可供选择。图3 队形示意图在角色的分配上,对一个特定的角色,比如说射门角色,要判断用那一个机器人去执行,有许多判别的方法,在国内的论文中都可以找得到。最基本的两种是:基于最短距离优先和最佳角度优先两种方法。前一种方法,在判断时计算出机器人与目标点的距离,然
43、后进行比较,距离目标点距离最短的机器人去执行相应角色;后一种方法则是判断机器人执行角色时的角度是否最好,若机器人的角度与目标角度的差值最小则执行相应当角色。在本系统中,基本上是用基于距离的方法判别执行认为优先级的,但在一些重要的角色中,比如说射门,边线推球等角色中,综合角度与距离的方法进行判别,是执行任务的机器人更优。相关函数如下:函 数 名:charperformance()传入参数:int charNoRobotInford* pRobot返回参数:float result函数功能:根据球在不同的区域和机器人所在的不同位置,算出机器人与目标点的距离值。函 数 名:GetBestRobot(
44、)传入参数:double Performance12int charNo返回参数:int BestRobotNo函数功能:根据charperformance()得到的结果,找出执行某一角色的最佳机器人。函 数 名:GetCharPerformance ()传入参数:int noRobotInford myRobotdbPOINT balldbPOINT dpt返回参数:float result函数功能:当机器人要完成的任务类似于射门角色时,以球到目标点距离与机器人到球角度之差为辅助指标,得出结果。4、运动规划层的实现在运动规划层里,最主要的动作就是射门和守门的规划,同时还有扫球,边线推球等一些
45、动作的规划,它们是在基本的动作函数的基础上,依据一定的算法来实现的射门算法足球机器人射门的基本射门算法可描述如下:(如图4所示)步骤(1) :计算机器人R 的射门点A ,其公式为 = arctanYG - YBXG - XB,XA = XB - K ×cos,YA = YB - K ×sin.式中: ( XG , YG) 为对方球门中心坐标; ( XB , YB) 为球的坐标; ( XA , YA) 为射门点A 的坐标; K为常数,其值应当大于或等于机器人半径与球半径之和.步骤(2) :机器人R 运动到射门点A .步骤(3) :调整机器人R 的射门角度.步骤(4) :机器人
46、R 踢球射门.步骤(5) :如果射门成功,则结束,否则,转步骤(1) .(可参考2003年第九期哈尔滨工业大学学报上的机器人足球射门算法研究一文)图4 基本射门算法示意图基本射门算法的优点是简单、便于实现,但该算法并不实用,主要有以下不足:(1) 机器人到达射门点后要调整角度,考虑到精度问题,机器人转角时速度较慢,从而很有可能错过射门时机;(2) 机器人处于球和对方球门之间时,为了到达射门点可能会碰到球,导致重新规划,甚至可能出现“乌龙球”;(3) 机器人在各点之间的运动要经历加速和减速2 个过程,无疑增加了射门时间,会出现贻误战机的情况.对此,对基本算法进行了改进:为了克服基本算法的上述不足
47、,进行了如下改进:计算出GB 的垂线BO、BR 的垂直平分线CO和BO 与CO 的交点O ,机器人R 沿以O 为圆心、BO 为半径的圆运动. 当机器人R 运动到点B 时,机器人正对着点G, 因而无需再调整角度,改进后的射门示意图如图5 所示.图5 改进后的射门示意图当机器人R 与点G在直线BO 异侧时,图6 所示的算法效果比较理想,而当机器人R 与点G 在直线BO 同侧时,效果不是很好. 因为当机器人R与点G在BO 同侧时,机器人R 为了运动到B 点,经过的路径比较长,可能会错过射门机会,降低射门的成功率. 为此,当机器人R 与点G在BO 同侧时,可采取如图4 所示的算法. 可以得到机器人R
48、的转角为: = + 180 +.图6 球在车后的射门示意图当然,在实际的比赛中还有许多射门的相关算法,像中分线射门、射门区射门等,可参阅相关文献资料,这里就不详述了。在运动规划中的另一个主要方面就是防守的设计,这主要是针对场地上的守门员来说的。相当于是射门来说,守门就比较简单来了。守门函数的设计是基于分段式的思维:球离我方门区的距离越远,对我方的威胁就越小,球离我方门区的距离越近,对我方的威胁就越大,因而,针对距离的远近,守门员的调节距离也就有所不同。当球在前场时,守门员就可以近似地位于门区中心,而球最我方门区时,守门员就应该贴着球球,以防止球被带入球门。5、基本动作层的实现MiroSot足球
49、机器人采用的是一种两轮移动式的结构形式,基于这样一种结构,它自身的运动特性有其典型性。在机器人的基本动作上,最根本的东西就是要根据机器人当前的位置、角度和速度实现期望的位置、方向、速度。如图7所示,假设机器人是一个两轮移动的纯滚动、无侧滑的运动模型。ROVLVR图7 机器人运动模型根据这个模型,机器人的姿态与速度之间存在如下的关系:式子中,v为机器人的线速度,w为机器人的角速度,为机器人的质心坐标,为机器人正方向与OX轴的角。设机器人运动时的瞬时半径为R,机器人两轮直接到距离为L,则可导出机器人运动时两轮速度的关系:由上面的式子可以得到:当时,机器人将做直线运动,R将趋于无穷大;当时,机器人做
50、原地旋转运动,R为零;在其他情况下,机器人将做曲线运动。在MiroSot系统中,机器人的基本动作主要包括跑位到定点、转到定角、原地转动等。从控制的角度来看就是不断减小机器人当前位置、角度与目标位置、角度的差值,从而使机器人快速地完成任务。设、为左、右轮速值,则根据前文的运动特性分析,可知:其中为机器人基本速度的最大值(此值可根据实际情况进行调节,当要求机器人到定点速度为零时,该值还要根据机器人与目标点之间的距离进行有参数的调节),为机器人的调节速度,为机器人调节速度的最大值(该值也要根据机器人实际的运动情况进行调节,过大会出现频繁摆动的情况,过小则会出现调节不到位,致使机器人运行缓慢,不灵活)
51、6、附录决策部分全局变量表变 量 名类 型注 释BOOLtogetherBOOLpkintROBOTAMOUNTinttimerBOOLIsStartBOOLrandomNoDEGamedmDEGintcurrentResult12按照机器人顺序排列时对应的角色排列intoldResult12按照机器人顺序排列时对应的角色排列intcurrentOrder12按照角色顺序排列时对应的机器人排列int,oldOrder12按照角色顺序排列时对应的机器人排列introbotCharacter12intcurrentForm12队形尚未初始化intoldForm12队形尚未初始化intdmformN
52、ointdmbfNoAccessParameterchartarget12RobotInfordRobot12RobotInfordoldRobot12FORCASTBALLballCharacterBallInformationoldBallPt7BallInformationballdbLRWheelVelocityrbV12dbLRWheelVelocityoldrbV12doubleperfRecord12doubleoldperfRecord12inteffecChar100机器人常用角色角色号角 色 名 称备 注0静止左右轮速度均为01边线推球调用函数BoundPushBall()
53、将球踢出本方门区附近2射门调用函数Vect_MidShoot1()执行射门动作3守门调用函数GoalieAction()执行守门动作6前场上协助护球上半场后方10cm协助射门7前场下协助护球下半场后方10cm协助射门8扫球调用函数ClearBall()完成扫球动作(详见该函数)9一传一射上射门调用函数ToPositionPD()在上半场地射球门的上半部分10一传一射下射门调用函数ToPositionPD()在下半场地射球门的下半部分11发球回传开球时将球轻轻往回传,然后走弧线退开。12发球射门开球前静止,开球后全速将球向前踢出(VL=VR=70)13高速直线全速向前(用于发点球、争球、门球和任意球VL=VR=70)14高速弧线走左右弧线(用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小型车二手车买卖合同范本
- 2024年化警卫人员劳动协议
- 2024年婚礼现场租赁协议详案
- 2024年房屋建筑工程安全监管协议
- 皮炎湿疹的诊断与治疗
- 2024年春季ERP采购策略与执行培训
- 2024建筑工程水电分包协议条款
- 出口空运物流服务协议模板2024年
- 农业无人机项目计划书
- 2024车间局部翻新施工及服务协议
- 大数据行业分析报告
- 错牙合畸形的早期矫治(口腔正畸学课件)
- 江苏省徐州市沛县第五中学2024-2025学年九年级上学期11月期中考试数学试题
- 2024年中国酶免试剂市场调查研究报告
- GB/T 44578-2024热塑性塑料隔膜阀
- 华润双鹤财务报表分析报告
- 苏科版(2024新版)七年级上册数学期中培优测试卷(含答案解析)
- 互联网护理的居家沟通唐莹教授护患沟通护患关系护士培训
- 2024年全国《劳动教育》基础知识考试题库与答案
- 政府、办公楼物业管理服务投标方案(技术方案)
- 2024人教版道德与法治五年级上册第四单元:骄人祖先灿烂文化大单元整体教学设计
评论
0/150
提交评论