基于RSI的工业机器人开放式控制系统设计
2020-04-22吕鑫平彭晋民戴福全阮玉镇李海滨
吕鑫平,彭晋民,,戴福全,阮玉镇,李海滨
(1. 福州大学 机械及自动化工程学院,福建 福州350108; 2. 福建工程学院 机械与汽车工程学院,福建 福州 350108)
0 引言
《中国制造2025》对我国制造业自动化、智能化、信息化需求提出了新的要求,不断完善和开发机器人及其运动控制系统在工业生产上的应用,是我国创新强国之路的关键点。目前,工业生产中,机器人在焊接、搬运、装配等领域的应用逐渐广泛,而信息化时代对开放式控制系统的要求也日益增加。
目前,对于开放式控制系统,主要针对的是由标准化硬件与具有开放式界面的操作系统所组成的体系结构。该系统具备可扩展性、互操作性、可移植性以及可增减性[1]。
RSI(robot sensor interface)是德国KUKA公司开发的用于实现机器人控制系统和传感器系统之间数据交换的应用程序包,其实时性响应在毫秒级[2]。本文提出一种基于RSI的工业机器人开放式控制系统,将RSI系统用于机器人与外部PC进行数据交换,配合Windows操作系统强大的数据处理功能,在保证工业机器人实时性的前提下,实现功能的扩展性和增减性。
1 机器人与工控PC间的通讯
1.1 数据交互协议
如何实现工业机器人与外部PC 间的数据交换是设计的关键点之一。引入库卡机器人RSI应用软件包,通过定义信号流配置文件以及用于以太网连接的XML文件,实现基于UDP网络通讯的机器人与外部PC 机间的数据交换。RSI对象Ethernet的实时请求性高(PC必须在所定义的节拍内回答所到达的数据包,否则将出现超时错误)。毫秒级响应速度在确保实时性控制要求的基础上,给系统开放性开发提供最大限度的设计空间。
通过RSI对象Ethernet实现通过以太网的数据交换。对象输入端上的信号发送给外部PC,而输出端上提供由外部PC接收的数据。图1所示的是通过Ethernet进行数据交换的工作原理。
首先应用图形编辑器RSI Visual定义和保存RSI上下文,规定了机器人的信号处理框架,生成以下文件:
<文件名>.rsi(RSI Visual的信号流配置);
<文件名>.rsi.diagram(根据XML示意图的RSI Visual信号流布局);
<文件名>.rsi.xml(机器人控制系统上用于信号处理的XML文件)。
图1 以太网数据交换工作原理
然后调用RSI Visual的RSIEthernet模块设定机器人控制柜与外部PC间通讯的数据内容及类型。该XML文件同信号流配置文件一起保存在机器人系统的指定目录下,同时Ethernet对象中需指定该XML配置文件的名称。图2所示的是自定义的交互协议文件,元素说明如表1所示。
图2 数据交互协议的XML文件
表1 元素说明
1.2 通讯过程
在运动控制实现中,设定外部 PC控制6自由度机器人实现末端执行器的笛卡儿坐标移动,应用RSI对象POSCORR(笛卡儿修正接通与限定),外部PC将笛卡儿修正数据发送给机器人,机器人根据相对修正值纯修正控制地移动。其信号流配置如图3所示。
图3 机器人信号流配置
信号处理信道激活后,Ethernet通过UDP/IP协议将机器人系统内部数据发送给外部PC,实现对机器人系统状态的实时监测,包括笛卡儿位置、机器人轴A1-A6特定位置、附加轴E1-E6特定位置、机器人轴A1-A6电机电流、延迟到达的数据包数量、主进和预进中的技术参数(功能发生器1-6)。
外部PC将包含笛卡儿修正值的自定义数据组发送给机器人,实现运动控制。
2 开放式控制系统结构设计
2.1 控制系统的整体结构框架
如图4所示,所搭建的体系结构按照所执行功能的不同分成3个模块:主控单元、执行单元及检测单元。控制系统的主控单元实现任务规划、数据处理以及任务决策,将控制指令发送给执行单元,以实现具体的控制任务:力反馈控制模块将力觉传感器采集的力及力矩工作信息进行综合分析处理,机器人控制系统执行运动控制及路径规划。检测单元将所采集的工作信息反馈给主控单元,为任务决策提供信息参考,信息包括:各关节的位置、电机电流和力/力矩信息等。
图4 开放式控制系统体系结构
2.2 控制系统的软硬件结构设计
控制对象为一台库卡6自由度机器人,配备有KR C4控制柜。使用研华工控机作为其运动控制器。引入了RSI系统,可直接通过以太网连接实现机器人和工控机之间的交互。使用ATI 6维力传感器采集力及力矩工作数据,并使用以太网将数据传输给工控机,其硬件结构如图5所示。
图5 控制系统硬件结构
基于RSI的机器人控制系统,其软件平台的功能包括:
1) 机器人系统状态(包括位姿坐标值、电机电流值、力及力矩值等)的实时监控;
2) 与机器人控制器进行数据交换;
3) 直线插补算法控制机器人点位运动;
4) 正、逆运动学解算机器人目标轨迹。
点位控制分为单轴运行和多轴并联控制,而其中多轴联动控制涉及到直线插补算法。项目中的工业机器人采用伺服电机驱动,在连续运转过程中的急停将影响到定位精度。针对这种问题采用的解决方案为:使得机器人末端到达预定减速点时,开始匀减速运动到足够小的速度,接着继续运行直至到达目标点,速度曲线如图6所示。
图6 速度变化梯形图
算法如下:
已知空间中两点P0={x0,y0,z0}、P1={x1,y1,z1},先计算出两点间的直线距离:
再计算比例因子:
故得到各轴按步距修正移动的步距为:
Step[x,y,z]=K[x,y,z]×W
其中:K为比例因子 ;W为给定单位步距[3]。
循环周期N为:
将所计算得到的比例因子及目标点坐标值代入程序中,即可实现机器人的多轴联动控制。
3 控制系统调试与试验
基于以上开放式控制系统的软硬件设计,在所搭建的力反馈实验平台上开展控制系统的调试与试验,如图7所示,为机器人控制界面图。使用手持操作器在指定的机器人控制系统目录(C:KRCROBOTERKRCR1Program)运行用于激活RSI的程序,信号处理信道激活后,即可通过发送自定义的数据组控制机器人运动了。
图7 机器人控制平台界面
工业机器人系统状态信息采集与传感器工作数据采集使用双线程并行通讯,RSI系统数据交换周期为4ms或12ms两种模式。ATI传感器采用EtherCATF/T类型,采样滞后最高1ms。对于所设计的实时系统,测试其任务切换延时以及中断响应时间。任务切换延时为系统运行多个任务时,当前任务结束后,控制系统切换到另一个任务过程中所耗费的时间。中断的响应时间是指系统接收到中断信号到操作系统作出响应,并完成切换转入中断服务程序的时间[4-5]。对以上2个主要参数进行实验,每个参数1 500 次的测试,测试结果如表 2 所示。
表2 系统实时性测试实验数据 单位:μs
由测试数据得出所设计控制系统的实时性参数的量级均为微秒级。通常,工业机器人的控制周期≤1ms,所以本系统完全能够达到工业机器人的控制要求。
基于RSI的工业机器人控制系统满足开放性要求,系统的可扩展性与可移植性主要体现在:
1) 在保留整个控制系统的前提下,控制算法需要进行扩展和更新时,在程序中扩展新的算法即可实现。如图8所示,系统控制台采集机器人力及力矩信息之后,对数据进行解析,然后应用到相关算法当中,而最终反馈为功能执行。当功能需求增加,可对算法库进行更新或修改。
2) 控制系统是基于Windows操作系统,通过RSI系统实现机器人与工控机之间的数据交互的,可用于不同型号的库卡工业机器人。在库卡工业机器人中安装RSI应用软件包,配置相关协议之后就可以成功进行交互,而对应不同型号的工业机器人(如不同自由度),依据功能要求,在不改变控制系统整体架构的基础上,只需对控制算法及操作界面做适当修改即可,极大地缩短了控制系统的开发周期。
图8 控制系统数据与算法逻辑关系
4 结语
设计了一种基于RSI系统的开放式机器人控制系统,引入RSI系统,实现工业机器人与外部PC的实时数据交换,配合Windows操作系统的数据处理功能,在保证工业机器人实时性的前提下,实现了功能的扩展性和增减性。试验表明,该系统能够满足实时性要求,响应级别在毫秒级,开放式结构满足扩展性、可移植性要求。