ProV Real Time 实现机器视觉与运动控制交互性能
导语:在很多高速的自动化应用中,对机器视觉与运动控制的交互速度和稳定性要求越来越高,既要求在某一特定时间段内获取图像、处理图像,又要求将结果与运动控制在确定的循环周期内交互数据。
导语:在很多高速的自动化应用中,对机器视觉与运动控制的交互速度和稳定性要求越来越高,既要求在某一特定时间段内获取图像、处理图像,又要求将结果与运动控制在确定的循环周期内交互数据。
为了确保实现这一过程,并不适合使用像Windows 这样的操作系统,因为这样的操作系统中包含能引入无限延迟的内部机制,导致交互过程的不可预知性。例如高速表面贴装、基于视觉伺服技术的精密组装以及近几年流行的异型电池叠片等应用,基于Windows的视觉引导在执行稳定性、良率控制和Cycle Time优化上会面临越来越大的挑战。
为了满足高性能视觉引导系统的要求,先进的自动化系统需要引入实时操作系统(RTOS)。不同于Windows 这样的操作系统,实时操作系统允许设计者能准确地预测系统抖动——开始和完成任务的时间,如图像采集、处理和I/O控制。虽然实时操作系统能够用于此类任务,但是它们通常与Windows等通用操作系统结合使用。这样, 开发人员便能够利用现成的开发包实现图形用户界面等功能,同时利用实时操作系统来实现一些对时间要求严苛的任务。
ProV Real-Time(简称ProV RT)是ProU团队开发的基于RTOS和Microsoft Window的实时视觉引导系统。我们将实现图像采集的GigE协议迁移到实时系统。同时, 图像算法和对位计算也在实时系统上计算完成。通过与ProU WinPLC上同样基于RTOS的运动控制模块的实时交互,实现了振奋人心的快速、稳定的视觉引导应用。ProU winPLC的系统组成和功能如下图:
从整个视觉引导的过程来看,从拍照命令开始、相机的驱动调用、图像传输、查询完成、图像处理、通讯、运动控制各个环节都需要Windows介入,这是导致系统延迟的根源。通过大量的实验和数据分析,我们记录了因为Windows介入可能产生的延时的环节。对比ProV RT来说,整体的执行时间会变长,同时不确定性增加。
而图像传输与处理这些固定的时间开销继续存在。整个流程的分析如下图:
通过具体的案例能够更清晰的看到,ProV RT相对于传统基于Microsoft Windows操作系统解决方案的区别。
winPLC通过EtherCAT总线控制3台雷赛闭环步进,一台大恒500MP/GigE接口的工业相机与winPLC上的ProV RT模块连接。
winPLC同时完成视觉对位和运动控制,应用到常见的如卡尺、Blob等图像工具,图像处理和传输都在实时系统(RTOS)中完成。用户在ProV RT平台上通过拖拽框图可以实现图像处理与对位计算,并将计算结果传递给ProU平台上的运动控制模块。
作为对比,我们使用H图像算法库和G运动控制板卡,实现同样的图像算法和运动控制。数据对比如下:
连续图像传输和处理约2000次(如上图),ProV RT的平均耗时约缩短10%。而更明显的区别在于执行周期的稳定性上,在上图中能够明显看到,基于Windows视觉执行周期的数个尖峰,最长的执行周期达到540ms。
而对于完整的测试——连续视觉引导对位2000 次(如上图)。
ProV RT的执行效率约提高20%,最大的差异还是在执行周期的稳定性上,基于Windows的运动控制和视觉在某些周期会产生最长1080ms的延迟。
对于追求高速、稳定执行周期的机器来说,长达1s的延迟带来的可能是机器停顿、良率下降、工艺验证失败等实际发生的问题。
值得一提的是,ProV RT是开放的实时视觉平台,图像算法公司可以将自己的图像算法放在ProV RT中执行,并直接调用ProU中的运动控制模块。目前,ProV RT已经在数个如高速表面贴装、基于视觉伺服技术的精密组装等多个有极端性能和稳定性要求的场景展示了独特的价值。
对于大部分自动化设备来说,ProV RT所提供的性能和价值不是显而易见的。然而,面对世界周遭的波涛汹涌,静下心来对极致性能孜孜不倦的追求是ProU团队的目标。