一种基于改进二次型迭代学习控制的SCARA机器人轨迹跟踪控制方法与流程

文档序号:22811178发布日期:2020-11-04 05:14阅读:165来源:国知局
一种基于改进二次型迭代学习控制的SCARA机器人轨迹跟踪控制方法与流程

本发明涉及工业机器人技术领域,尤其是涉及一种基于改进二次型迭代学习控制的scara机器人轨迹跟踪控制方法。



背景技术:

随着我国经济结构转型的需求日益迫切和市场经济全球化的加快,工业智能化已经成为了我国制造业的重要主题。工业机器人在现代工业中有以下几点优势:1、和传统的数控机床相比,工业机器人的投资成本更低。2、工业机器人针对不同的制造任务进行重新配置的灵活性更高。

scara工业机器人又称平面关节型机器人,是工业机器人众多种类中的一种,是应用于装配作业的机器人手臂。scara机器人有3个旋转关节,其轴线相互平行,在平面内进行定位和定向。另一个关节是移动关节,用于完成末端件在垂直于平面的运动。这类机器人的结构轻便、响应快,scara机器人运动速度可达10m/s,比一般关节式机器人快数倍。它最适用于平面定位,垂直方向进行装配的作业。如今scara机器人还广泛应用于塑料工业、汽车工业、电子产品工业、药品工业和食品工业等领域。它的主要职能是搬取零件和装配工作。

在实际使用过程中,工业机器人通常存在模型误差、外部扰动以及测量噪声等大量不确定因素,严重影响了工业机器人各关节的轨迹跟踪精度。对此,可以使用高精度和高分辨率的外部位置传感器和方向传感器在一定程度上改善轨迹跟踪控制效果。然而,昂贵的传感器导致投资成本过高,降低了经济效益。

虽然传统的控制方法诸如pid已经取得了较好的控制效果,但是仍然存在不足,例如在外部扰动、测量噪声和模型参数不确定性情况下,控制效果难以达到预期效果。迭代学习控制能在机器人的重复运动控制中,通过不断地迭代学习,利用前一次运行过程中的位置和跟踪误差,根据迭代学习控制算法更新下一次运行的控制输入,不断减少跟踪误差,最终精确跟踪期望轨迹。

但是实际应用中,目前的迭代学习模型,如qilc算法往往存在系统建模不够精确,鲁棒性差,收敛速度慢等缺点。



技术实现要素:

本发明所要解决的技术问题是提供一种不需要精确建模、收敛速度快、鲁棒性好一种基于改进二次型迭代学习控制的scara机器人轨迹跟踪控制方法。

本发明所采用的技术方案是,一种基于改进二次型迭代学习控制的scara机器人轨迹跟踪控制方法,包括以下步骤:

步骤1:根据工业机器人模型参数和动力学分析方法,对scara机器人进行动力学建模,得到机器人的动力学方程和系统模型;

步骤2:通过动力学方程确定机器人每一个时刻输出轨迹状态,即输出轨迹状态单元的参数维度,从而得到该时刻的向量表示,所述参数维度包括关节角位置和关节角速度,同时以输出轨迹状态单元的向量维度为基础给出期望轨迹状态单元的向量表示;

步骤3:以一个周期的输出轨迹状态作为一组批次,上一批次结束时,采用ukf算法对通过测量上一批次运动轨迹得到的第一输出轨迹状态进行运算,根据系统模型估计得到不确定性参数和第二输出轨迹状态,并将第二输出轨迹状态和期望轨迹状态作比较,得到上一批次的第一误差,所述期望轨迹状态为一个周期的期望轨迹状态;

步骤4:利用存储下来的上一批次的第一误差,通过权重矩阵结合最小二乘优化,计算得到当前批次的迭代学习第一控制输入;

步骤5:在当前批次运算开始时,通过测量得到当前时刻的第三输出轨迹状态单元,然后通过ukf算法根据当前时刻的第三输出轨迹状态单元得到当前时刻的第四输出轨迹状态单元,将该时刻的第四输出轨迹状态单元和该时刻的期望轨迹状态单元做比较,得到第二误差,将第二误差输入到pd型反馈控制器,计算此时的反馈控制器输出,得到该时刻的迭代学习第二控制输入;

步骤6:将当前时刻的第一控制输入和当前时刻的第二控制输入相加得到当前时刻的实际控制输入;

步骤7:不断地迭代步骤1到步骤6,直到输出轨迹状态精确跟踪期望轨迹状态。

本发明与现有的迭代学习控制相比,具有以下优点:

(1)本发明采用基于改进二次准则的迭代学习控制,相比原有的二次准则迭代学习控制,本发明提出的算法通过动力学方程对机械臂进行建模,与原有的二次准则迭代学习控制相比,加入速度误差作为优化指标,从而构造得到新的优化方程并推导得到改进二次准则迭代学习控制的控制律,相比原有的二次准则迭代学习控制,本发明提出的方法具有更快的误差收敛特性。

