一种机器人视觉伺服系统的研究与设计

时间:2011-06-10

 

  1. 引言

  视觉信息具有信号探测范围宽,获取信息丰富等优点,是智能机器人重要的感觉能力,也是机器人领域的研究热点。本文以固高公司的GPM系列2—DOF并联机器人为执行机构,根据机器人视觉伺服系统高、实时性强的要求,研究并设计了一套基于DSP的智能机器人视觉伺服系统。 论文重点研究了智能机器人视觉识别技术,提出了基于自适应遗传算法的二维类间方差图像分割算法,通过保存策略和分期调整度量函数改善分割效果,提高运算速度,并通过实验证明了该方法的有效性;论文同时详细探讨了形心跟踪算法和视觉定位技术;硬件设计中,本系统采用了闻亭公司DSPC6000高速信号处理板WT6201PA板,充分利用板上TMS320C6201芯片的强大数据处理能力对数字图像信息进行快速处理,并且合理利用板上FPGA资源作为协处理器进行图像滤波处理,有效提高了系统处理速度。 实验测试结果表明,系统能够实时完成对低速运动物体的定位跟踪,较好的满足了要求,具有一定的理论意义和实用价值。

  视觉伺服(visual servo)的概念,常见于机器人技术方面的研究,是由hill和park于1979年提出的。“伺服”—词源于希腊语“奴隶”的意思 。人们想把“伺服机构”当个得心应手的驯服工具,服从控制信号的要求而动作。在讯号来到之前,转子静止不动;讯号来到之后,转子立即转动;当讯号消失,转子能即时自行停转。由于它的“伺服”性能,因此而得名—伺服系统。 视觉伺服,一般指的是,通过光学的装置和非接触的传感器自动地接收和处理一个真实物体的图像,通过图像反馈的信息,来让机器系统对机器做进一步控制或相应的自适应调整的行为。

  2 . 系统工作原理及硬件构成

  基于图像的视觉伺服直接计算图像误差,产生控制信号,并变换到机器人运动空间,驱动机械手,完成伺服任务。该方法对标定误差和空间模型误差不敏感。

  对于机器人视觉伺服系统,实时性问题一直是一个难以解决的重要问题。图像采集速度较低以及图像处理需要较长时间会给系统带来明显的时滞;此外视觉信息的引入也明显增大了系统的计算量。而图像处理速度是影响视觉伺服系统实时性的主要瓶颈之一。

  实时图像处理设计的难点是如何在有限的时间内完成对大量图像数据的处理。从人的视觉理论分析,只有图像处理系统的处理速度达每秒25帧以上时才能达到实时的效果,即要求实时图像处理系统必须在40ms内完成对一帧l图像的运算处理,才能保证图像的实时性。为了达到该处理速度,我们采用了基于DSP的图像视觉伺服方式,其结构如图1所示。

 

图1 基于DSP的图像反馈机器人视觉伺服结构图

 

  2.1 WTC6201PA板简介

 

图2 WTC6201PA板硬件组成

 

  WTC6201PA板属于EVM板中的一种,它采用了TI公司的DSP器件TMS320C6201芯片。TMS320C6201芯片的时钟频率为200MHZ,每个时钟周期多可以执行8条指令,从而实现16000MIPS的定点运算能力,它具有如下主要特点:

  · 采用了修正的哈佛总线结构,独立的程序总线、数据总线和DMA总线使得取指、读写数据和DMA操作可以并行。

  · 采用流水线处理,使两个或多个不同的操作可以重叠执行,提高了程序执行速度。

  · 具有高性能的外部存储器扩展接口EMIF,可以直接与同步突发静态存储器SBSRAM、同步动态存储器SDRAM连接,用于大容量、高速存储;还包括直接异步存储器接口,可与静态存储器SRAM、只读存储器EPROM连接,用于小容量的数据存储和程序存储;芯片内部集成的64K程序存储器可配置成CASHE,以提高程序执行效率。

  · 16位主机口能够和其它CPU的存储区以及外围电路进行通信。且多通道DMA控制器可在没有CPU参与的情况下完成映射存储空间中的数据搬移,从而减轻CPU的工作量。

  同时板上配置了高速同步存储器SBSRAM(128K×32Bit)和SDRAM(4M×32bit),两路A/D转换器,大容量的FPGA器件和外部I/O接口,板上还提供了一个McBSP接口,兼容5V TTL电平,方便用户与外部系统通信。WT6201PA板满足PCI Local Bus Revision 2.1 协议,主机可访问DSP的所有资源,用户可通过主机加载程序。WTC6201PA板提供了Win98和NT下的驱动软件及DSP的应用软件(APIs),利用这个硬件平台和底层软件库,用户可以很容易的进行软件开发。

  2.2 系统硬件实现

 

