刘亚男,倪鹤鹏,张承瑞,王云飞 ,孙好春
(1. 山东大学 机械工程学院,山东 济南 250061;2. 山东大学 高效与洁净机械制造教育部重点实验室,山东 济南 250061)
基于PC的运动视觉一体化开放控制平台设计
刘亚男1,2,倪鹤鹏1,2,张承瑞1,2,王云飞1,孙好春1
(1. 山东大学 机械工程学院,山东 济南 250061;2. 山东大学 高效与洁净机械制造教育部重点实验室,山东 济南 250061)
摘要:为了更方便地在运动控制系统中集成机器视觉,简化系统复杂程度,节约控制系统成本,借助Windows操作系统的实时拓展套件KRTS(Kithara real-time suite),在一台多核PC上,建立运行实时任务的实时子系统.该系统能够与运行非实时任务的Windows系统并行运行. 使用通用的以太网卡进行运动控制数据与图像数据的传输,取代了运动控制卡、图像采集卡等专用硬件. 开发了运动控制与机器视觉一体化解决方案,实现了控制平台的标准化、通用性和网络化,系统最大实时响应时间为36.96 μs. 基于该平台,开发了视觉引导的DELTA高速分拣系统.
关键词:KRTS;实时性;控制平台;DELTA机械手;机器视觉
数控技术作为当代先进制造技术的基础和核心,反映了一个国家工业发展的水平[1]. 目前,由于大部分数控系统都采用专用的封闭式体系结构,使用不同编程语言、多种操作系统和非标准硬件接口,使得各个厂家数控系统自成体系结构,限制了数控系统的通用性和可重构性,阻碍了数控系统向其他行业的发展[2-3].
随着PC硬件性能的不断提高,CPU性能完全可以满足作为数控系统核心部件的要求;另外,PC价格便宜,硬件结构标准,基于Windows操作系统,软件开发资源丰富[4],使得PC成为开发数控系统的首选硬件平台[5],进而可以推广到运动控制领域.
纵观国内基于PC的机器视觉与运动控制方案,在结构实现上,PC中嵌入NC是目前比较主流的结构形式[5].硬件结构是在通用PC的扩展槽中插入运动控制卡和视觉采集卡[6]以实现运动控制或视觉所需要的实时条件,PC仅处理非实时任务. 该结构的缺点是通用PC扩展槽的数量有限,扩展性不足;没有充分发挥PC的计算性能,闲置软硬件资源;机器人视觉通常采用独立于运动控制器之外的图像采集与处理方案,即采用智能相机或单独的计算机处理视觉信息,运动控制系统与图像处理系统通过一定的协议进行数据交互,增加了系统的复杂程度;运动控制卡、图像采集卡价格昂贵. 另外,在运动控制卡的选型方面,国内使用较成熟的仅有美国DELTA公司的PMAC运动控制卡和少数国外厂商产品,不利于国产运动控制平台的发展[7].
针对以上问题,本文建立基于实时以太网的PC+Windows实时拓展软件KRTS(Kitharareal-timesuite)[8]+ 标准网卡的运动视觉一体化控制平台. 该平台运动控制、图像处理、界面显示等功能均由单台PC完成;在同一个工程中开发运动控制系统与视觉处理模块;开发了基于该平台的视觉引导高速抓取系统,对该平台的实时性、稳定性和可靠性进行应用验证.
1Kithara实时套件软件架构
Kithara实时套件KRTS由德国Kithara软件公司开发,在Windows操作系统中安装该套件,可以将通用Windows操作系统拓展为2个并行的“操作系统”:一个是拥有丰富软硬件平台资源的Windows非实时操作系统;另一个为实时性能良好的实时子系统KRTS-Kernel,以满足运动控制所需要的同步实时性. 软件架构如图1所示.
与传统非实时操作系统的实时性改造[9]相比,KRTS不需要对系统内核进行裁剪配置,不需要专用的硬件设备支持,可以随时加载,集成了实时运动控制、工业图像处理和现场通信总线等多个成熟的模块,开发方便,并且充分利用了PC的软硬件资源,可以满足工业应用的实时性要求.
图 1 实时拓展软件(KRTS)架构Fig.1 Software structure of Kithara real-time suite
实时拓展软件的主要特点包括以下几点.
1) 通过共享内存、管道、Socket、信号量等来实现非实时任务与实时任务的同步与通信.
2)PLC模块根据IEC61131-3用不同的编程语言编写控制程序.
3) 支持EtherCAT、CANopen、Profibus等现场总线.
4) 通过GigE、USB3相机接口实时获取图像,并在Halcon或者其他图像处理库(如OpenCV)中进行实时图像处理.
5) 基于优先级的实时多任务环境.
根据该实时套件软件架构,分别进行集成视觉的运动控制平台的硬件设计与软件开发.
2平台硬件结构
系统的运动控制总线通信采用山东大学数控研究中心自主研发的EtherMAC[10-11]总线控制平台,通过网关将松下专有总线RTEX[12]的伺服系统连接到EtherMAC总线平台上.
RTEX是Panasonic公司为了实现伺服的高速实时性能而独立开发的专用伺服总线,协议简单. 该总线仅兼容其公司的A4N和A5N等网络型总线伺服,缺少必要的开放性好和易于开发的主控方案. 本文的硬件平台通过EtherMAC-RTEX网关,使得RTEX接口的伺服可以通过计算机的标准以太网进行控制. 平台硬件连接如图2所示.
图2 运动控制平台硬件连接Fig.2 Hardware connection of motion control platform
控制器集成3个标准以太网卡,通过不同的接口标准连接到不同功能的设备:GigE[13]相机接口标准连接相机,Ethernet协议连接示教器,EtherMAC现场总线连接伺服.EtherMAC可以通过不同的协议转换分别连接松下与安川伺服,同时支持其他多种现场总线如EtherCAT[14].
3平台软件结构
控制系统平台软件基于KRTS完成开发,WindowsApplication、KRTS配置管理模块等非实时任务在非实时操作系统中执行,而运动控制及其他实时模块以DLL(dynamiclinklibrary)的方式被加载并运行于内核实时层.平台软件主要分为4部分:用户界面层(WindowsAPI)、运行实时任务的核心运动控制层(KRTSKernel)、用于以上两层衔接的KRTS配置管理模块和进行物体信息获取的视觉模块,具体的软件结构如图3所示.
图3 运动控制平台软件结构Fig.3 Software structure of motion control platform
3.1用户界面层(Windows API)
为了实现人机数据的交互、数据显示、图像显示等非实时任务,在软件结构的非实时环境中设置用户界面层. 用户可以通过该层开启相机、设置传送带速度、改变机械手的工作模式(点位示教模式、自动模式和手动模式)、设置机械手的运动参数、读取状态信息等. 该层支持多种语言进行开发,如.NET语言、C#、VB、还有面向对象编程、泛型编程和过程化编程的C++语言以及微软公司提供的基于C++的WindowsAPI类库MFC(Microsoftfoundationclass)等.
3.2核心运动控制层(KRTS Kernel):
核心运动控制层负责该系统的实时运动控制,运行在实时环境下,主要分为机器人运动控制程序、中断回调函数、EtherMAC-RTEX协议栈3部分,并封装在DLL中.在配置管理模块加载KRTS驱动后,会抢占多核CPU的一个内核作为实时核,将DLL加载到实时内核中运行,让实时任务独占一个内核,并安装中断回调函数,实时响应网卡中断信号;然后通过EtherMAC-RTEX协议栈将机器人运动控制程序计算出的数据下发给伺服驱动器,驱动电机运行,实时控制机器人的动作,并实时反馈机器人工作的状态信息.
机器人运动控制程序提供了机器人正逆解函数,PTP(pointtopoint)、CP(continuouspath)作业工艺流程,开发者可以通过DLL接口调用所需函数;其中PTP轨迹规划中包含各种加减速算法,如直线加减速、修正梯形加减速[15]、S曲线加减速等,在CP作业中包含直线插补、圆弧插补和NURBS复杂曲线插补等.EtherMAC协议栈主要负责将机器人运动控制程序计算得出的数据以及I/O数字量、模拟量信号等数据组包下发,并解析反馈数据包,保证多轴的同步控制及稳定性,实现系统的实时通信,姬帅[16]对此进行了论证.
3.3KRTS配置管理模块
该模块主要实现WindowsAPI与KRTSKernel之间的数据通信和管理,包括共享内存模块和配置管理模块. 配置管理模块属于运行在用户层的KRTSAPI,主要负责KRTS驱动的加载、网卡的枚举、开辟共享内存、加载DLL等. 共享内存开辟后,Windows用户层中的数据指针和KRTS内核层中的数据指针指向同一块共享数据区,实现用户数据与核心运动控制层数据的交互.
3.4视觉模块
系统通过视觉算法模块得到工件信息,进行识别、定位、检测等操作,引导运动控制部分进行相应处理.
图像处理软件Halcon[17]是德国MVTec公司开发的具有完善的综合标准软件库和视觉集成开发环境,并提供了丰富图像处理函数库. 在Halcon开发环境中设计图像处理流程,并配置好VisualStudio相应的函数库后可以直接使用Halcon导出的C++程序,提高了开发效率,增强了平台可移植性.
系统工作时,相机拍摄的图片经过视觉算法处理,获得目标物体的信息;然后将这些信息进行一定的处理,通过共享内存与运动控制进行交互. 根据任务对实时性的要求,机器视觉部分可以运行于实时系统中,也可以运行于非实时系统中,但系统结构不变.
4平台应用实例
Clavel博士于1985年发明了DELTA并联机械手.该机构能够完成对物料的高速分拣、插装、封装、包装等操作,在电子、食品、医药等邻域得到了广泛的应用[18].
基于提出的平台,自主设计开发DELTA机械手本体及控制系统,实现对物体的高速分拣.样机如图4所示.
图4 运动视觉一体化系统样机Fig.4 Motion-vision system prototype
系统驱动单元主要有DELTA机械手的3个电机与2条传送带的2个电机,机械手与传动带的运动参数均可以在软件用户界面层设置;在视觉方面,通过软件实现相机的启停和图像处理参数的修改,并将图像显示在用户界面.
在系统运行时,相机将拍摄的图像通过千兆网卡传输到PC,由图像处理模块处理后,将物体位置信息通过共享内存传递给运动控制模块;运动控制模块通过遍历共享内存,获得图像处理模块计算出的物体位置信息;若物体进入机械手的抓取范围,预测出抓取物体的位置,进行轨迹规划并抓取物体,若共享内存中没有数据更新,说明暂没有物体进入相机视野,机械手处在等待状态.
相机采用软件周期触发模式,运动控制与图像处理基于系统统一的时间序列,在触发前记录当前时刻,连同物体在视野中的位置信息及传送带的速度,预测出拍摄时物体的位置,消除了由于软件触发和图像处理产生的延时对物体位置计算的影响. 具体的运行流程如图5所示.
图5 运动控制系统的运行流程Fig.5 Operation process of motion control system
以太网总线使用EtherMAC,网络设备节点包括松下网关板与I/O模块;伺服电机选用松下A5N网络型伺服. 其他硬件参数如表1、2所示.
表1 运动控制系统控制器参数
表2 系统视觉模块相机参数
为了测试系统的实时性能、稳定性和可靠性,分别对视觉运动控制一体化平台和基于该平台的DELTA分拣系统进行性能测试.
1)平台实时性能测试:设置平台通讯周期为1ms,连续运行4h,测试平台的实时性能及稳定性,硬件平台配置如表1所示.
系统响应时间是系统发出处理要求到系统给出应答信号的时间,是衡量系统实时性能的一个综合指标,系统响应时间越小则系统实时性能越好[19]. 此处的系统响应时间是指实时子系统对以太网卡中断信号的响应时间,即每次下位机板卡上传数据包到下位机接收到上位机下发的数据包之间的时间,在测试系统运行过程中记录这一延时时间Δt,具体时间的分布如图6所示.图中,N为分布数量.
图6 控制器响应时间分布Fig.6 Distribution of controller response time
由图6可知,系统响应时间全部分布在10~40μs内,最大响应时间为36.96μs,响应时间波动很小,说明该平台具有良好的实时性能.
在工控领域,Beckhoff(倍福)TwinCAT软件可以基于Windows形成实时内核,最短通讯周期为50μs,即系统最大响应时间小于50μs.PLC集成了丰富的运动控制功能,可以用于轨迹规划和伺服控制[20].与KRTS相比,不支持实时图像的处理.
2)分拣系统测试.设置平台通讯周期为1ms,传送带以3种不同的速度分别连续运行4h,测试平台的稳定性及抓取性能.测试结果如表3所示. 表中,VCON为传送带速度,NSUM为抓取总个数,NLOSS为漏抓个数,NERR为误抓个数.
表3 运动控制系统抓取实验结果
经过测试可以得出,系统最快抓取频率为110次/min,平均抓取率为99.97%,证明了控制平台在不同速度的抓取状态下的稳定性与可靠性.
综上所述,视觉运动一体化解决方案的实时性能良好,性能稳定,运行可靠,可以用于需要视觉功能的运行控制.
5结论
(1)提出PC+Windows7+KRTS的视觉处理与运动控制一体化解决方案.该方案充分利用PC硬件资源,无需运动控制卡及图像采集卡,简化了控制系统硬件平台,平台的最大响应时间为36.96μs.
(2)基于山东大学自主研发的EtherMAC以太网协议+RTEX总线方案,实现了系统对商用网络伺服电机的实时多轴联动控制,且扩展灵活,适应于自动化行业.
(3)开发出一套基于视觉的高速分拣系统,对不同运动速度下的物体进行连续长时间抓取,运行稳定,证明了控制平台的有效性.
参考文献(References):
[1]周延佑. 迅速占领市场是机床数控产业的紧迫任务[J]. 中国机械工程, 1998, 9(5): 11-13.
ZHOUYan-you.TogainrapidlygreatermarketshareistheurgenttaskfornationalCNCsystemindustry[J].ChinaMechanicalEngineering, 1998, 9(5): 11-13.
[2]武洪恩. 基于Windows的开放结构控制平台及应用研究[D]. 济南:山东大学, 2007.
WUHong-en.ResearchonWindows-basedopenarchitectureplatforminmotioncontrolanditsapplication[D].Jinan:ShandongUniversity, 2007.
[3]PANLD,HUANGXH,MOHAMMADA.APC-basedopenarchitecturecontrollerforrobot[J].InformationTechnologyJournal,2004, 3(3): 296-302.[4]OLIVERIAA,DEPE,MONEROU.AnOpen-architecturerobotcontrollerappliedtointeractiontasks[M]. [S.l.]:INTECHOpenAccessPublisher, 2010: 99-112.
[5]XUXM,LIY,SUNJH,etal.ResearchanddevelopmentofopenCNCsystembasedonPCandmotioncontroller[J].ProcediaEngineering, 2012, 29(1): 1845-1850.
[6]张文昌.Delta高速并联机器人视觉控制技术及视觉标定技术研究[D]. 天津:天津大学, 2012.
ZHANGWen-chang.ControltechniqueandkinematiccalibrationofDeltarobotbasedoncomputervision[D].Tianjin:TianjinUniversity, 2012.
[7] 郎需林,靳东,张承瑞,等. 基于实时以太网的DELTA并联机械手控制系统设计[J]. 机器人, 2013, 35(5): 576-581.
LANGXu-lin,JINDong,ZHANGCheng-rui,etal.ControlsystemdesignofDELTAparallelmanipulatorbasedonreal-timeEthernet[J].Robot, 2013, 35(5): 576-581.
[8]KitharaSoftware,Kitharareal-timesuite[EB/OL]. 2016-03-01.http:∥www.kithara.de/.
[9]WUYW,YANGY,HUALL.ResearchandimprovementofLinuxreal-timeperformance[M].Berlin:Springer, 2012: 555-559.
[10]WANGK,ZHANGCR,DINGXZ,etal.Anewreal-timeEthernetfornumericcontrol[C]∥8thWorldCongressonIntelligentControlandAutomation(WCICA).Jinan:IEEE, 2010: 4137-4141.
[11] 张承瑞,王金江. 基于标准以太网的实时同步网络及其工作方法[P].中国,CN200710013313.0. 2007-08-15.
ZHANGCheng-rui,WANGJin-jiang.Realtimesynchronousnetworkanditsworkingmethodbasedonstandardnetwork[P].China,CN200710013313.0. 2007-08-15.
[12]LIRF,LINSY,CHENJ.EmbeddedmotioncontrollerdesignbasedonRTEXnetwork[C]∥5thInternationalConferenceonIntelligentHuman-MachineSystemandCybernetics(IHMSC).Hangzhou:IEEE, 2013: 326-329.
[13]ROBBINSR.Machinevision’sGigEvisionstandard[J].ControlEngineering, 2009, 6(56): 56.
[14]SHIMONY,CARLOSEP,PETERN.Industrialcommunicationprotocols[M].Berlin:Springer, 2009: 981-999.
[15] 王云飞,郎需林,张承瑞,等. 高速并联机械手最优加减速控制算法研究[J]. 机械设计与制造, 2014(11): 85-88.
WANGYun-fei,LANGXu-lin,ZHANGCheng-rui,etal.Theoptimalacceleration-decel-erationcontrolresearchofhigh-speedparallelmanipulator[J].MachineryDesignandManufacture, 2014(11): 85-88.
[16] 姬帅. 网络化运动控制系统的关键技术研究[D]. 济南:山东大学, 2014.
JIShuai.Researchonthekeytechnologiesofnetworkedmotioncontrolsystem[D].Jinan:ShandongUniversity, 2014.
[17]MVTecSoftwareGmbH,buildingvisionsforbusiness[EB/OL]. 2016-03-01.http:∥www.h-alcon.com/.
[18]SHIBP,KIMHS,SONGCY,etal.Dynamicsmodelingofadelta-typeparallelrobot[C]∥ 44thInternationalSymposiumonRobotics(ISR).Seoul:IEEE, 2013: 1-5.
[19]WANGK,ZHANGCR,XUX,etal.ACNCsystembasedonreal-timeEthernetandWindowsNT[J].InternationalJournalofAdvancedManufacturingTechnology, 2013, 65(9/12): 1383-1395.
[20]BECKHOFF.Newautomationtechnology[EB/OL]. 2016-03-01.http: ∥www.beckhoff.com.en/english/.
收稿日期:2015-06-23.浙江大学学报(工学版)网址: www.journals.zju.edu.cn/eng
基金项目:国家科技支撑计划资助项目(2014BAF09B01).
作者简介:刘亚男(1990-),男,硕士生,从事机器人运动学的研究. ORCID: 0000-0001-9625-5806. E-mail:lynsdu@qq.com 通信联系人:张承瑞,男,教授. ORCID: 0000-0003-1536-589X. E-mail:13969076910@126.com
DOI:10.3785/j.issn.1008-973X.2016.07.022
中图分类号:TP 242
文献标志码:A
文章编号:1008-973X(2016)07-1381-06
PC-basedopencontrolplatformdesignofintegrationofmachinevisionandmotioncontrol
LIUYa-nan1,2,NIHe-peng1,2,ZHANGCheng-rui1,2,WANGYun-fei1,SUNHao-chun1
(1. School of Mechanical Engineering, Shandong University, Jinan 250061, China;2. Key Laboratory of High Efficiency and Clean Mechanical Manufacturing, Shandong University, Jinan 250061, China)
Abstract:A real-time sub-system taking advantage of Windows real-time extension software KRTS (Kithara real-time suite) was realized on a multi-core CPU computer in order to conveniently integrate motion control with machine vision, simplify motion control system as well as cost less. Real-time tasks ran in real time sub-system and other tasks ran in Windows in parallel. In this way, standard network cards instead of motion control cards and image capture cards were used to transfer data of motion control and images. The solution which integrated motion control with machine vision was proposed and achieved standardization, commonality and network as a motion control platform. The maximum response time of the system was 36.96 μs through test. A vision-guided high speed DELTA sorting system was developed based on the platform.
Key words:KRTS; real-time; motion control platform; DELTA manipulator; machine vision