吕冬冬,郑松,2
(1.福州大学 电气工程与自动化学院,福建 福州 350116;2.福建省工业控制信息安全技术企业重点实验室,福建 福州 350008)
工业机器人开放式控制系统研究综述
吕冬冬1,郑松1,2
(1.福州大学 电气工程与自动化学院,福建 福州 350116;2.福建省工业控制信息安全技术企业重点实验室,福建 福州 350008)
控制系统作为工业机器人的重要组成部分在一定程度上制约着机器人技术的发展。首先对开放式机器人控制系统的研究进行概括与总结,重点对工业机器人控制系统的结构特点、系统开放性的软硬件实现方法进行阐述,接着总结开放式控制系统在多机器人协同控制应用现状,并且对控制系统未来的发展方向进行了展望。
机器人控制系统; 开放式控制器; 机器人硬件结构; 机器人软件结构; 以太网; 多机器人; 协同控制
随着德国工业4.0与中国战略2025计划的提出,传统制造业面临产业改造升级,工业对制造业的需求变得日益迫切。工业机器人作为制造业的重要部分,需要面临越来越高的生产需求[1-2]。制造业要求机器人具备更大的柔性与开放性,能与工业生产中不同的设备通过总线或者以太网连接到同一平台形成一套综合控制系统。然而目前不同厂家的机器人控制系统都仅遵循相关厂家的标准,采用封闭的控制器与编程语言,用户难以根据需求的变化对其进行调整,因此工业机器人的开放式控制系统的研究成为了国内外科研机构研究的重点。
本文简要概述机器人开放式控制系统的发展过程与研究现状,着重介绍几种主流开放式控制系统的实现方法,并对控制系统未来发展进行了展望。
机器人由机器人本体、控制系统、伺服驱动、以及周围的一些传感器组成。其中控制系统是机器人的核心,它是由一组硬件与软件组成,根据指令以及传感信息控制机器人完成一定动作或作业任务的装置。机器人控制系统的结构框图如图1所示,主要由主控单元、执行机构与检测单元三部分组成。其中主控单元是整个系统的核心,主要负责对机器人进行运动学的计算、运动规划、插补计算等,将用户的运动控制指令传输到执行机构[3]12。由于机器人的所有动作指令均由它的控制系统给出,因此机器人的开放性就取决于控制系统的开放性。
图1 机器人控制系统基本结构框图
目前,机器人控制系统的开放性还没有严格的定义,根据IEEE对“开放”的官方定义,开放系统应满足系统的应用可以在不同的平台之间移植,与其他应用系统相互交互,为用户提供一致的交互方式[4]。库卡机器人集团的创始人Lothar Rossol将开放式的系统定义为:运行在商业化的标准的计算机与操作系统上,同时具备开放的软件与硬件接口。
对于开放式控制器,它应该具有模块化、接口标准化的开放式结构,用户不必深入了解机器人的内部结构,只需一些简单的机器人知识便可操作机器人。一旦工序发生变化,可以用尽量小的代价、尽量短的时间修改系统,使其满足新的应用[5]。
2.1 开放式控制系统的发展
关于如何实现开放式控制系统,许多专家提出自己的看法。伦敦大学的K.Nilson和Rolf Johanssonb提出将控制系统采用分层的结构,并在此基础上提出了开放式机器人控制器的结构[6]。
从开放式控制系统概念提出到目前为止,许多国家或者机构出资进行了研究,其中有三个比较有影响力的计划:欧盟的OSACA[7](Open System Architecture for Control with Automation System)最开始是由欧洲一些研究机构与控制器厂商共同提出的,并在1996年顺利完成整个标准系统平台的开发;日本一些大型机械及机电制造厂商也在1994年联合提出OSEC计划[8],该计划的远大目标是为全球的自动化公司制定一种标准;美国也在1994年提出了OMAC[9]计划,不同于之前两个计划,OMAC提出的控制系统具有标准化的接口层,用户可以根据自己需求制定一系列的特定功能模块,采用“即插即用”的概念,特定功能模块可以简单的连接到控制系统。
随着计算机的快速发展,具备平台通用性的机器人控制软件的研究也取得了相应的进展。在2001年,Jet Propulsion实验室设计提出自主机器人系统CLARAty[10]。到了2003年,由卡内基梅隆大学开发的机器人控制软件CARMEN[11],使得控制算法的实验与仿真变得更加简单。2006提出的开源软件项目Orca[12],实现了跨平台的开发。2007年由斯坦福大学提出开源的ROS系统(robot operating system)并与许多大学与公司进行合作研究,例如麻省理工学院、三星等。在2010年Willow Garage公司发布了开源机器人操作系统ROS,该系统是开源的,采用的是分布式处理架构(又称为Nodes),这使得可执行文件能被单独设计,并且在运行时松散耦合。该系统的优点是不受机器人硬件的拘束,系统本身自带许多机器人控制算法与指令,能适用于不同的机器人。
虽然目前还没有一套严格意义上的完全开放的控制系统,但是此方面的研究还是取得了很大的进展。
2.2 开放式控制系统硬件实现方法
开放式控制系统的硬件结构主要有两大类:基于PC总线与基于VME(VersaModule Eurocard)总线的系统。PC具有成本低、具备开放性、完备的软件开发环境与良好的通讯功能等优势,目前一些大机器人厂商把基于PC的机器人控制系统作为主要发展对象。
2.2.1 基于“PC+运动控制卡”的控制系统
在基于“PC+运动控制卡”的模式中,PC主要负责人机交互界面,运动控制卡负责进行运动学求解、轨迹插补计算等。该模式下,PC可以运行在Windows或者Linux系统中,而运动控制卡则提供了Visual C++、Qt等环境下的标准接口函数,方便用户采用标准的软件进行编程。
此模式开展的研究比较早,罗伟涛等[13]人结合ARM、DSP和FPGA,设计了一种机器人运动控制器,能够实现对机器人可靠的运动控制。美国的Seok S, Hyun D J等[14]人利用多核CPU、FPGA和分布式处理器等现代并行实时计算技术的优点,开发了一种多自由度机器人的控制系统平台体系,使得机器人可以实现动态运动,并与环境进行快速的交互。哈尔滨工业大学机器人研究所研制出了PC+DSP+FPGA的硬件控制结构并将其运用在卫星遥操作四自由度机械臂中[15]。
该模式的优点是:对PC实时性要求不高、采用的软件资源丰富、具备开放性,但是也存在对控制卡要求高的缺点,因此还需要搭配一个DSP以提高运动卡的数据处理速度。控制器的升级成本高而且运动控制卡目前还没有统一的接口标准。
2.2.2 基于“IPC+运动控制卡”的控制系统
基于“IPC(Industrial Personal Computer)+运动卡的模式”与“基于PC加运动卡的模式”的区别在于:机器人的运动学求解,轨迹规划与插补算法的计算等都在PC机上,减缓了运动控制卡的数据处理压力,而且整体的硬件结构简单,方便日后的升级。工控机能够运行于Windows或Linux主流的操作系统,并且能够在基于此操作系统上安装Microsoft Visual C++、Qt等软件开发环境,以进行具有简单、界面友好的机器人控制软件的开发。此模式下的工控机与运动控制卡的分工明确。
基于这种模式目前国内外高校以及科研机构研究出了相应的成果。国内的华中科技大学的潘炼东[3]154开发出了基于PC与PMAC的开放式控制系统。中国自动化沈阳自动化研究所开发了基于PC总线与CAN总线的SIASUN-06B机器人控制器[16]。江南大学沈跃等[17]人在SIASUN-06B机器人的基础上采用PMAC替代了原有控制器,能够对伺服控制的位置控制及I/O逻辑顺序控制,完成对各个电机的速度环和电流环的控制。增强了系统的可拓展性、互操作性、可移植性与可增减性等方面的功能。文献[18]采用PC+I/O控制板的硬件结构,在开放式操作环境RTX+Windows实现对并联机器人的控制实验,实验结果表明系统具备稳定性与可靠性。国内的广州数控设备有限公司自主研发的六轴工业机器人采用基于RTX的控制系统架构[19],实现了六轴工业机器的点位与轨迹控制。该体系具备开放性与可拓展性,为机器人控制算法与功能拓展提供了基础。
许多大机器人生厂商例如KUKA也开发出了基于IPC与Windows操作系统的控制系统。在KUKA的控制系统中PC通过PCI/ISA总线将运动控制指令传输到多功能伺服控制卡进行电机驱动。该控制系统的特点是具备较好的开放性与柔性,支持多种常见的总线协议如PROFIBUS、DeviceNet与以太网接口等[20]。ABB的SIMATIC WinAC采用了RTX实时拓展。WinAC具备良好的开放性,可以将逻辑控制、运动控制与视频采集等信息集成到一台PC机上[21]。
基于“IPC+运动卡的模式”的控制系统,在硬件实现上显得更为简单,整个硬件系统具有紧凑性,同时又不失开放性与兼容性。同时由于工控机运行于通用性的Windows操作系统上,因此满足软件的通用性。机器的轨迹规划、直线插补改进等许多优秀的算法可以在不同机器人上应用,促进了机器人行业的发展。目前工控机结合运动卡是工业机器人控制技术发展的重要模式。
2.2.3 基于PLC的控制系统
随着PLC的快速发展,其功能指令特别是运动控制指令更加强大,并具备很强的计算能力与可靠性。目前部分高端PLC已具有支持各种运动功能命令、能实现高度集成操作、对各轴实现协调控制以及对电机的闭环控制等功能,能够满足工业机器人对运动控制的精度要求。这类PLC的优势在于采用简单的接线避免了繁琐的电路设计,而且可靠性高以及网络通讯功能强大,能实现与其他工业设备的集成控制。东南大学的卞洪元设计完成了基于AB PLC控制器的工业机器人结构,用AB PLC ControlLogix控制系统实现了对机器人的运动控制[22]。
基于PLC的控制系统在硬件接线方面比较简单,而且PLC的CPU是基于循环扫描机制,具有可靠性高、适合于进行重复性工作等优势。PLC具有强大的联网功能,因此能通过网络实现对多机器人的监控。许多大公司如ABB、Rockwell的PLC都能支持工业机器人的控制与管理,它们的控制器内部有运动控制功能,而且支持多种协议,因此有利于实现高度集成操作与电机的位置环闭环控制。目前基于PLC控制器的机器人已经在码垛、水下作业等方面成功应用。
2.2.4 基于“通用PC+工业实时以太网”的控制系统
工业机器人开放式控制系统的另一个发展方向是网络化[23]。Ken Goldberge在1994年提出基于网络的机器人概念。工业以太网技术因具有通信速度快、网络集成度高、价位低的优势,己成为未来现场总线的发展方向。文献[24]提出一种基于通用PC和实时以太网技术的机器入控制系统如图2所示,通过在PC上安装德国Kithara公司的KRTS(Kithara Real Time Suite)软件,该结构的通讯采用支持标准以太网卡的EtherMAC[25]。在这种模式下成功实现了SCARA与Delta并联机械手在通过视觉的调度下实现流水线的物料拾取操作。在网络控制中,一帧的数据就可以实现对节点内的所有伺服电机进行控制、参数在线修改与信息采集等工作,因此具有控制效率高、可拓展性强的优点[26]。
图2 控制系统硬件结构图
新松机器人研发团队针对SR6C型机器人进行了程序升级改造,制定RS485和TCP/IP两种通讯接口,实现机器人实时调控功能[27]。文献[28]采用基于C/S模型,实现了机器人控制器与计算机的分布式网络。该系统采用IP隧道路由技术为不同型号的机器人统一分配IP地址,不同机器人通过以太网集成到相同的控制网络。采用DCOM(分布式组件对象模型)技术,方便地实现分布式控制网络中不同机器人之间的通信,并且在ABB S4型机器人上成功实现了分布式控制网络中所有机器人的监控。
在其他主流的工业以太网应用方面,基于SERCOS Ⅲ[29]的控制系统采用带CPU的专用网卡方案,文献[30]提出采用“嵌入式开发板+实时操作系统+SERCOSⅢ实时以太网”的开放式总线工业机器人控制器架构。在SERCOS Ⅲ控制网络中,包含有主从站,主站通过通用通信模块对各个机器人从站进行控制。文献[31]提出了基于EtherCAT工业以太网开放式机器人控制系统结构,引入模块化设计方法,组成多层控制结构。
基于网络化的机器人系统,可以在不改变硬件结构的基础上,集成异构机器人,用户可以在统一的平台上对不同机器人进行控制,能够缩短系统开发的周期,有效降低开放性改造的硬件成本,此模式推动了异构机器人协同控制技术的发展。实现异构工业机器人集成的关键在于找到一个开放式结构的软件环境。该环境需要具备:遵循通用的协议、采用具有统一数据结构的控制程序、具备数据采集与存储、实时操作等功能。
2.3 开放式控制系统软件实现方法
针对特定应用的机器人开发一套开放式控制系统是非常复杂的,而开发出一套完全适合于所有机器人系统更加困难,但是这方面的努力一直在进行。目前很多研究机构在基于硬件开放式架构的基础上,采用开放式纯软件控制技术。NEXUS[32]是开放式机器人软件结构,采用标准的C/C++编写,具有可移植性、高效性、鲁棒性和高度柔性。Herman Bruyninckx[33]发起OROCOS(Open RObot COntrol Software)研究项目,开发出了适用于机器人控制的通用软件包,可以应用于不同机器人,而且此程序是开源的,用户可以在网站下载。Soft Servo System公司推出的SMP是一种纯开放式软件控制技术。厦门大学的赵辉等[34]基于此技术开发纯软件开放式控制系统实现对六轴工业机器人的控制。
开放式控制软件一般运行于工控机上Windows或Linux环境下,所有的运动控制运算与逻辑运算都由软件本身的内核完成,硬件仅仅负责伺服数据和I/O信号的传输。因此可以选用高性能的伺服网络来构建伺服通讯平台,在此开放性架构上可以方便的接入多个机器人伺服,实现对多机器人的控制。硬件可以根据需要进行拓展或者代替,能够满足异构的机器人伺服与通讯的要求。
基于开放式软硬件架构的多机器人协同运动控制目前也取得了一定的成果。国内方面的成果,天津大学的宋伟科等[35]采用多层等级式的控制体系结构,实现了多机器人的系统与主控系统的实时任务调度;廖燕、金平等[36]则是对多机器人协同控制系统的离线编程系统进行了开发与研究。国外主流的机器人公司都已经推出了基于PC和实时以太网的开放式结构控制器,并且基于各自的控制器开发出了相应的多机器人协同控制系统。Motoman研制了双机器人协调焊接;KUKA公司将多机器人协同控制技术在奔驰车间成功应用;ABB公司通过自己研发的IRC5控制器与Robotstudio机器人的编程与离线轨迹规划软件实现了3台机器人精确联动。
正是由于开放式控制系统对软件与硬件的接口进行了标准化定义,因此遵循标准设计出来的第三方软硬件可以很容易的集成到控制系统中,降低了对厂商的依赖性,因此企业可以根据自己的生产需求增减设备。目前多机器人在工业焊接、喷涂和零部件的装配等工业现场上均得到广泛应用。
本文提出目前几种主流的开放式控制系统的实现方法,并对其特点进行分析。未来开放式控制系统的发展趋势:
(1)致力于通用模块化结构软件平台的开发,平台应该采用国际规范标准来设计软件接口,用户可以在上面方便的进行二次开发,实现软件可移植性;
(2)基于实时操作系统和高速总线的工业机器人开放式控制系统;
(3)工业以太网在生产车间具有广泛应用前景,开放式控制系统未来会朝着网络化发展;
(4)致力于实现机器人系统不同功能之间的无缝连接,降低机器人系统集成难度,提高机器人控制系统软件体系实时性与兼容性。
[1] 机器人技术与应用编辑部.我国工业机器人现状与发展[J].机器人技术与应用,2013,1(1):3-5.
[2] 顾震宇.全球工业机器人产业现状与趋势[J].机电一体化,2006,12(2):6-10.
[3] 潘炼东. 开放式机器人控制器及相关技术研究[D]. 武汉: 华中科技大学自动化学院, 2007.
[4] FORD W E What is an open architecture robot controller[C]//Proceedings of 1994 IEEE International Symposium On Intelligent Control. Columbus,Ohio,USA:IEEE,1994:25-28.
[5] 汤嘉荣. 六轴工业机器人控制系统探究[J]. 中国新技术新产品, 2016,24(6):1-2.
[6] NILSSON K, JOHANSSON R. Integrated architecture for industrial robot programming and control[J]. Robotics & Autonomous Systems, 1999, 29(4):205-226.
[7] SPERLING W, LUTZ P. Designing applications for an OSACA control[C]//Proceedings of the International Mechanical Engineering Congress and Exposition. USA, November, 1997: 16-21.
[8] 刘利. 日本开放系统环境OSE研究会简介[J]. 机电一体化, 1998,4(3): 8.
[9] 戴晓华,王文,王威,等.开放式数控系统研究综述[J]. 组合机床与自动化加工技术, 2000,42(11):5-7.
[10] VOLPE R, NESNAS I, ESTLIN T, et al. The CLARAty architecture for robotic autonomy[C]//Aerospace Conference,IEEE Proceedings. IEEE, 2001, 1: 1/121-1/132.
[11] MONTEMERLO M, ROY N, THRUN S. Perspectives on standardization in mobile robot programming: The Carnegie Mellon navigation (CARMEN) toolkit[C]//Intelligent Robots and Systems, 2003. Proceedings. 2003 IEEE/RSJ International Conference on. IEEE, 2003, 3: 2436-2441.
[12] BROOKS A, KAUPP T, MAKARENKO A, et al. Orca: Components for robotics[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems, Workshop on Robotic Standardization. 2006:163-168.
[13] 罗伟涛,张铁.基于ARM+DSP+FPGA的机器人运动控制器研究[J].机床与液压,2011,39(15):55-58.
[14] 孙斌,杨汝请.开放式机器人控制器综述[J].机器人,2001,23(4):374-378.
[15] 黄剑斌.人机碰撞环境中机械臂的笛卡尔阻抗控制系统研究[D].哈尔滨:哈尔滨工业大学, 2009.
[16] 王天然,曲道奎.工业机器人控制系统的开放体系结构[J].机器人,2002,24(3):256-261.
[17] 沈跃,刘慧.开放式结构平台上的SIASUN-06B机器人控制系统的研究[J].组合机床与自动化加工技术, 2004,42(5):101-103.
[18] 方心宇.开放式网络化机器人网络平台的设计与实现[D].南京:东南大学,2004.
[19] 汤嘉荣.六轴工业机器人控制系统探究[J].中国新技术新产品,2016,8(6):1-2.
[20] 高明辉, 张杨, 张少擎, 等. 工业机器人自动钻铆集成控制技术[J]. 航空制造技术, 2013,56(20): 74-76.
[21] KOCIAN J, KOZIOREK J. An outline of Advanced Process Control and self tuning techniques on PLC background[C]//Emerging Technologies and Factory Automation (ETFA), 2010 IEEE Conference on. IEEE, 2010: 1-8.
[22] 卞洪元.基于PLC控制的工业机器人系统的研究与实现[D].南京:东南大学,2005.
[23] PO-NAGEN W. Real-time Inter-processing for PC Based Robot Controllers in Tele-robotic and Gantry Robotic Controller System[C]// IEEE International Conference on Robotics and Biomimetics. IEEE Computer Society, 2009:1585-1589.
[24] 王云飞.基于实时以太网及KRTS的机器人控制系统研究[D].山东:山东大学,2015.
[25] WANG K, ZHANG C, DING X, et al. A new real-time ethernet for numeric control[C]// Intelligent Control and Automation (WCICA),2010 8th World Congress on. IEEE,2010:4137 - 4141.
[26] 丁信忠.基于工业以太网的总线型交流伺服系统关键技术研究[D].山东:山东大学,2012.
[27] 刘磊.工业机器人远程监控诊断服务系统的设计开发[D].大连:大连理工大学,2014.
[28] 王宏杰,颜国正,林良明.基于C/S模型机器人控制器的研究及其应用[J].机器人,2002,24(3):228-233.
[29] 王建波,杨林.基于以太网的实时通讯系统SERCOS Ⅲ[J].机电产品开发与创新,2007,20(2):93-94.
[30] 曲志兵,周波,孟正大,等.基于SERCOS-Ⅲ的工业机器人控制器设计[J].华中科技大学学报(自然科学版), 2015(S1):501-504.
[31] 杨涛.基于EtherCAT的机器人控制系统研究[D].北京:中国科学院大学, 2014.
[32] FERNANDEZ J A, GONZALEZ J. NEXUS: a flexible, efficient and robust framework for integrating software components of a robotic system[C]// 1998 IEEE International Conference on. Robotics & Automation. IEEE, 1998:524-529 vol.1.
[33] BRUYNINCKX H. Open robot control software: the OROCOS project[C]// Proceedings 2001 ICRA. IEEE International Conference on. Robotics & Automation. 2001:2523-2528 vol.3.
[34] 陈坤聊. 基于SMP的纯软件开放式工业机器人控制系统[D].厦门:厦门大学, 2009.
[35] 宋伟科.基于多机器人的开放式智能控制系统关键技术研究与开发[D].天津:天津大学, 2012.
[36] 缪燕,金平,尹佑盛.双机器人制造系统的网络协作离线编程研究[J].计算机集成制造系统,2001, 7(2):43-47.
A Summary of Researches on Open-architecture Control Systems for Industrial Robots
Lyu Dongdong1, Zheng Song1,2
(1. College of Electrical Engineering and Automation, Fuzhou University, Fuzhou Fujian 350116, China; 2. Fujian Key Laboratory for Industrial Control Information Security Technology Enterprises,Fuzhou Fujian 350008, China)
The development of robot technology is restricted to some extent by the control system as an important part of the industrial robot. Firstly, this paper summarizes researches on open-architecture robot control systems, focusing on structural characteristics of the industrial robot control system as well as its open software and hardware implementation methods. Then, it sums up the status of application of the open-architecture control system in multi-robot coordination control. Finally, future development direction of the control system is prospected.
robot control system;open-architecture controller; robot hardware architecture; robot software architecture;Ethernet; multi-robot;coordination control
10.3969/j.issn.1000-3886.2017.01.026
TP24
A
1000-3886(2017)01-0088-04
吕冬冬(1991-),男,福建厦门人,硕士生,研究领域:工业机器人开放式控制系统,多机器人协调控制。 郑松(1962-),男,福建福州人,博士,研究员,硕士生导师,研究领域:工业机器人,先进控制算法,仿真与建模。
定稿日期: 2016-09-22