(2)本发明不需要改变现有机器人的控制模式,并且不需要昂贵的位置测量系统和位置捕捉系统,不需要特别精确的运动学建模,在降低成本的同时精确跟踪期望输出轨迹。

(3)本发明将改进二次准则迭代学习控制和ukf相结合,能够抑制系统模型参数不确定性和测量噪声的影响,提高控制系统鲁棒性。

(4)本发明将pd型反馈控制和迭代学习控制相结合,提高控制系统对外部实时扰动的鲁棒性能。

作为优先,步骤1所述的动力学方程为:

其中,θ为关节角位置矢量,为关节角速度矢量,d(θ)为机器人的惯性矩阵,d(θ)表示离心力和哥氏力,τ为作用于双关节的力矩向量,b(θ)为科里奥利矩阵,为关节角位置矢量的二次求导。

作为优先,步骤1中所述的系统模型为:

θk=f(τk,θk-1)+ωk

zk=h(θk)+υk

其中,下标k代表第k次迭代,θk为第k次迭代时的双关节角位置向量,ωk为第k次迭代时的过程扰动向量,υk为第k次迭代时的测量噪声向量,τk为第k次迭代时的作用于双关节的力矩向量,zk为观测值向量。

作为优先,步骤2所述的输出轨迹状态单元用向量表示为:

s=[θ1θ2v1v2]t

其中,θ1和θ2分别代表机器人的第一关节角位置和第二关节角位置,v1和v2代表机器人的第一关节角速度和第二关节角速度。

作为优先,步骤4所述的得到第一控制输入的计算方法包括:

步骤41:基于改进qilc的迭代学习控制得到目标函数j,所述目标函数j包括当前批次迭代的位置误差向量eθ,k+1、速度误差向量ev,k+1和控制输入变化δuk+1,

步骤42:对当前批次的位置误差向量、速度误差向量和控制输入变化向量分别分配一定的权重矩阵,最终构建最小二乘优化问题:

其中,q、r和w都为正定矩阵。

作为优先,所述的权重矩阵由上一批次的位置误差向量eθ,k、速度误差向量ev,k动态计算得到,设计的权重矩阵如下:

其中i表示单位矩阵,norm(eθ,k)和norm(ev,k)分别代表位置误差向量和速度误差向量的二范数,th表示设定的轨迹跟踪误差阈值,所述权重矩阵自适应调节性能,能够根据跟踪误差,动态调节权重矩阵,加快收敛速度,减小跟踪误差

附图说明

图1为本发明的流程结构示意图;

图2为本发明的第一关节角误差收敛速度对比示意图;

图3位本发明的第二关节角误差收敛速度对比示意图;

图4为本发明的第一关节角加入参数不确定性和噪声后改进算法的误差收敛效果图;

图5为本发明的第二关节角加入参数不确定性和噪声后改进算法的误差收敛效果图。

具体实施方式

以下参照附图并结合具体实施方式来进一步描本发明,以令本领域技术人员参照说明书文字能够据以实施,本发明保护范围并不受限于该具体实施方式。

如图1所示,本发明涉及一种基于改进二次型迭代学习控制的scara机器人轨迹跟踪控制方法,包括如下几个步骤:

步骤1:scara机器人包括第一关节角和第二关节角,根据工业机器人模型参数和运动学分析,对scara机器人进行动力学建模,其系统模型为:

θk=f(τk,θk-1)+ωk

zk=h(θk)+υk

其动力学方程如下:

其中,θ为关节角位置矢量,为关节角速度矢量,d(θ)为机器人的惯性矩阵,d(θ)表示离心力和哥氏力,τ为作用于双关节的力矩向量,b(θ)为科里奥利矩阵,为关节角位置矢量的二次求导。式中各项参数可表示为:

其中,i表示关节角的标号,i=1时表示第一关节角,i=2时表示第二关节角,mi代表各连杆的质量;li代表各连杆长度;r为旋转导轨的半径;ci和si分别表示cos(θi)和sin(θi)。

步骤2:通过动力学方程确定机器人每一个时刻输出轨迹状态,即输出轨迹状态单元的参数维度,从而得到该时刻的向量表示,同时以输出轨迹状态单元的向量维度为基础给出期望轨迹状态单元的向量表示。

其中,输出轨迹状态单元用向量表示为:

s=[θ1θ2v1v2]t

期望轨迹状态单元用向量表示为:

sq=[θq1θq2vq1vq2]t

其中,θ1和θ2分别代表机器人的两个关节角,v1和v2代表机器人的关节角速度。

步骤3:由于在实际情况中存在无法对机械臂模型进行精确建模、外部扰动以及观测误差的影响,传感器测量得到的关节角位置与实际位置之间存在测量误差,因此需要对一个周期结束时测量得到的输出数据进行处理。

