杨旭东,王 淞
(1.贵州大学 机械工程学院,贵州 贵阳 550025; 2.贵州大学 机械工程学院,贵州 贵阳 550025)
在工业自动化领域,伴随着以太网的标准化与完善,基于实时以太网的运动控制系统越来越受到人们的关注,尤其是基于EtherCAT(Ethernet for Control Automation Technology,EtherCAT)的控制技术,相比于传统的以太网以及仿真电路,优势显著:EtherCAT拥有较高的传播速度,读取一千个分布式数位输入/输出的程序资料只需30 μs;EtherCAT的同步时钟机理可实现多轴的高度同步控制;EtherCAT的低开发成本及高可靠性让它在自动化控制领域中具有较高的竞争力[1]。
Matlab中的SimuLink Real-Time技术可以允许在SimuLink模型中创建实时应用程序,并且能将程序下载到连接控制系统的专用目标计算机上运行。使用SimuLink Real Time可以使用驱动程序块扩展SimuLink模型,自动生成实时应用程序。同时SimuLink Real-Time可以在配有实时内核,多核CPU,I/O通信协议端口的专用目标计算机上执行交互式或自动运行控制程序。
在本次课题研究中,将EtherCAT的实时控制技术优势与SimuLink Real Time实时控制程序的创建进行融合,形成一种基于SimuLink Real Time的EtherCAT实时控制技术。将该种控制技术与机器人运动控制进行融合,形成了一种新的机器人运动控制。
EtherCAT实时通信模型主要由主站与从站,数据帧以及EtherCAT伺服控制器组成[2],如图1所示。首先主站将整个系统初始化,将要发送到从站的数据打包成一个数据帧,通过以太网传递到从站。当数据帧通过各个从站节点时,从站通过PDO寻址方法提取属于自己的数据,然后将要输出的数据插入到数据帧中。当最后一个从站节点接收到数据帧的数据并且插入输出数据后,数据帧将返回主站。如此循环往复,完成主站与从站之间的数据传输。
图1 EtherCAT 通信模型
搭建基于SimuLink Real Time的EtherCAT实时控制系统分两部分进行:第一部分为设置SimuLink Real Time运行环境,在个人开发计算机(Development Computer)与目标计算机(Target Computers)之间建立网络连接,设置应用程序实时运行环境;第二部分为EtherCAT通信协议模型的建立。
在实验中,个人计算机用于应用程序的开发与编写,一台工业电脑作为EtherCAT通信系统的主站,一个伺服驱动器作为EtherCAT通信系统的从站。
首先在Matlab的SimuLink Real-Time Explorer环境中建立一个TargetPC对象,对该对象的各个属性进行设置。设置内容包括三个方面:开发计算机与目标计算机之间的通信协议(Host-to-Target communication)、目标计算机的通信参数(Target settings)以及目标计算机的开机方法设置(Boot Configuration)。在目标计算机的开机配置中,建立一个可移动磁盘开机程序,并把设置的网络参数以及开机程序存储在一个可移动磁盘中,使用该可移动磁盘启动目标计算机,计算机即进入实时控制运行模式。
目标计算机的启动程序建立好以后,在开发计算机的SimuLink环境设置实时控制的运行环境。首先在模型的数据输出端添加一个SimuLink Real Time Scope模块,并设置相应的参数。其次在SimuLink的“Configurator Parameter”环境中,求解器选择“Fixed-step”并且确定固定步长的周期,在求解器solver列表中选择“ode4 (Runge-Kutta)”。最后在代码生成选项中,设置系统目标文件(System Target File)为slrt.tlc格式。
完成各种参数设置后,将个人开发计算机与目标计算机之间建立实时连接。首先将开发计算机与目标计算机通过网络连接,设置好目标计算机的网络IP地址,以便开发计算机访问。利用建立好的可移动磁盘开机程序打开目标计算机进入Real Time Control环境。在开发计算机中搭建实时控制SimuLink模型,启动代码产生器(Code Generator),系统通过编译将建立的SimuLink控制模型转换成C语言代码,将该C语言代码通过Ethernet网络下载到目标计算机上运行,实现Real Time Control开发计算机与目标计算机的网络连接。
EtherCAT通信系统的详细建模过程:首先在开发计算机里预装由BECKHOFF公司研发的TwinCAT2.0软件,然后将与驱动器相关的XML文件复制到TwinCAT软件安装包下与EtherCAT通信相关的子文件夹中。设置每个驱动器的网络IP地址,将驱动器通过网线与开发计算机连接,借助TwinCAT读取驱动器的信息,包括每个驱动器的通信信息、IP地址、控制端口等。在TwinCAT的I/O通信接口环境中设置每个驱动器的PDO通讯对象,数据采样时间以及运动控制模式等参数。然后将设置好的参数存为一个ENI档案,用于EtherCAT控制的后续操作。
在SimuLink的Real Time工具箱中有EtherCAT通信模块,通过通信模块搭建实验所需的通信模型。实验中搭建的EtherCAT实时通信模型如图2所示。
通过图2我们可以看到,整个通信模型由三部分组成:EtherCAT Init模块利用TwinCAT2.0建立的ENI文件,将整个通信系统初始化,方便在SimuLink环境中搭建的通信模块访问硬件控制系统。驱动器的PDO对象是整个控制系统的核心。EtherCAT PDO Transmit模块利用数据帧将系统的控制信息从主站发送到从站,而EtherCAT PDO Receive模块则接收从站回馈的控制信号,利用以太网传递回主站,完成整个控制系统数据的传输。
图2 EtherCAT实时通信模块
为了验证实验中基于SimuLink Real Time的EtherCAT控制技术的实用性,实验中以二自由度并联机器人为控制对象。为了对机器人进行精确控制,首先对机器人进行运动学分析,并设计了机器人的运动轨迹产生器,再融合实验中设计的新型EtherCAT实时控制系统,最终在主开发计算机的SimuLink环境中搭建了图3所示的机器人控制系统。
图3 二自由度并联机器人运动控制系统
通过轨迹产生器产生一个机器人末端执行器的运动轨迹,逆向运动学模型将运动轨迹实时转换成机器人机械臂的转动角度,通过我们建立的新型EtherCAT实时控制系将控制信息传递到伺服电机,由电机带动机器人运动。机器人的运动状态通过传感器利用EtherCAT通信模块传递到主站,回馈到系统中进行状态监测,便于系统下一步控制。
在机器人硬件控制平台搭建过程中,个人计算机作为主开发计算机,负责控制模型的搭建以及程序编写。控制器采用台湾研华公司设计的无风扇工业计算机UNO-2178A主控制器,主要负责轨迹运算,Robot正逆运动学计算,并作为EtherCAT实时通信的主站,负责向从站发送控制信息并接收从站反馈回来的状态信息。驱动器采用以色列Elmo公司研发的Gold Solo Whistle2.5/100EE伺服控制器。在整个控制系统中,Gold Solo Whistle驱动器除驱动电机运行外,还将作为EtherCAT实时通信的从站,负责接收主站通过Ethernet传递来的通信信息,并将电机的运行状态传回主站控制器。机械臂采用由3D打印技术打印出来的实体模型。
个人开发计算机与控制器之间,控制器与驱动器之间以及驱动器之间均通过网络线建立联系,形成机器人实时运动控制的硬件系统。硬件控制系统的连接原理如图4所示,实际实验控制平台如图5所示。
图 4 D2 Delta Robot运动控制硬件系统
图5 D2 Delta Robot控制实验平台
为测试实验中设计的控制系统的性能,设定机器人末端执行器的位置从坐标(0,132.7)运动到(-30,-150),后再运动到(0,-100),并在该坐标停留1 s后运动到(30,-150),最后回到原点(0,-132.7),所有点到点的运动时间为0.25 s。通过实际测试,最终机器人在X轴方向的运动参数如图6~8所示。通过图中的各项运动参数可得出,机器人的实际输出运动参数与输入的参数基本一致,达到了实验的预期效果,验证了基于SimuLink Real Time的EtherCAT机器人运动控制技术的可行性。
实验中将EtherCAT控制技术与SimuLink Real Time实时控制技术进行融合,在Matlab SimuLink环境中设计了一种基于SimuLink Real Time的EtherCAT实时控制技术。使用该技术控制机器人运动,最终通过实验证实了这种新控制技术的实用性。
图6 X轴位移轨迹实际轨迹与命令轨迹比较
图7 X轴速度轨迹实际值与命令值比较
图8 X轴加速度轨迹实际值与命令值比较
本次实验所设计的新型EtherCAT实时控制技术打破了传统限制,在Matlab的SimuLink环境中搭建控制模型,利用SimuLink Real Time实时控制技术结合EtherCAT通信技术控制机器人。这种控制方法的优势在于:
(1)在机器人控制过程中无需编写繁杂的程序代码,在SimuLink中通过搭建各个控制模块,然后将控制模块转换成C语言程序下载到控制器中,就可以实现机器人的运动控制。
(2)与传统的EtherCAT控制技术相比,本实验设计的基于SimuLink Real Time的EtherCAT实时控制技术元需专用的伺服设备来控制,使用一般的伺服驱动器即可实现机器人的运动控制,提高了EtherCAT实时控制技术的适应性与便捷性。
参考考文
[1] SUNG M, KIM K, JIN H W, et al. An EtherCAT-based motor drive for high precision motion systems[C]//Industrial Informatics(INDIN), 2011 9th IEEE International Conference on. IEEE,2011: 163-168.
[2] MA J, XING B, CHEN S. Multi-DOF Motion Control System Design and Realization Based on EtherCAT[C]//Instrumentation &Measurement, Computer, Communication and Control (IMCCC),2016 Sixth International Conference on. IEEE, 2016: 727-732.
[3] DELGADO R, KIM S Y, YOU B J, et al. An EtherCAT-based real-time motion control system in mobile robot application[C]//Ubiquitous Robots and Ambient Intelligence (URAI), 2016 13th International Conference on. IEEE, 2016: 710-715.
[4] ROSTAN M, CANopen over EtherCAT–taking a CAN technology to the next level[C]//Proc. IEEE Int. Conf Comm. 2005.
[5] Gold Line EtherCAT Application Manual[Z].2012
[6] PARK S M, KIM H, KIM H W, et al. Synchronization Improvement of Distributed Clocks in EtherCAT Networks[J]. IEEE Communications Letters, 2017(99):1.
[7]LIU X, MIN H, CHEN Y D, et al. Design of industrial robot controller based on ethercat[J]. Computer Engineering, 2012, 38(11): 290-293
[8] FENG T, LI Q, REN G, et al. The implementation of distributed high-speed high-accuracy data acquisition system based on EtherCAT[C]//Industrial Electronics and Applications (ICIEA),2013 8th IEEE Conference on. IEEE, 2013: 1649-1653.
[9] KANG C, PANG Y, MA C, et al. Design of EtherCAT slave module[C]//Mechatronics and Automation (ICMA), 2011 International Conference on. IEEE, 2011: 1600-1604.
[10] GAO N N, WANG D Q, DING M W, et al. Control System Design and Trajectory Planning for SCARA Robots[J]. Applied Mechanics& Materials, 2014, 602-605:1001-1005.