一种视觉导航机器人的设计
扫描二维码
随时随地手机看文章
机器视觉系统是智能机器人的重要标志,机器人视觉系统模仿了人的视觉感知能力,允许对环境做非接触式的测量。增加了视觉系统的机器人,其自主和自适应能力可以大大提高。目前,机器视觉系统在图像处理方面多采用封装式图像处理方法,把图像传感与处理分成独立的两个部分。系统通过图像传感器获取图像并传入计算机,由计算机完成图像处理任务。
本文所介绍的设计为简易机器人(能力风暴机器人)添加了视觉模块和无线通信模块,并研究了相关算法和策略,实现了自主路径跟踪。为了使系统真正做到稳定快速,在图像预处理、路径识别和路径跟踪等各个环节都充分考虑到算法的实时性与鲁棒性。
1 系统结构
视觉导航机器人的整个系统由两部分构成:添加了无线通信模块和无线摄像头的能力风暴机器人和远程计算机。这两部分之间的通信由无线通信模块完成。系统结构如图1所示。图1中,机器人包括能力风暴机器人、无线摄像头和无线通信模块三个部分。在机器人工作时,无线摄像头将采集到的视频信号传送给无线视频接收器,无线视频接收器再通过视频采集卡(Osprey210)将待处理的视频信号传送给计算机,计算机经过处理后,做出相应的决策,并将决策信号通过无线通信模块发送给机器人,这样就建立了一个简单的闭环控制系统。无线通信模块由两个完全相同的无线串口通信模块组成,工作在全双工状态。在机器人中无线通信模块与机器人的串口控制器连接,在计算机中无线通信模块与计算机的COM口相连。
2 软件流程
整个系统的软件分为机器人接收到远程计算机指令后的处理软件和远程计算机针对到机器人发来视频信号进行处理的视觉导航软件。
机器人的软件处理流程如图2所示。机器人不停地扫描串口,一旦串口接收到远程计算机的指令信号后,机器人便根据指令做出响应,整个处理过程比较简单。
计算机的视觉导航软件处理流程如图3所示。机器人视觉系统的原始输入图像是经图像采集卡A/D变换之后得到的连续数字图像。系统工作时,首先,图像预处理模块对原始输入图像进行平滑滤波,去除噪音点,并进行阈值分割,挑选出对机器人有用的目标点(即引导线);然后,路径跟踪模块根据检测到的路径信息,做出策略分析,并对机器人发送相应的运动指令。
3 主要算法描述
3.1 图像预处理
3.1.1 图像的平滑处理
在图像采集系统中实际获得的图像,会因为各种原因受到干扰和噪声的污染而引起图像质量的下降,图像平滑处理就是为了消除图像中存在的噪声而对图像施加的一种处理。本系统中采用中值滤波技术对原始图像和二值化后的图像进行滤波,这是一种非线性空间域滤波技术。这种技术不仅能有效地抑制图像中的噪声,而且能保持图像中固有的轮廓边界,不使其变模糊。对平面图像进行中值滤波时我们一般采用二维中值滤波器。它由下式定义: Yij=MedianXij=Median(Xn)(r,s)∈s
这里,Xij为坐标(i,j)的待处理像素;S为平面窗口;而Yij为处理结果,即平面窗口中各像素值的中值。中值是指大小排序后,中间的数值。本系统中采用的是3X3的正方形窗口,经实验证明选用该窗口滤波后可以较好地滤除噪音。
3.1.2 彩色图像二值化
图像二值化的目的是将图像一分为二,即将图像划分为物体和背景两个部分。本系统中原始输入图像为(320×240)像素的RGB24格式图像,采用直接对每个像素点进行阈值分割的方法即可达到对图像实现二值化的目的。由于HSL颜色模型中亮度L分量与图像的颜色信息无关,而与颜色信息有关的色调H(表征颜色的种类)和饱和度S分量(表征颜色的深浅程度)对外界光照条件的变化敏感程度低。机器人在移动和旋转时会引起光的亮度变化,RGB颜色模型对光的亮度鲁棒性较差,所以在进行图像二值化时应该先将RGB颜色模型转换为具有较强光亮不变性的HSL颜色模型。RGB颜色空间变换到HSL颜色空间的变换公式如下:
选取色调H作为路径识别时的主参数。同时,考虑到实际当RGB值较小,即亮度L较小时,H值会趋向于不确定的情况,选取亮度L作为辅助识别参数。算法为:
其中,Hmin、Hmax为某种颜色色调分量的最小阈值和最大阈值;Lmin为亮度的最小阈值。
3.2 引导线检测
扫描白线(即引导线)的策略是每隔五行扫描,当每行的白色像素点超过35个,而满足这个条件的行超过16行时,才认为在机器人视野范围存在白线。因为只有连续的白色区域是可以利用的,所以每隔五行进行扫描白线是可行的。这样做不仅可以节省计算机的处理时间,加快程序处理速度,提高机器人响应的实时性;而且还可以滤除机器人视野范围内可能出现的噪声点。
引导线检测的目的不仅仅是为了确定机器人视野范围内是否存在引导线,还需要确定引导线与距离机器人所在点的距离,以及引导线的角度信息。在本系统中,坐标约定如图4所示。其中灰色小点代表机器人,很显然,机器人在坐标系中的坐标应该为(160,240)。L表示白线中线与直线Y=240的交点和机器人所处位置之间的距离。当L>0时,上述交点处于机器人左方;L<0时,上述交点处于机器人右方。系统中规定的白线中线的△=△X/△Y,△值可以直接反映出白线角度信息。当△>0时白线沿"/"方向;△<0白线沿"\"方向。由此可知,图4中的白线中线的△应该是大于0的。
在系统中,△的计算方法如下:首先计算出每隔五行扫描到的某一行白线的中点的△值,然后将机器人视野范围内扫描得到的所有行的白线△值累加后求得均值,这个均值就是机器人视野范围内白线的△值。采取这种算法是为了方便处理机器人视野范围内存在多段白线时的情况。以图5为例,机器人视野范围内有两段白线。这个时候,系统将两条白线等效为平均△值对应的白线,这样在机器人眼里始终只有一条白线,有效降低了机器人所应对的状况的复杂度。
在计算出△值后,系统根据几何原理便可计算出L,计算公式如下:
L=Xr-[Xc-(Yr-Yc)×△]
Xr为机器人所在点横坐标;Yr为机器人所在点纵坐标;Xc为白线中点横坐标的均值;Yc为白线中点纵坐标的均值。
3.3 路径跟踪
移动机器人的路径跟踪就是通过调节机器人的运动速度和方向,使机器人沿期望的路径运动。即L=0且△=0。机器人对路径的跟踪控制可以采用PID控制器、最优控制器、模糊控制器等方式。由于能力风暴机器人是一个具有延迟的非线性时变系统,难以建立精确的数学模型,故采用模糊控制器有一定的优越性。
根据人的驾驶经验,当人驾驶汽车跟踪附近路面上的一条车道线时,他首先要进行观察,将此直线当作参考路径,衡量车体与参考路径段的横向距离以及它们所处方向的夹角,而这种衡量是以一种模糊的概念给出的,如"距离比较大,角度很小"等。当发现车体离参考路径很远且与期望方向偏角较大时,可以驾驶汽车快速转弯,向期望位置靠拢;而在离参考路径很近,汽车朝向已正对前方车道线上某一位置时,就不需转动方向盘来改变行驶方向,而是一直保持当前行驶状态,直至离车道线上拐点比较近时,再找下一个参考路径段。可以根据上述人的驾驶经验设计模糊控制器,视觉导引的机器人控制系统结构如图6所示。
3.3.1 模糊化
系统中模糊控制器的输入量为距离偏差L和角度偏差△,输出量为机器人小车相对车体轴线的转向偏转角β,输入输出量的论域、模糊子集以及模糊子集论域如表1所示。
由于在机器人实际运行过程中,偏差的产生具有随机性,所以输入输出量的模糊子集的隶属函数都采用高斯函数加以描述,即
Ci为隶属函数的均值;δi为隶属函数的标准差。
3.3.2 确定模糊规则
根据汽车驾驶的经验可得出如表2所示的49条模糊控制规则。
3.3.3 模糊推理和解模糊
模糊推理采用间接合成法推理公式,假设现有输入L*、△*,需求出输出β*,推理过程如下:
其中合成运算"。"采用取大一取小(MAX-MIN)法。
采用质心法进行解模糊处理,从而得到精确的输出值,解模糊计算公式如下:
将上述结果制成模糊控制表存储起来,在机器人运行过程中只需在线查询出相应的β值,而不必进行大量的数学运算,这样可以节省运算时间,提高控制的实时性。
4 综述
目前此系统已经通过中国科学技术大学教育处验收,并作为本科生智能机器人教学实验系统运行。为验证本文提出的控制方法的有效性,我们按照上述控制策略在实验场地中对机器人进行路径跟踪实验。实验场地为-2×2的绿色背景场地,在场地上贴上3 cm宽的白线作为引导线,如图7所示。在实验中,机器人能准确地跟踪指定路径。实验表明,在实际应用中,采用模糊控制方法具有较好的稳定性和精度。通过HSL空间内运算有效地提高图像信号对光照的鲁棒性。此设计可作为简单的算法验证和策略测试平台。