/James Carroll

 

在许多高速工业应用中,在某一特定时间段内捕获图像、处理图像、并将结果用于启动合格/不合格机制,这一过程至关重要。为了确保实现这一过程,并不能使用像Windows这样的操作系统(OS),因为这样的操作系统中包含能引入无限延迟的内部机制,导致过程的不可预知性。

 

为了满足高性能机器视觉系统的严格要求,开发人员可以选择使用实时操作系统(RTOS)。不同于Windows这样的操作系统,实时操作系统允许设计者能准确地预测系统抖动——接受和完成任务的时间,如图像采集、处理和I/O控制。虽然实时操作系统能够用于此类任务,但是它们通常与Windows等通用操作系统结合使用。这样,开发人员便能够利用现成的开发包实现图形用户界面等功能,同时利用实时操作系统来实现一些对时间要求严苛的任务。

 

开发实时操作系统的关键是开发一个高效的调度程序,其能使中断延迟和线程切换延迟最小化,进而提高系统的响应时间。为了确保达到这一目的,实时操作系统开发人员正在与机器视觉软件供应商紧密合作。

 

例如,去年Matrox Imaging公司(www.matroximaging.com)宣布其Matrox Imaging LibraryMIL)能在IntervalZero公司(www.intervalzero.com)的RTX64 RTOS环境下运行。当利用MILRTX64部署引导、检测和识别等应用时,严苛的视觉和控制功能可以运行在RTX64的决定性环境中;而应用的其余部分,如HMI和归档操作,则可以运行在PCWindows环境中。通过一个单独的调度程序,IntervalZeroRTX64软件将Windows通用操作系统转换成了一个在x64多核硬件上运行的实时操作系统。在64Windows环境下,RTX64调度程序能使嵌入式实时应用程序直接访问512GB可寻址物理内存。

 

1Kithara公司的RealTime RTOS Suite,在RTOS内核中使用一个单独的调度程序,以决定在某一特定时间应该执行哪些图像处理任务。

 

早在2011年,德国Kithara公司(www.kithara.de)就已经意识到并提出了将实时操作系统与现成的机器视觉软件结合使用的好处。在今年的芝加哥Automate展会上,Kithara公司展示了其RealTime RTOS Suite是如何与MVTec Software公司(www.mvtec.com)的HALCON机器视觉软件一起使用的。

 

如同其他实时操作系统一样,RealTime RTOS SuiteRTOS内核中使用一个单独的调度程序,以决定在某个特定时间应该执行哪些图像处理任务。同样,该内核也可以与Windows协同运行,实现HMI、归档和其他非关键任务的快速开发。

 

2:在KitharaRealTime RTOS Suite环境下用HALCON软件跟踪陀螺,图像拍摄帧率为400 fps,每幅图像的最长处理时间为2.1 ms

 

“当开发者在PC上安装了WindowsRTOSHALCON后,”Kithara公司总经理Uwe Jesgarz说道,“通常会被Windows操作系统解读的来自HALCON的函数调用,会被RealTime RTOS截获,并转向一个实时线程创建。”为了进一步在多核系统上加速性能,可以为RealTime RTOS提供单独的专用内核,且与Windows并行运行,从而避免任何干扰。

 

为了展示这一性能,Kithara公司在芝加哥Automate展会上展示了一种用于跟踪陀螺的系统。利用Basler公司(www.baslerweb.com)的两台400 fps acA1300 GigE彩色相机捕获图像。为了比较,利用一个独立的64Windows操作系统对来自第一台相机的图像进行捕获和跟踪;利用在RealTime RTOS Suite环境下运行的HALCON对来自第二台相机的图像进行处理。若相机的拍摄帧率为400 fps,那么要求系统要在2.5 ms内处理完每幅图像,才能达到实时处理的效果。

 

在酷睿i7处理器上运行的Windows环境下运行的跟踪算法,执行图像采集、处理和显示的最短时间为2.1 ms,“然而所需要的最长时间可能达30~100 ms,这使得该系统不适合用于密集型图像处理任务。”Jesgarz说。当利用HALCON软件在KitharaRealTime RTOS Suite环境下运行相同的算法时,执行相同任务的最短处理时间缩减到1.7 ms;最长时间为2.1 ms。这个速度足以能够实现图像的实时处理。