在本发明中,一个周期结束时,我们可以通过测量得到第一输出轨迹状态,其中,一个周期中包括z个采样节点,因此,第一输出轨迹状态中包括z个第一输出轨迹状态单元,那么根据动力学方程建模,由于输出轨迹状态单元中包括机器人的第一关节角位置θ1,第二关节角位置θ2,第一关节角速度v1,第二关节角速度v2,我们可以用矩阵的形式来表示第一输出轨迹状态:

其中,表示在一个周期结束时,通过测量得到的该周期中的z个第一关节角位置所组成的向量,表示在一个周期结束时,通过测量得到的该周期中的z个第二关节角位置所组成的向量,表示在一个周期结束时,通过测量得到的该周期中的z个第一关节角速度所组成的向量,表示在一个周期结束时,通过测量得到的该周期中的z个第二关节角速度所组成的向量

通过测量得到第一输出轨迹状态后,我们将与不确定性参数初始值作为滤波器输入量,通过ukf进行估计得到不确定性参数和第二输出轨迹状态所述第二输出轨迹状态可以表示为:

其中,表示通过ukf得到的上个周期中的z个第一关节角位置所组成的估算向量,表示通过ukf得到的上个周期中的z个第二关节角位置所组成的估算向量,表示通过ukf得到的上个周期中的z个第一关节角速度所组成的估算向量,表示通过ukf得到的上个周期中的z个第二关节角速度所组成的估算向量。

所述期望轨迹状态可以表示为:

其中,表示z个第一关节角期望位置所组成的期望向量,表示z个第二关节角期望位置所组成的期望向量,表示z个第一关节角期望速度所组成的期望向量,表示z个第二关节角期望速度所组成的期望向量。

然后将第二输出轨迹状态和期望轨迹状态做比较,计算得到一个周期结束时的第一误差,所述第一误差包括位置误差和速度误差为了方便计算,我们将第k个周期结束时的位置误差表示为eθ,k,速度误差表示为ev,k。

步骤:4:根据改进的迭代学习控制律,利用存储下来的第k次周期的第一误差,通过权重矩阵结合最小二乘优化,计算得到第k+1次的迭代学习第一控制输入所述的得到第一控制输入的计算方法包括:

步骤41:基于改进qilc的迭代学习控制得到目标函数j,所述目标函数j包括每次迭代的位置误差向量eθ,k+1、速度误差向量ev,k+1和控制输入变化δuk+1,

步骤42:对当前批次的位置误差向量、速度误差向量和控制输入变化向量分别分配一定的权重矩阵,最终构建最小二乘优化问题:

其中,q、r和w都为正定矩阵,控制输入变化

其中误差传递方程为:

eθ,k+1=eθ,k-gkδuk+1

ev,k+1=ev,k-hkδuk+1

求解最小二乘优化问题:

令一阶偏导为0:

即:

从而计算得到下一批次的控制输入增量,获得下一批次的控制输入:

其中hq代表迭代学习增益矩阵,表示两个子矩阵,矩阵g通过沿着角位置的期望轨迹曲线进行线性化计算得到,表示系统角位置的输入输出的映射关系,矩阵h通过沿着角速度的期望轨迹曲线进行线性化计算得到,表示系统角速度的输入输出的映射关系,指第k次迭代后经过滤波得到的第一误差。

所述的权重矩阵由第k周期结束时的位置误差向量eθ,k、速度误差向量ev,k动态计算得到,设计的权重矩阵如下:

其中i表示单位矩阵,norm(eθ,k)和norm(ev,k)分别代表位置误差向量和速度误差向量的二范数,th表示设定的轨迹跟踪误差阈值。

步骤5:当第k+1次周期开始时,我们对当前系统的输出轨迹进行实时测量,以t对采样节点进行计数,得到第t个节点的第三输出轨迹状态单元,然后采用ukf算法估算得到第t个节点的第四输出轨迹状态单元,当第t+1节点的控制力矩还未输入时,我们将第四输出轨迹状态与第t+1节点的期望输出状态单元做比较,得到t+1节点还未开始输入控制力矩时的关节角位置误差和速度误差作为第二误差,将第二误差作为pd型控制器的输入,得到第t+1节点下pd型控制器的输出作为t+1节点的第二控制输入量。

步骤6:通过上述计算可以得到k+1周期内第t节点的第一控制输入第二控制输入则当前时刻实际的控制输入量为:

步骤7:不断地迭代步骤1到步骤6,直到输出轨迹状态精确跟踪期望轨迹状态。

基于改进qilc的迭代学习控制算法对模型误差具有较好的鲁棒性和稳定性,能够抑制系统模型不确定性参数的影响,并且具有权重自适应调节特性,相比与原有的qilc算法,具有更加快速的误差收敛性能和更良好的暂态性能。

如图2-图4所示的实验数据图,纵轴为误差,横轴为采样节点,实验证明本发明提出的方法能够抑制被控对象模型参数不确定的影响,具有较好的鲁棒性和稳定性,同时能够实现误差的快速收敛和输出精确跟踪。

需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1