机器人的零力控制,定义为机器人顺应外力作用运动就好像它处在一个不受重力和摩擦力的环境下的控制。

一些常规的中小型机械臂可以不需要外部力传感器也可以实现基于力矩控制的拖动示教,重要在于重力项和摩擦力的补偿。

之前的文章以第三轴为例介绍了一种低速动态平衡的方法辨识重力项。本文将继续介绍第二轴的参数辨识,在前面的基础上实现了机器人的拖动技术。

一、问题分析

机器人本体如图所示,采用谐波减速器和交流伺服电机,上位机(控制系统)和驱动器的通信接口是EtherCAT。

总线型驱动器和控制系统的优势之一在于控制模式可以随机切换,伺服电机可以工作在位置、速度、转矩三种模式下,其中转矩模式本质上是控制电机的电枢电流。机器人力矩控制的基础是机器人的动力学模型。

本文采用力矩控制实现拖动示教的基本思路是,使电机工作在转矩模式下(电流环),电机的输出转矩(经过减速机构)补偿机械臂的重力矩及摩擦力矩,这样用户就可以从任意位置轻松地拖动机器人。

这种方式很直观,但会存在一些不足之处:首先,用户从静止拖动机器人时,会存在一个最大静摩擦力的问题;另外,没有关节转矩传感器的存在,实际上从机器人系统来看转矩控制是开环模式,因此这种方法依赖于辨识精度,若辨识的准确度不够,则控制器的输出力矩偏大或偏小都可能导致拖动效果差。不过,尽管如此,这种方法的实用性还是挺不错的。

在末端负载不大的情况下,按照常规的安装方式,这类构型的机械臂的重力项补偿主要考虑大臂和小臂,即第2轴和第3轴的关节力矩补偿,这样可以简化为二连杆模型。

如果比较精确地已知机器人的动力学参数包括每个连杆的质心坐标和质量,那么可以直接通过牛顿欧拉迭代法或者拉格朗日法计算出每个连杆所需的重力项补偿值。

然而,在某些情况下,由于机器人本体的某些原因导致连杆的动力学参数无法直接获得,或者参数与实际偏差较大,那就需要重新辨识连杆的质心和质量来实现满意的拖动示教等功能。

许多未知因素的存在,获得完整精确的机器人动力学模型是几乎不可能的事情,因此需要辨识动力学参数。

图1:标准六轴机器人

二、辨识方法

图2:二连杆模型受力示意图

经过推导,在只考虑重力情况下,二连杆机器人的动力学模型为

这里,

,可能零位不同会导致正余弦值有区别;

分别为等效的重力项系数,由连杆的质量和质心位置构成。在第3轴的参数已经辨识出来即

已经确定的基础上,本文继续采用称为低速动态平衡的方法来辨识第2轴的参数,关节2处于低速运动时,可以近似满足方程(1),运动过程中如果始终保持匀速,则可以认为摩擦力近似不变。具体过程包含以下几步

移动第3轴处于竖直位置,即第三轴为-90度,然后固定第3轴不动;

此时对于第2轴来说,有

让第2轴的电机处于位置模式下以低速运动(小于5度每秒),遍历整个活动范围,以一定的周期采集运动过程中力矩、位置和速度等数据。

三、实验处理

对实验采集到的数进行分析和处理,画出输出的关节力矩随时间的变化曲线,如图3所示。

图3:第2轴的关节输出力矩随时间的变化曲线

然后通过线性拟合,得到第2轴的关节输出力矩随关节角度正弦值的变化曲线4,可以看出实验结果和预期基本一致,符合线性关系。

图4:第2轴的输出力矩随关节度正弦值的拟合曲线

根据方程,除去已经辨识出的第3轴参数,计算出第2轴的参重力矩参数估计值为29.4206Nm。

这里将正反转放在一起。为了实现拖动示教,对第2轴的补偿包括力矩和摩擦力矩,按照之前的方法,摩擦力矩的取法与关节速度成死区特性,即设定临界速度值超过某速超过这个值,则说明用户开始拖动机器人,应加入摩擦力的补偿值,摩擦力补偿值粗略地取为常数。

四、总结

由于控制伺服电机的力矩实际是控制电流值,而在1ms左右的控制周期显然带宽不够。不过按照这个思路,最后实现了低成本且效果不错的拖动示教。

相关文章