基于变参数阻抗控制的机器人恒力打磨研究*

2024-03-15 07:37
制造技术与机床 2024年3期
关键词:离线控制算法惯性

郑 帅 国 凯 孙 杰

(山东大学机械工程学院,山东 济南 250061)

随着制造业的持续发展,工业机器人加工逐渐成为现代制造业的重要支柱。使用工业机器人来替代人力进行抛磨,可以使工人远离打磨环境,并且提高打磨效率、打磨精度和一致性[1-3]。然而,由于机器人末端打磨执行器和工件通常刚度较高,较小的位移往往会引起较大的接触力变化[4]。较小的接触力会降低打磨的效率,较大的接触力则会降低工件表面质量,甚至损坏工件。为保证工件打磨表面质量和一致性,需要保证机器人末端具有柔顺性,以实现打磨接触力的恒定[5-7]。

机器人的柔顺力控制方法可以分为主动柔顺力控制和被动柔顺力控制两类[8]。被动柔顺力控制主要是通过在末端设计特定的柔顺机构,如弹簧、阻尼等组成的柔顺装置,对外部力进行顺从,从而被动地实现接触力的稳定变化。被动柔顺力控制的缺点是难以实现高精度和高复杂度的作业要求,且设计的柔顺机构难以很好地适用于不同的打磨环境。主动柔顺力控制主要是通过设计特定的控制策略,主动地控制机器人与环境的接触力。Hogan N[9]提出了阻抗控制思想,通过设计阻抗模型,使机器人的力和位置关系可以动态调节。然而,经典的阻抗控制算法因其阻抗参数恒定不变,难以适用于各种复杂多变的打磨环境[10]。Lakshminarayanan S 等[11]提出一种基于迭代学习的机器人阻抗控制方法,该方法在每次迭代中同时调节位置与力,可以实现机器人精密抛光过程的自适应力控制,然而该控制方法计算量较大,对控制器的实时性要求较高。

为了实现机器人自动化打磨的柔顺恒力控制,本文设计了阻抗参数在线调整与离线优化结合的自适应阻抗控制算法。首先将刚度参数作为时变参数根据接触力实时调整,以适应于不同的打磨环境,消除系统的稳态误差。针对阻抗控制算法的惯性参数、阻尼参数难以寻优的问题,提出一种改进粒子群算法优化阻抗参数的方法,提高阻抗控制性能。并通过仿真和实验分析,验证了算法的有效性。

1 变刚度参数自适应阻抗控制算法

1.1 阻抗控制介绍

阻抗控制方法主要分为基于力矩的阻抗控制和基于位置的阻抗控制两类[12-15]。基于力矩的阻抗控制是通过直接调节关节力矩实现接触力的控制,这需要获得机器人精确的动力学模型。而且目前许多工业机器人不支持直接控制关节力矩,因此在工业应用中多采用基于位置的阻抗控制进行机器人的力控制。

基于位置的阻抗控制方法是通过设计控制律,将机器人末端等效为图1 所示的二阶系统阻抗模型。将机器人末端的接触力误差,经由阻抗关系转化为机器人末端的位置修正量,通过修正机器人末端的参考轨迹,实现机器人末端的接触力控制。

基于位置的阻抗控制的阻抗关系可以表示为

式中:M为阻抗模型的期望惯性矩阵;B为期望阻尼矩阵;K为期望刚度矩阵;Xd为机器人末端位置期望值;X为机器人末端位置实际值;F和Fd分别为机器人末端与环境的实际接触力和期望接触力。

式(1)为空间六个自由度下的阻抗模型,可以将其解耦为某一自由度下的阻抗模型,表示为

式中:m、b、k分别为该自由度方向上的惯性参数、阻尼参数和刚度参数;x和xd分别为该自由度方向上的机器人末端实际值和期望值;f和fd分别为该自由度方向上的实际接触力和期望接触力。

基于位置的阻抗控制框图如图2 所示。

图2 基于位置的阻抗控制框图

1.2 变刚度参数的自适应阻抗控制

传统的阻抗控制方法,其刚度参数k、阻尼参数b和质量参数m是不随时间变化的[16-17]。当机器人接触环境发生变化时,固定的阻抗参数不再适用,难以实现较好的接触力跟踪效果。因此考虑将刚度参数k作为时变参数实时调整,以适应机器人复杂多变的接触环境,式(2)转化为

