房立金,许继谦,高 跃,赵乾坤,郭 铖,钱奕安
(1.东北大学机器人科学与工程学院,沈阳 110819;2.东北大学机械工程与自动化学院,沈阳 110819)
一般的工业机械臂在进行装配操作时,经常会遇到精度不高的问题。目前针对这一问题的普遍解决方法是额外制作一套高精度的执行机构安装在机械臂末端,进行位置的矫正并提高作业精度。
尽管采用谐波或RV 减速器极大地提高了机器人的精度,但机器人长时间运行时存在磨损,在机械臂高速运行状态下,传动间隙的影响依然存在,可能会引起系统震荡从而导致系统无法工作,严重时可能会损坏设备结构[1]。
此外,目前用于装配的机械臂的电机、减速器等零件单价较高,且经过长期使用磨损后精度降低,如果更换减速器,则会造成机器人使用成本的增加。
针对以上问题,本文提出一种多电机共轴驱动的七自由度机械臂,在机械臂的腰、肩、肘关节处布置了双电机共轴驱动的关节结构。一方面,可通过电机的消隙控制提高机械臂自身的运动精度;另一方面可以通过电机的同步控制提高机械臂的负载能力。文中提出一种机械臂的主要结构以及针对多电机驱动的消隙和同步控制的方法,并基于ROS 和EtherCAT总线技术,给出了机械臂控制系统的总体设计。
机械臂采用七自由度结构,利用冗余自由度的自运动特性,克服传统六轴工业机器人在避障、运动灵活性等方面的缺点,提高机械臂运动的灵活性。
双电机共轴驱动的目的主要有两个方面:一方面是消除传动间隙对机器人精度的影响;另一方面是在一定程度上提升机器人的负载能力。基于此,在机械臂的腰关节、肩关节、肘关节等大负载关节,采用双电机伺服驱动技术。其他关节采用带有谐波减速器的关节结构,实现轻载关节的轻量、紧凑结构设计,总体上兼顾了机械臂的负载能力、紧凑性及灵活性。机械臂样机的总体结构如图1所示,结构简图见图2,D–H 参数见表1。
表1 机械臂的D–H 参数Table 1 D–H parameters of robotic arm
图1 机械臂样机Fig.1 Robotic arm
图2 机械臂结构图Fig.2 Robotic arm structure diagram
双电机共轴驱动通过两台驱动电机按照对称结构带动两个驱动轮共同驱动从动轮,在伺服系统启动或换向的过程中,对两台驱动电机的输出转矩进行联动控制,使得至少有一个驱动轮与从动轮相啮合,保证系统无间隙传动。
在结构设计中,利用双电机驱动渐开线齿轮传动机构来代替高精度的RV 减速器或谐波减速器来实现关节的高精度传动。
如图3所示,关节上包括两组伺服电机和行星减速机构,驱动部件均安装在支撑座内部,两组电机对称布置在支撑座的左右两端,并分别与共轴驱动齿轮组啮合,输出端添加了绝对位置编码器。共轴驱动齿轮安装有力矩传感器,用以测量关节力矩,经过连接法兰与采用交叉滚子轴承支撑的输出轴法兰相连接。双电机系统的传动原理如图4所示[2]。
图3 双电机共轴关节结构示意图Fig.3 Schematic diagram of dual-motor coaxial joint structure
图4 双电机伺服驱动关节原理[2]Fig.4 Principle of dual-motor servo drive joints[2]
所设计的双电机关节均采用了较为常规的电机与减速器,相比单电机关节的高精度机械臂所采用的电机与减速器,更有利于降低机器人的使用成本。
双电机消隙传动方式的基本原理是控制双电机的输出力矩,既要保证跟踪目标轨迹,又要保证任意时刻至少有一个驱动齿轮与负载齿轮啮合,在此基础上最大限度地提高双电机的能量利用率。根据双电机原理划分出相应的状态或模式进行控制。
为了更好地分析双电机驱动系统的工作情况,本文依据消隙过程中的齿轮啮合情况,将齿轮啮合状态划分为异侧齿面啮合状态 (图5(a),状态DS)和同侧齿面啮合状态(图5(b),状态SS)。同侧齿面啮合由正向齿面啮合和反向齿面啮合两种不同的状态组成。将正向同侧齿面啮合的状态称为正向状态SS,将反向同侧齿面啮合的状态称为反向状态SS。因此,可以将消隙过程用“状态DS”、“正向状态SS”、“反向状态SS”来描述。图5中,T1、T2为扭矩;ω为角速度;Tb为负载力矩;Td为扰动力矩。Tb、Td的方向和大小有多种不同的组合。
图5 轮齿啮合状态Fig.5 Gear tooth meshing state
综合考察系统从静止、正向加速、匀速运动、减速、反向加速、匀速运动、减速再到静止的整个作用过程,可以按照以下状态对其进行描述。
(1)自由静止状态:系统未受到任何作用,系统静止。
(2)状态DS:主从电机输出大小相等、方向相反的力矩消除间隙,系统静止。
(3)状态DS:主电机输出正向驱动力,从电机输出反向对抗补偿力矩,系统加速。
(4)正向状态SS:主从电机共同输出正向驱动力矩,系统加速。
(5)状态DS:主从电机力矩达到平衡状态,系统匀速运动。
(6)状态DS:从电机输出反向制动力矩,主电机输出正向对抗补偿力矩,系统减速以及反向加速。
(7)反向状态SS:主从电机共同输出反向力矩,系统反向加速。
(8)状态DS:主从电机力矩再次达到平衡状态,系统反向匀速运动。
(9)状态DS:主电机输出正向制动力矩,从电机输出反向对抗补偿力矩,系统减速。
(10)正向状态SS:主从电机共同输出减速制动力矩,系统减速。
(11)状态DS:从电机输出制动力矩,主电机输出对抗力矩,处于力矩平衡状态,系统静止。
上述双电机消隙过程是动态的,需要实时动态地调整两台电机的输出力矩,系统需要经历从状态DS 和状态SS 之间的多次切换过渡。
上述状态之间的切换需要根据位置控制目标、负载状态以及电机当前状态等综合情况来进行,控制过程比较复杂,采取简单的控制手段难以完成两台电机输出力矩的协调控制。
双电机驱动消隙方法具有以下优点[1]。
(1)能够有效消除传动间隙所导致的定位精度误差,即使齿轮间隙由于系统长时间运行增大后,也不会影响系统的定位精度。
(2)采用普通精度的减速齿轮箱代替了具有机械消隙功能的高精度减速机构,减小了驱动系统的成本,不需要定期调整机械消隙机构,维护成本降低。
(3)应用两套伺服驱动系统共同承担系统负载,每个伺服电机仅负担最大功率的1/2,可以选择较小的伺服电机和伺服驱动器。
(4)采用双电机消隙方法可以有效解决伺服电机驱动负载频繁换向,难以克服由间隙造成的瞬态误差的问题。
双电机系统的变偏置力矩控制原理如图6所示(其中,nset为设定转速;nact1为电机1 转速;nact2为电机2转速)。
主动轴与从动轴电机均采用速度控制方式,在电机速度控制的基础上,建立位置控制环[3]。其中PI 控制器能够均衡扰动负载,补偿电压控制器,同时控制主从轴之间的偏置力矩。主从轴电流调节器的输入信号插值经过PI 控制器运算输出,作为附加的速度以相反符号分别反馈至主从轴的速度设定点,调节主从轴间的扭矩平衡分配形成力矩同步控制。
消隙偏置电压Ubias经过滤波器和PI 控制器后,作为设定的速度,分别以相反的符号作用于主轴和从轴,间接作用于电流调节器,使得主从轴之间形成偏置力矩来消除反向间隙。
图6中虚线框内即为双电机偏置电压的计算过程,将实时检测的负载电流取绝对值后,选择较大的电流值作为转换函数的输入值,输入电流iabs为
图6 双电机变偏置力矩控制结构框图[3]Fig.6 Block diagram of dual-motor variable bias torque control structure[3]
式中,i1和i2分别为电机1 和2 的负载电流。
为了能够实现消隙控制与同步控制的切换,控制器中引入了一个转换函数w,即
式中,iset1、iset2分别为转换函数中电流设定值。
Uconst为设定的补偿电压;Uconst与w相乘后形成动态偏置电压Ubias,Ubias∈[0,Uconst],偏置电压值叠加作用在速度环给定处,在电机的输出端形成偏置力矩Tbias∈[0,T0];T0为补偿电压Uconst对应的偏置力矩值。根据偏置电压的计算方法,可以计算出偏置力矩控制下,双电机驱动系统正向运动时电机输出力矩的大小。
电机1 和2 的输出力矩分别为T1和T2,Tc为位置控制器算出的转矩控制量,可根据对抗程度进行选择。电机反向驱动时,电机的力矩与正向驱动同理,由以上分析得知,系统运动过程中,两电机在任意时刻输出的力矩均满足响应的力矩分配关系,满足消隙控制阶段、消隙控制与共同驱动相互转换的过渡阶段和共同驱动控制阶段的力矩输出要求。
双电机系统中电机之间形成的偏置力矩是消除传动间隙的关键,不同工作状态下的消隙作用与偏置力矩的关系较为复杂,为了应用方便并保证消隙效果,工程中常选择较大的偏置力矩值,通常选择电机额定扭矩的10%~30%作为消隙补偿力矩[2]。
采用的同步控制方法可以使系统输出较大的偏置力矩用于消隙,同时降低静态偏置力矩减小能耗,并在无间隙表现时具备大力矩输出能力,通过设置合理的电流设定值,即可得到相应的转换函数。
在双永磁同步电机系统中,常会因为传动链的扭转刚度特性差异和电机所受的负载扰动的不同,电机之间存在一定概率的转速差,刚性连接非常容易激发差速震荡从而影响系统的稳定性,严重时还可能会损坏设备结构[4]。因此,需要提高控制系统的抗干扰性,从而减小驱动电机之间的速度同步误差,减小差速震荡的可能性。
目前,关于双电机系统转速同步控制主要集中在控制结构与控制策略两个部分。关于控制结构的研究主要有并行控制方式[5]、主从控制方式[6]、交叉耦合控制方式[7],如图7所示 (其中,ωref为给定角速度;ω1为电机1 角速度;ω2为电机2 角速度;K1、K2为两台电机角速度测量的系数;TL1、TL2分别为两台电机的负载转矩)。
图7 双电机系统转速同步控制方式Fig.7 Synchronous control modes of dual-motor speed
控制策略方面,由于PI 控制具有结构简单、性能稳定的特性,在工业中的各个领域得到了广泛的应用。随着电子信息技术的逐渐发展,先进的控制算法逐步应用于双电机同步控制策略,如自适应控制[8]、神经网络[9]、非线性高增益补偿器[10]和模糊控制[11]等,但先进的控制算法往往依赖于控制对象模型的精度,在实际系统中存在很大的不稳定性,影响了控制效果。
基于以上分析,为了实现消隙控制与双电机同步控制之间的平衡转换,采用主从控制结构的同步控制策略,并应用PI 控制方法,通过设计合理的转换函数,使消隙控制阶段、消隙控制与共同驱动相互转换的过渡阶段和共同驱动控制3 个阶段根据系统实际工作状态以及相应的转换函数相互转换。
为了提高整个机械臂工作时的实时性,在七自由度机械臂的控制系统设计中,采用了基于ROS 和EtherCAT总线的工业机器人控制系统,应用于Preempt_rt 实时框架下搭建的IgH EtherCAT 主站。
硬件系统通信采用了EtherCAT总线形式,其中腰关节、肩关节、肘关节采用的是前文中所设计的双电机驱动关节,末端的4 个关节采用了新松协作型机械臂的单电机驱动关节。
双电机关节各采用了两个EtherCAT 从站分别控制两个电机;末端4 个关节采用了CAN 总线控制方式,通过所设计的EtherCAT 和CAN 总线转换器,实现了末端4 个关节与整机的通信。工控机作为主站实现了整个机械臂的控制。硬件连接如图8所示。
图8 控制系统硬件整体架构Fig.8 Overall hardware architecture of control system
控制系统软件框架包括ROS和EtherCAT 两个部分,其中ROS包括了人机界面、界面命令处理节点、MoveIt!、ros_control 4 个部分,EtherCAT 包括了IgH 主站和EtherCAT从站两个部分[12]。
用户程序在安装了Preempt_rt实时内核的Linux 系统下,完成了EtherCAT 主站控制的目标,并利用EtherCAT 总线实现了主站和从站的网络通信,从站控制器ESC 的配置、PDI 接口程序和STM32 应用程序等构成EtherCAT 通讯程序和Cia402应用程序组成了STM32 应用程序。
软件架构如图9所示,用户通过人机交互界面对机器人发出控制指令,经过界面命令处理节点后,MoveIt!对笛卡尔坐标下的控制指令进行运动学的规划、求解,再使用“Controller manager”对规划好的轨迹进行插值计算,将关节坐标系下的控制指令传给控制器进行计算,然后将关节角度传给机器人硬件抽象节点,将关节角度映射成电机转角,利用线程通信传给IgH 用户程序,再由EtherCAT 总线传送给ESC 芯片,ESC 芯片将命令传送给STM32 芯片,最后经过CoE 应用程序计算处理后通过硬件输出控制电机进而控制机器人。
图9 控制系统软件架构Fig.9 Software architecture of control system
主站主要负担整个EtherCAT 网络中的控制任务,在安装了Preempt_rt实时内核的Linux 系统上,进行IgH主站的设计。
用户程序接口可以将总线配置应用到主站,而总线和从站配置完成主站的配置。总线配置包含domain配置和SM 配置;从站配置需要通过应用程序告诉IgH 主站总线拓扑结构,然后提供供应商ID 和产品代码。
ecrt_master_create_domain() 函数创建IgH 主站的数据域,其返回值为指向数据域首地址的指针。将机械臂的7 个轴共10 个伺服电机使用PDO 对象在应用程序中通过结构体的形式定义好,然后通过PDO 注册函数ecrt_domain_reg_pdo_entry_list()将创建的domain 与上述创建的PDO结构体关联。这样通过操作数据域指针,就可以极为方便地完成所有PDO 数据的交换。
SM 的配置包括配置PDO 与传输方向。机械臂的7 个轴采用一样的对象字典,所以7 个轴的PDO 配置相同。
ecrt_master_slave_config() 函数实现从站在总线位置和ID 的配置。将驱动器配置为CSP 模式,采用rt_task_create()配置实时任务名称和优先级等。
用户程序初始化与配置完成后,进行实时性周期任务程序的设计。IgH 主站在从站将数据报文返回给主站后,开始检查数据域和主站状态,假如两项均正常,则与从站配合实现Cia402 的切换,当Cia402 达到OP 状态后,主站读取从站返回数据报文中的电机实际位置和数字输入,并将ROS 规划好的目标位置映射到PDO,再通过LRW 逻辑寻址报文发送给从站,完成一个伺服控制周期,如图10 所示。
图10 IgH 主站用户层软件流程Fig.10 IgH master user layer software flow
根据功能类型,可以将从站设计分为数据通信和应用程序两个部分。
主站发送EtherCAT 报文给LAN 9252 中的ESC,ESC 对报文进行处理后,将得到的数据存放于DPRAM中,并经过PDI 接口将数据传送给STM32进行报文处理。若为邮箱数据,则直接存入处理器的本地内存;若为过程数据,则将数据赋值给本地内存。Cia402 应用函数根据本地内存的数据调用FOC 算法,从而控制伺服电机,如图11 所示。
图11 从站软件总体结构Fig.11 Overall structure of slave station software
机器人的重复定位精度是验证机械臂的高精度性能标准之一,根据GB/T 12642—2013《工业机器人性能规范及其试验方法》中规定,机械臂的重复定位精度为
式中,
式中,、和是对同一位姿重复响应n次之后所得到的各点集群中心的坐标;xj、yj和zj是第j次实际到达位置的坐标。
如图12 所示,测量重复定位精度采用的是LTD 500 激光跟踪测量系统,应用前文所述的消隙控制算法,在机械臂末端施加10 kg 负载,根据上述测试标准在机械臂的工作空间内选取一个平面内的5 个点测量其位置坐标,重复测量30 次。表2给出了各测试点的机械臂重复定位精度。根据式 (5),由表2可知,该机械臂最大重复定位精度误差(±0.0591 mm)出现在测试点3,最小重复定位精度误差 (±0.0230 mm)出现在测试点5。由于该机械臂构型以及结构强度设计均以七自由度协作机器人为模板,而典型七自由度协作机器人(Rethink Sawyer、Kuka iiwa)的重复定位精度为±0.1 mm。因此,本文提出的机械臂在重复定位精度指标测试中表现更优,同时也验证了本文所提出的双电机共轴驱动消隙算法的有效性。
表2 不同测量点的机械臂重复定位精度Table 2 Repeated positioning accuracy of the robotic arm at different measuring points
图12 重复定位精度测量试验Fig.12 Repeat positioning accuracy measurement experiment
本文基于双电机共轴驱动原理,提出并研制出一种新型多电机驱动的七自由度机械臂。机械臂的腰、肩、肘关节采用双电机共轴驱动,在关节上采用消隙及同步控制,可从原理上提高机械臂的传动精度和承载能力。机械臂整机的重复精度测量结果表明,本机械臂在精度上具有一定的优势。