仿人机器人的视觉伺服控制系统.docx
仿人机器人的视觉伺服控制系统lihan导语:视觉是人类感悟外界信息的重要手段,视觉伺服系统是机器人获取环境信息的关键组成局部。本文主要讨论仿人机器人BHR-1的视觉伺服系统视觉是人类感悟外界信息的重要手段,视觉伺服系统是机器人获取环境信息的关键组成局部。本文主要讨论仿人机器人BHR-1的视觉伺服系统。首先介绍机器人头部的视觉总体构造方案,然后阐述了基于立体视觉的信息处理和头部运动控制,最后通过目的跟踪和物体抓取实验讲明了系统的可行性。总体方案及控制系统仿人机器人的视觉伺服系统要求可以根据详细环境和详细情况进展主动搜索,实时将摄像头转向目的,实现对空间目的的实时跟踪并获取物体的三维位置信息,进而控制手臂实现对物体的准确抓取。BHR-1的头部有2个自由度,面部放置两只CCD摄像头作为视觉传感器来模拟人的眼睛。机器人的手臂也是模拟人类的上肢设计的,具有7个自由度,肩关节3个自由度,肘关节2个自由度,腕关节2个自由度,可以实现人类上肢的各种动作。机器人根据目的的三维位置信息实现对物体的抓取。仿人机器人BHR-1的总体设计方案如图2所示。为了实现物体的快速定位,需要完成图像处理和运动控制的任务。一台计算机将难以知足快速定位的实时性要求,因此本文采用了双计算机处理和Memolink通信方式的系统构造,使用两台计算机分别负责双目立体视觉的信息处理和机器人的运动控制。Memolink是系统间进展快速通信的一种有效解决方案。机器人的视觉跟踪和目的抓取的实现都依赖运动控制计算机对机器人的运动控制。运动控制系统根据视觉处理系统的处理结果,控制机器人采取相应决策。例如:头部的两自由度转动,以跟踪目的的运动或上肢手臂去抓取目的。运动控制子系统以RT-Linux实时操作操作系统作为软件平台,保证了机器人控制系统的实时性。机器人的运动控制子系统的被控对象是机器人的各关节的角度,而关节是由电机带动的,因此被控对象实际上是带动关节转动的电机转动的角度,是一个位置伺服系统。系统使用了一套多功能接口板,将所有的A/D转换、D/A转换、ENC、PWM、32位IO等多种功能都集成在该接口板上,进步了系统的集成性并减小了系统体积和重量。在控制信号的输入方面,由于控制的目的是为了机器人的头部可以跟踪运动的目的,因此实际上输入量就是根据图像处理子系统的处理结果得到的,在图像处理的经过中,最终求得的目的的位置就是后面运动控制子系统的输入量。由于图像处理子系统的处理结果本身就是数字量,运动控制子系统所得到的位置信息也是数字信号,因此,这里不需要模数转换的经过。在反应信号的输入方面,因为被控对象是电机,确切的讲是电机转动的角度,是位置控制,因此可以用电机上面的轴角编码器的输出作为反应信号。轴角编码器是一个测量电机所转过的角度的器件,它以脉冲的方式来反应电机转过的角度,电机转过的角度越大,它输出的脉冲个数就越多,反之,输出的脉冲个数就越少。因此我们采用了接口板上的ENCencoder接口来作为反应信号的输入通道,它可以测量轴角编码器的脉冲输出个数。机器人头部的运动控制子系统的构造框图如图3所示。基于立体视觉的视觉信息处理系统采用了基于立体视觉的解决方案,通过参加了深度信息,使得目的的搜索结果更加准确。系统使用了美国SRI人工智能中心所开发的一套高速的双目立体视觉系统SVSsmallvisionsystem。图像分割是物体识别的预处理阶段,是机器人视觉伺服系统的关键技术之一。该系统采用了基于颜色信息的阈值分割方法。理论分析和实验结果都说明,对同一颜色属性的物体,在光源种类、照度、物体反射特性等不同条件下,测得的RGB颜色值分布很分散,很难确定识别RGB的阈值范围。而HSV模型更接近人眼对颜色的感悟,它将收集的颜色信息分为色彩、饱和度和亮度三种属性量化,色彩属性H能比拟准确地反映颜色种类,对外界光照条件的变化敏感程度低,因此,HSV较之RGB更合适于用做识别处理的根底。本文采用HSV模型作为颜色识别处理的根底,选取其中的参数H和V作为识别处理的判别根据。RGB空间中一点到HSV空间中一点的详细转化关系如下:V=maxr,g,b,V=minr,g,b;IfV=0orV=VthenH=0,S=0;Ifr=VthenH=gb/VV;Ifg=VthenH=2+br/VV;Ifb=VthenH=4+rg/VV,H=H×60;IfH视觉处理系统的流程图如图4所示,系统使用摄像头来收集图像,在对图像进展一系列的预处理之后,对其进展区域分割,以得到多个区域,再搜索这些区域,根据已知目的特征找到目的所在的区域。假如找到,那么控制机器人头部面向目的,同时更新目的的特征,以用来在下次搜索时使用,假如没有找到相匹配的目的,那么可能目的被暂时隐藏或者丧失,这时开场下一次处理,以等待目的再次出现。因为视觉处理系统处理的是上一个周期的图像,所以得到的目的坐标也是上一个周期的坐标,假如用此方向坐标来作为运动控制的输入,那么头部运动始终滞后一个周期。为了加快系统的速度,本文采用了比例微分控制,系统地输入输出函数为:Ik1kpekkdekek-1Ik1kpekkdekek-1ekkk,ekkk式中Ik1和Ik1为在tk1时间上控制系统的输出;k,k表示在时间tk目的的方向坐标;k,k该时刻二自由度机构的方向坐标;ek和ek分别表示该时刻头部位置与目的位置之间的偏向;kp和kd分别为控制系统的比例系数和微分系数。通过实验调节kp和kd,kdkp,系统可以既有较高的反响速度,同时又具有稳定性。运动控制经过根据前面的表达,计算机控制系统的工作经过是一个循环的实时数据收集,实时决策,实时控制的经过,在本系统中,根据所选用器件的详细情况,假设对所有的控制环完成这样的一个循环大约需要m毫秒的时间左右。在视觉信息处理系统中,处理一帧图像平均需要n毫秒左右的时间,由于视觉处理和运动控制任务的特点的不同,n>>m,也就是讲视觉处理的周期要远远大于运动控制的周期。在一个视觉处理的周期内,系统可以完成多个控制周期的处理。因此在一个视觉处理周期之后,系统应该做好下一个视觉处理周期之内的运动规划,也就是做好后面多个控制周期之内的运动规划,这样才能保证机器人的头部以均匀、平缓,同时又是准确的速度来跟踪目的。控制系统软件流程如图5所示。在每一个运动控制周期内,程序都首先要查看Memolink,看视觉信息处理系统是否有新的处理结果通过Memolink传递到运动控制系统,假如没有,程序就按照预设的运动规划来控制机器人运动;假如有,程序就先要根据视觉系统的处理结果来修改运动规划。为了使机器人头部的运动平稳,我们把每次预设的运动规划所规划的时间定为略大于视觉处理的平均周期,这样就可以保证系统在每次新的视觉处理结果到来之时,原有的运动规划还没有执行完。进而使只要目的在不断运动,机器人头部便可以处于不断运动经过中,防止了机器人头部时转时停的现象。随后程序分别读取规划和反应,根据两者之差来求得控制量,再发出控制信号,控制机器人头部的转动。对于控制量的求法程序采用了传统的PID算法,设tk为第k个运动控制周期时刻,在tk时间上,系统的输出量为Yk,运动规划的规划量为Xk,根据PID算法,在tk1时间上,系统的输出Yk1为Yk1KPXkYkKiXkYkKdXkYkXk-1Yk-1上式中KP,Ki,Kd分别为比例系数,积分系数,微分系数。在一个控制系统中,一定大小积分系数可以使系统没有残差,但会降低响应速度;而一定大小的比例系数可以加快系统的响应速度,并能根据输入的变化提早做出响应,但可能导致系统不稳定。因此在结果可以承受的情况下,应该只使用比例系数,假如结果达不到要求再使用积分系数和微分系数。本系统中,视觉信息处理系统和运动控制系统分别适用Windows和RT-Linux作为软件开发平台。RT-Linux是实时操作系统,使用它可以知足运动控制的实时性,而Windows系统的强大的多媒体功能使其成为图像处理的平台。视觉信息处理计算机的CPU为P2.4GB,内存512M;运动控制计算机的CPU为P700MHz,内存256M;Memolink是连接视觉处理系统与运动控制系统的桥梁,我们选用的产品采用PCI接口,最大传输速率为1Mbytes/s。摄像头为SVS视觉处理系统,每秒钟采样15帧。SVS视觉处理系统安装才2自由度的运动机构上,该机构在2个自由度方向的运动足以使其指向任何方向,因此可以实现跟踪物体。BHR-1的头部的三维尺寸为宽19cm,高27cm,深19cm,重量2.8kg,以上数据包括机械构造、轴承、电机、摄像机等。利用该系统跟踪和定位物体时,图像的处理速度为每秒钟10帧,视觉伺服周期为100ms左右,运动控制系统的伺服周期是3ms,近间隔的定位精度较高,最高精度为1m处3。为进一步验证本文提出的视觉定位与动作规划的方法的有效性,BHR-1系统实现了对物体的抓取试验,机器人手臂是具有7个自由度的机器人的右臂,实验经过中,视觉系统将目的物体的三维信息通过memolink传递给运动控制计算机,运动控制计算机根据上面提出的方法规划数据并实现抓取物体。本文给出了一种基于双目视觉的物体的跟踪和定位方案。双目视觉用于获取目的物体的三维空间信息,实现物体的定位。这个系统采用了双计算机处理和Memolink通讯方式,两台计算机分别进展视觉信息处理和运动控制,保证了系统具有较高的响应速度。