其中:k(t)表达随时间发生变化的刚度参数,定义为

式中:ef表示实际接触力f和期望接触力fd的误差;ka和kb为力误差参数和力误差微分参数。

将式(4)代入到式(3),可得

假设机器人能够实现精确的位置控制,当机器人与环境接触到达稳定状态时,力误差ef为0,从而消除系统的稳态误差。

2 阻抗参数离线优化

基于刚度参数实时调整的可变阻抗控制器可以根据力偏差来调节刚度参数k,以保证力稳态偏差接近为0,实现较好的力控效果。但阻抗控制模型作为一个虚拟的二阶弹簧–质量–阻尼系统,阻尼参数b和惯性参数m也是影响阻抗控制动态性能的关键参数。在传统的阻抗控制中,大多凭经验和试验选取这些阻抗参数,效率低下且难以得到最优解。近年来智能优化算法发展迅速,可将其用于阻抗参数的选取。

2.1 传统粒子群算法

粒子群算法是通过模拟鸟群觅食行为总结推导出的全局概率搜索优化算法。粒子群算法不断更新种群个体最优解和全局最优解,反复迭代最终得到最符合优化目标的最优解,具有收敛速度快、参数设置少、简单易行的特点。

粒子群算法的步骤如下。

第一步:种群初始化。设定种群的粒子数量,并为种群各粒子的位置、速度设定随机的初始值。

第二步:计算每个粒子的适应度,并对各粒子适应度进行评估,计算每个粒子的最优位置和所有粒子的最优位置。

第三步:更新每个粒子的速度、位置状态。速度更新公式为

式中:xi为需要优化的参数;w为惯性权重;vi为每一代粒子移动的速度;pi为第i个粒子的历史最优位置;pg为所有粒子的全局最优位置;c1、c2为学习因子;r1、r2为0~1 的随机数。

位置更新公式为

第四步:根据每个粒子的位置,更新自身最优位置和群体最优位置。

第五步:判断是否迭代、是否运行到达到最大迭代次数的优化目标,达到迭代次数则输出全局最优解pg,否则返回到第三步重复执行第三步和第四步。

2.2 改进粒子群算法

惯性权重w是粒子群算法中的关键参数,较大的惯性权重会增强算法的全局搜索能力,较小的惯性权重会增强算法的局部搜索能力。传统的粒子群算法采用固定的惯性权重,前期容易陷入局部最优,后期容易在全局最优粒子附近振荡。为此,提出一种非线性递减的自适应惯性权重:

式中:t为当前迭代次数,T为算法设定的最大迭代次数。

采用非线性递减惯性权重,可以加强前期算法的全局搜索能力以避免早熟,同时使后期粒子稳定在最优解附近。

除了惯性权重之外,粒子群初始化的分布均匀性,也是影响算法效果的关键因素。一般情况下,粒子初始分布越均匀,粒子种群越具有多样性,粒子群算法的收敛性越好。

混沌映射可以取代传统粒子群算法中的伪随机数生成器,用于生成0~1 的混沌随机数。使用混沌映射初始化粒子,往往能得到初始分布更均匀的粒子,取得比伪随机数更好的效果。本文采用Sine混沌映射初始化粒子群算法,对阻抗参数进行优化。

首先随机生成若干个在0~1 的混沌数z1,将混沌数x1通过Sine 混沌迭代公式得到混沌数z2,Sine 混沌迭代公式为

其中:控制参数α的取值范围为0~1,这里取α=1。

混沌数c需要映射到粒子分布区间,混沌映射公式为

式中:xmin表示粒子分布区间下限值,xmax表示粒子分布区间上限值。

将混沌数z2使用混沌映射公式映射到粒子的取值区间,得到各粒子的初始值x2,完成粒子种群的初始化。

改进粒子群算法的算法流程图如图3 所示。

图3 改进粒子群算法流程图

2.3 适应度函数设计