图3 系统原理框图

 

  系统工作过程如下:

  CCD摄像机输出标准制式的全电视信号,其中包含着图像信号、复合同步信号、行、场消隐信号、槽脉冲和前后均衡脉冲等七种信号。本系统采用了北京大恒公司的DH-PCI-H图像采集卡来实现视频信号的预处理。CCD摄像机将视频数据输入到图像采集卡,图像采集卡按照设定的窗口位置、大小和方式采集视频数据,采集的数据存储在计算机的内存中。图像传输由图像卡控制的,无需CPU参与,图像传输速度可达40MB/S。

  设置图像采集卡的采集方式是25帧/s连续采集,则采集一帧的时间为40ms,每一帧图像由奇偶两场组成,场频为50HZ,即一场扫描时间为20ms。图像采集大小为512×512像素,量化为8bit,256灰度级,则一帧图像的数据量为512×512×8bit=256KB。图像数据存储方式为隔行存放,即奇、偶场的图像数据交叉存放,组成一帧完整图像函数。

  C6201由BOOTMODE[4:0]设置芯片的自举方式,加载过程采用主机(HPI)引导方式。外部主机通过主机口初始化CPU的存储空间,主机完成所有的初始化后,将主机口控制寄存器中的DSPINT位设置为1,结束引导过程。CPU退出复位状态,开始执行地址0处的指令。

  系统上电后,主机经HPI口对系统初始化,主要完成对各寄存器的设置,包括EMIF、中断、DMA等相关的寄存器初始化操作等。主机向HPI控制寄存器的DSPINT位写1触发DSP运行,系统进入等待状态。CCD摄像机实时采集图像,经图像采集卡处理后存储到主机内存。PC机内存缓冲区一帧存满,向DSP发中断信号,DSP应答后,通过PCI总线将图像数据从主机内存经HPI口传输到WTC6201PA板片外SDRAM。DSP控制波门范围内图像数据以DMA方式传输到内部数据存储器。由于DSP为指令结构处理芯片,具有可编程性好、可以处理大量复杂指令等优点,但相对FPGA而言其处理速度比较慢;而FPGA为可编程逻辑器件,具有很强的细粒度并行处理和多级流水线处理能力,但其内部有限的逻辑资源使之不适合实现复杂逻辑运算。因此我们采用FPGA作为协处理器来完成底层操作,再由DSP完成高层操作,两种操作可以采用流水线的方式并行运行,共同完成高速图像处理。从FPGA到DSP之间的图像数据传输使用双端口RAM。处理完一帧图像后,DSP向主机发信息,主机应答后,将图像处理结果经PCI总线传输至PC机内存,PC机再将位置偏差数据信号送至伺服控制系统,完成伺服任务。

  3 图像雅可比矩阵

  对于图像反馈机器人视觉伺服系统控制机构,图像雅可比矩阵是很关键的,它描述了机器人空间中的运动与图像特征空间中的运动之间的关系:

 

 

  式 (2),(4)是图像雅可比矩阵的两种表示形式,是基于图像反馈的视觉跟踪研究的基础。需要指出的是,为了确保得到的图像特征矢量,图像特征空间维数应该大于或等于位姿空间维数(n≧m)。

  计算图像雅可比矩阵的方法有在线估计法、经验方法和学习方法。在线估计法通过动态估算得到图像雅可比矩阵;经验法可以通过标定或先验模型知识得到图像雅可比矩阵;学习方法主要可以利用离线示教和神经网络方法得到雅可比矩阵。

  结论

  本文建立了一套基于DSP结构的多关节机器人视觉伺服系统,主要应用线性卡尔曼滤波算法成功的预测了运动目标的状态参数功能是锁定运动目标,实现对目标进行实时跟踪。由于应用卡尔曼滤波后极大地缩小了搜索空间,减少了系统的图像处理时间,可以有效地提高系统的实时性,实现对运动目标的快速跟踪。

 


  
上一篇:DSP链路口在并行处理系统中的应用分析
下一篇:基于DSP TMS320LF2407A的移动机器人设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料