分享
基于EtherCAT和Ma...b的协作机器人控制系统设计_周楷文.pdf
下载文档

ID:2248116

大小:1.97MB

页数:3页

格式:PDF

时间:2023-05-04

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 EtherCAT Ma 协作 机器人 控制系统 设计 周楷文
摘要:针对现有机器人控制系统开放性差、研发周期长等缺点,设计了基于EtherCAT和Matlab的协作机器人实时控制系统,利用Matlab搭建机器人控制器,实现正运动学、逆运动学以及轨迹规划,并通过EtherCAT总线的高实时性实现机器人各关节控制与数据反馈。最后利用同步位置模式进行轨迹规划控制,结合Matlab的Scope图像化工具观测和验证系统执行情况。结果表明基于EtherCAT和Matlab的协作机器人控制系统可缩短机器人控制系统研发周期,提高研发效率。关键词:协作机器人;开放式控制系统;EtherCAT;MatlabAbstract:To address the shortcomings of the existing robot control system such as poor openness and long develop-ment cycle,this paper designs a real-time control system for collaborative robot based on EtherCAT and Matlab,builts arobot controller using Matlab,realizes robot kinematics and trajectory planning,and realizes the control and data feedbackof each joint of the robot through the high real-time performance of EtherCAT bus.Finally,the trajectory planning control isperformed by using synchronous position mode,and the system execution is observed and verified by combining MatlabsScope visualization tool.The results show that the collaborative robot control system based on EtherCAT and Matlab canreduce the robot control system development cycle and improve the development efficiency.Keywords:collaborative robot,open control system,EtherCAT,Matlab机器人控制系统是机器人技术的核心,它包括控制机器人运动的各种硬件和软件。在早期的机器人控制系统研究中,各大机器人生产制造厂商运用自家生产的运动控制器、自定义通信方式甚至特定的编程语言等去研发机器人控制系统,这就导致各厂机器人运动控制算法开放程度较低,出现基础软硬件不能相互适配等问题。随着外界对于开放式控制系统的需求越来越大,开放式的机器控制系统逐渐出现1。开放式系统能够对系统进行二次开发,方便研发人员在现有控制系统的基础上根据自己需求加入功能2。传统的机器人控制系统不开源,二次开发难度大,针对机器人控制系统底层协议不开放、机器人控制算法不开源等问题,本文提出一种基于EtherCAT和Matlab的协作机器人控制系统。该系统具有良好的开放式结构,且控制机器人底层控制协议和上层机器人控制算法对外开放,能够提高机器人控制系统研发周期。该系统利用Matlab作为上位机,并在ARM Cortex-M7嵌入式处理器搭建EtherCAT主站作为机器人控制数据传输中转站,并以高速EtherCAT现场总线作为数据传输媒介,最终实现对协作机器人控制。在Matlab上能够实现机器人的正运动学、逆运动学以及轨迹规划算法,同时能够利用Matlab中Simulink的Scope工具实时显示机器人各轴运行数据。1机器人控制系统设计1.1控制系统框架机器人控制系统主要由上位机,EtherCAT主站以及机器人本体构成。上位机作为机器人运动控制器,通常以PC机作为控制平台,使用Windows操作系统,安装Matlab。同时机器人各个关节对数据采集和传输的实时性要求高,所以通过EtherCAT现场总线将机器人六个关节互连。每个关节作为一个EtherCAT从站,从站之间通过网线连接。在ARM Cortex-M7嵌入式处理器搭建EtherCAT主站,并采用SOEM作为主站协议包。主站通过工业以太网与各从站连接,以实现机器人各关节的协同控制。同时主站将采集的从站关节数据通过CAN总线传输给上位机。控制系统总体方案如图1所示。协作机器人各个关节模组集成的驱动器都带有Ether-CAT接口3,并支持CoE(CANopen on EtherCAT)协议,能够在保持整个系统控制实时性的同时简化各个关节结构4。图1控制系统总体方案1.2机器人运动控制器设计机器人运动控制算法在上位机来实现,负责机器人系统整体控制逻辑,机器人控制器软件架构如图2所示。在Matlab中的Simulink来搭建机器人正运动学、逆运动学和轨迹规划等运动控制模型,并通过Simulink Coder代码生成工具,来将模型编译生成可执行代码,最后运行在Simulink实时内核中。在模型运行过程中可以通过CAN通信模块与EtherCAT主站进行数据交互。轨迹规划模型通过给定的起点和终点位置进行插补运算,计算出机器人运动轨迹路径中的插补点,并加入运动控制队列中。在机器人运行过程中,获取队列中的插补点,经机器人运动基于 EtherCAT 和 Matlab 的协作机器人控制系统设计周楷文黄家才蔡秋生(南京工程学院工业中心、创新创业学院,江苏 南京211167)Design of Collaborative Robot Control System Based on EtherCAT and Matlab图2机器人控制器软件架构基于EtherCAT和Matlab的协作机器人控制系统设计68工业控制计算机2023年第36卷第1期学逆解将插补点解算成六个关节运动数据,并通过CAN通信模型将各个关节运动数据通过CAN总线发送给EtherCAT主站。最后EtherCAT主站通过EtherCAT总线将关节运动数据发送给关节驱动器,驱动关节电机旋转,从而让机器人到达给定位姿。同时上位机也能够实时采集各关节运动数据,通过机器人正解模型计算出机器人末端位置曲线,并通过Simulink中的示波器工具实时显示机器人各关节运动曲线。1.3 EtherCAT主站设计本系统中EtherCAT主站作为一个通信网关,承当机器人控制数据转发的功能。主站硬件层面带有标准以太网接口和CAN接口,可以完成EtherCAT总线通信和CAN总线通信。EtherCAT主站架构图如图3所示:图3EtherCAT主站架构图EtherCAT主站采用SOEM开源EtherCAT软件库来实现EtherCAT主站通信功能,并向应用层提供接收和发送函数5。应用层通过调用相应的函数来完成与从站设备实时数据交互,从而实现控制指令的下发和获取从站关节电机的位置、电流等相关信息等功能,同时主站通过CAN总线通信实时与上位机进行数据交互,接收上位机计算出的各关节运动控制数据,并将各关节电机数据反馈给上位机。EtherCAT协议采用一主多从的通信模型,可以在带有标准以太网接口的设备实现EtherCAT通信6。在本系统中,Ether-CAT主站硬件平台为ARM Cortex-M7架构嵌入式处理器,并移植开源主站软件SOEM,从而实现EtherCAT协议栈,完成与机器人各关节通信的功能,同时主站带有CAN接口,通过CAN协议接收上位机各关节角度信息,并通过EtherCAT协议将各关节角度值发送给对应关节。主站通信流程如图4所示。整个流程包括主站初始化、周期性事件循环两大部分。因为主站涉及到EtherCAT通信和CAN通信,所以需要配置对应资源进行初始化。主站初始化过程中需要对CAN总线和EtherCAT总线的相关资源进行初始化。对于CAN总线通信,需要配置波特率,时钟、通信模式、接收和发送邮箱等参数。对于EtherCAT总线通信,需要对EtherCAT协议栈、网卡设备等设备进行初始化,并通过顺序寻址的方式配置从站设备的相关信息,并将找到的从站设备进行地址映射,使得在同步位置模式下可以对从站进行逻辑寻址7。EtherCAT状态机负责协调主站和从站应用程序在初始化和运行时的状态关系,从初始化状态到运行状态转换时,需要严格按照初始化、预运行、安全运行以及运行四个步骤顺序运行。各个状态的转换由主站来发起,同时通过观察主站对应返回的状态字来判断所有设备是否达到对应状态8。周期事件循环的运行周期由嵌入式处理器的定时器中断来控制,在每个事件循环中交换PDO过程数据,将主站的关节位置控制指令写入过程数据,调用EtherCAT发送函数,将控制指令发送给从站,同时也可以调用EtherCAT接收读取过程数据,从而获得从站的为位置反馈数据,完成与机器人各关节的数据交互。2机器人控制系统测试本实验机器人运动控制器采用PC机,用Matlab作为上位机控制软件,并在ARM Cortex-M7嵌入式处理器搭建Ether-CAT主站。协作机器人一共有六个关节,每个关节模组带有EtherCAT接口作为从站。同时基于线性网络拓扑结构搭建了一主六从的机器人控制系统,采用同步位置控制模式控制六个从站的关节电机的转动角度。为减少机器人运行过程中的计算量,提高系统实时性,从而选用三次多项式差值来计算运行中的路径点。根据表1的机器人路径点进行关节空间三次多项式轨迹规划,插补周期设置为6 ms9。经过仿真后得到第五个关节位置给定曲线如图5所示。表1各关节角度预期值()图5第五轴位置给定曲线上位机运行轨迹规划模型并将计算出的各关节位置给定数据,通过CAN总线将发送给EtherCAT主站。主站运行在同步位置控制模式,在接收到关节运动数据之后,通过EtherCAT总线给机器人各关节模组发送位置控制指令。关节模组接收到位置指令之后进行位置闭环,驱动关节电机运行带给定位置。从站的位置数据也可以通过EtherCAT主站反馈给上位机。关节电机位置数据通过Matlab/Simulink的Scope工具保存,并进行绘图。以第五轴作为观测轴,整体位置给定与跟随曲线如图6所图4EtherCAT主站运行流程图69(上接第67页)各个逻辑核的CPU使用情况相对于单核场景下CPU使用率85.16%都有所降低,但是出现了某些逻辑核负载过重、流量分配不均衡的问题,图7中逻辑核1和逻辑核2的CPU使用率相差 的 近40%,10次 测 试 结 果 的CPU使 用 率 的 均 方 差 为334.48。在相同的测试环境下,通过双hash负载均衡算法得到的CPU使用情况如图8所示:图8双hash负载均衡算法下CPU使用情况从图8可以看出使用双哈希算法,各个逻辑核的CPU使用情况相对于单核场景下有了大幅降低,且相比于对称RSS分流机制,流量分配更均衡,基本在50%左右小幅波动,10次的测试结果的CPU使用率的均方差仅为23.92,所以表明该双hash负载均衡算法对于当前高速网络环境负载均衡效果理想。4结束语为了解决DPDK数据处理使用RSS和对称RSS出现负载不均衡问题,本文提出了一种双hash负载均衡算法,改善了RSS和对称RSS的负载不均衡。和对称RSS性能相比,双hash负载均衡算法在保证同一链路上的双向数据流分配给同一逻辑核的前提下,分流更均衡,10次实验结果的CPU使用率的均方差仅为23.92,而对称RSS的CPU使用率的均方差为334.48。该算法对当前的高速网络环境下解决负载均衡问题具有一定应用价值。参考文献1LIN H,YAN Z,CHEN Y,et al.A survey on network securi-ty-related dat

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开