改进粒子群算法作为一种群智能优化算法,适应度函数是衡量粒子优劣的指标。适应度函数的优劣决定寻优质量,通常需要根据算法应用具体场景来制定。在本文研究的阻抗控制恒力打磨任务下,影响打磨质量的主要因素为打磨过程的力控制稳态误差和系统超调量,影响打磨效率的主要因素为恒力控制的调节时间。变刚度参数的自适应阻抗控制算法理论上可以消除打磨力稳态误差,因此将打磨过程的力超调量和调节时间作为优化目标,采取如式(11)所示的二次型适应度函数。

式中:ts为恒力打磨过程调节时间;σ为力超调量;k1、k2为权重参数。

2.4 阻抗参数在线调整与离线优化结合

刚度参数在线调整的自适应阻抗控制算法可以消除力稳态误差,采用改进粒子群算法对惯性参数和阻尼参数优化可以降低力超调量和调节时间。考虑将二者结合,提出一种阻抗参数在线调整与离线优化结合的阻抗控制算法,以提高综合力控性能,算法流程图如图4 所示。

图4 算法流程图

3 仿真与分析

使用Webots2020 中的UR5e 机器人作为仿真对象,搭建图5 所示的打磨仿真环境。机器人控制器由Matlab 代码编写,并利用Matlab 机器人工具箱求解机器人运动学正逆解。

图5 Webots 打磨仿真环境

为模拟复杂的打磨环境,将打磨工件表面设置为正弦函数和余弦函数叠加的复杂表面,设置环境位置为

机器人的期望打磨轨迹设计为xy平面的圆形打磨轨迹:

在仿真中难以直接获取打磨接触力数据,因此将环境等效为弹簧,等效环境刚度ke设为5 000 N/m,通过胡克定律,打磨接触力f可以表示为

式中:z为机器人末端实际z向位置;ze为z向环境位置。

3.1 变刚度参数阻抗控制算法仿真

首先根据经验多次整定阻抗参数,选取一组较为合适的阻抗参数值,期望接触力设置为20 N,分别进行经典阻抗控制算法和变刚度参数阻抗控制算法的打磨仿真。其中,传统的阻抗控制算法仿真中,采用经验整定的阻抗参数,刚度参数k选取为10,阻尼参数b选取为15,惯性参数m选取为0.5;变刚度参数阻抗算法仿真中,刚度参数k实时调整,阻尼参数b选取为15,惯性参数m选取为0.5。在前文所述的打磨环境中仿真,接触力曲线如图6 和图7 所示。

图6 经典阻抗控制算法仿真曲线

图7 自适应阻抗控制算法仿真曲线

由仿真曲线可以看出,变刚度参数的自适应阻抗控制算法,相比于经典阻抗控制算法,能够有效地将接触力稳态误差控制为零,验证了自适应阻抗控制算法针对稳态误差控制的有效性。然而,采用自适应阻抗控制算法虽然能够消除系统的稳态误差,但是对系统的响应时间和超调量没有改善。

3.2 改进粒子群算法阻抗参数优化仿真

通过刚度参数k的在线调整,能够有效地消除阻抗控制的稳态误差。为进一步改善阻抗控制的控制性能,考虑将惯性参数m和阻尼参数b通过离线优化的方法进行参数寻优。在刚度参数k在线调整算法的基础上,分别采用粒子群算法和改进粒子群算法对惯性参数m、阻尼参数b进行离线优化。两种算法采用的粒子群规模均为80,迭代次数均为15 次,惯性参数m和阻尼参数b的迭代曲线如图8和图9 所示。

图8 惯性参数迭代曲线

图9 阻尼参数迭代曲线

由惯性参数m和阻尼参数b迭代曲线可以看出,使用传统粒子群算法在第7 次迭代后找到了参数最优解,使用改进粒子群算法在第5 次迭代后找到了参数最优解。因此,使用改进粒子群算法进行阻抗参数优化,所需的迭代次数更少,能够更快地找到参数的最优解。

3.3 阻抗控制参数在线调整和离线优化结合仿真

使用通过改进粒子群算法离线优化得到的阻抗参数最优解(m=0.2,b=30),进行刚度参数在线调整的自适应阻抗控制算法仿真,仿真结果如图10所示。

图10 阻抗参数在线调整与离线优化结合方法仿真曲线

图8~图10 分别为传统阻抗控制算法、刚度参数在线调整的自适应阻抗控制算法、本文提出的阻抗参数在线调整和离线优化结合的阻抗算法的仿真曲线,其控制性能指标比较见表1。

表1 控制性能指标比较

由表1 可知,采用刚度参数k在线调整的自适应阻抗控制算法,能够有效消除系统的稳态误差;采用改进粒子群算法对惯性参数m和阻尼参数b进行离线优化,能够有效改善系统的超调量和调节时间。将阻抗参数在线调整和离线优化相结合进行阻抗控制,能够有效地改善系统的综合力控性能。

4 实验验证

仿真分析可以有效验证本文方法对力控性能的改善,但不能直接验证本文方法对机器人实际打磨效果的改善。为进一步验证本文方法对提高机器人打磨质量的有效性,搭建了图11 所示的机器人打磨实验平台。实验机器人为COMAU 公司SMART5 NJ 165-3.0 型工业机器人,控制算法由C 语言程序实现。控制算法根据力传感器数据计算得到期望位姿的修正量,并将修正后的期望位姿由C5GOpen开放框架写入COMAU 机器人控制器,实现机器人的力和位置控制。由于改进粒子群算法优化时间较长,难以在实时控制器中实现在线优化。因此采取离线优化方式,机器人执行多次打磨任务,每次打磨任务后计算适应度值,由改进粒子群算法更新阻抗参数值,并写入控制器。打磨轨迹设定为直线轨迹,期望接触力设置为50 N。

分别使用传统阻抗控制算法(阻抗参数k=8 000,b=1 500,m=20)、变刚度参数阻抗控制算法(阻抗参数b=1 500,m=20)、阻抗参数在线调整和离线结合的阻抗算法(优化后阻抗参数b=2 478.5,m=11.3)进行打磨,打磨后的工件表面分别如图12a~图12c 所示。每次打磨后,在打磨工件表面等距离取10 个点测量表面粗糙度值,并计算粗糙度的平均值和标准差,结果见表2。

表2 打磨后工件表面粗糙度对比

图12 打磨后工件表面对比

由图12 可知,由于传统阻抗控制算法不能消除稳态误差,图12a 打磨表面轨迹全程具有明显的磨削痕迹。图12b 为变刚度参数阻抗控制的打磨表面,由于超调量的影响,在轨迹起始处有较为明显的磨削痕迹。本文方法在消除稳态误差的同时进一步优化了超调量和调节时间,图12c 表现出了较好的打磨效果。

由表2 可知,相比于传统阻抗控制和自适应阻抗控制方法,本文方法能够降低打磨工件的粗糙度均值和标准差值。结果表明,本文提出的阻抗参数在线调整和离线优化相结合的阻抗控制方法应用于机器人打磨,可以有效地改善工件打磨的表面粗糙度和一致性。

5 结语

针对工业机器人打磨难以控制接触力而影响打磨质量的问题,本文设计了阻抗参数在线调整与离线优化结合的阻抗控制算法实现机器人打磨的恒力控制。算法将刚度参数作为时变参数,根据打磨接触力实时在线调整,以消除打磨过程的稳态误差。针对阻尼参数和惯性参数难以整定的问题,以降低系统超调量和调整时间作为优化目标,采用改进粒子群算法进行阻抗参数离线优化。通过将阻抗参数在线调整方法与离线优化方法结合,提高系统的综合力控性能。为验证本文方法对改善机器人打磨力控性能和提高打磨质量的有效性,分别进行了机器人恒力打磨仿真和实验。仿真结果表明,通过阻抗参数在线调整和离线优化相结合的阻抗控制方法,能够有效地消除系统的稳态误差,降低调整时间和超调量,可以综合改善机器人打磨的恒力控制性能。实验结果表明,相比于传统阻抗控制算法和自适应阻抗控制算法,本文方法可以有效地提高机器人打磨表面质量。

猜你喜欢
离线控制算法惯性
你真的了解惯性吗
冲破『惯性』 看惯性
异步电机离线参数辨识方法
呼吸阀离线检验工艺与评定探讨
浅谈ATC离线基础数据的准备
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
基于ARM+FPGA的模块化同步控制算法研究
无处不在的惯性
普遍存在的惯性
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用