一种机器人的自适应有限时间收敛滑模控制方法与流程

文档序号:12012305阅读:551来源:国知局
一种机器人的自适应有限时间收敛滑模控制方法与流程
本发明属于控制技术领域,特别涉及一种机器人的自适应有限时间收敛滑模控制方法,适合于含有不确定性的机器人的鲁棒控制方法。

背景技术:
一般的机器人系统,包括并联机器人、串联机器人以及混联机器人等结构类型的机器人系统。机器人系统控制的最终目的是使机器人的广义坐标向量q能够达到稳态或者跟踪指令信号qd;为实现该目的,需要得到机器人系统实际的广义坐标向量q以及机器人系统实际的广义速度向量的值,然后再根据具体的控制方法计算驱动机器人所需的主动力或力矩的值,进而驱动机器人完成需要的操作动作。机器人系统属于典型的复杂多输入多输出非线性系统,由于其动力学建模过程的简化,使得不可避免的存在不确定性的影响,包括:摩擦、外部干扰、噪声、系统参数波动、故障、未建模动态等。现有技术中对于机器人系统的部分不确定性进行过分析,但是考虑故障影响的分析则相对匮乏。之前,本申请人针对并联机器人系统的相关不确定性进行了详尽的分析(参见本申请人相关文献MengQiang,ZhangTao,GaoXiang,etal.“Adaptiveslidingmodefault‐tolerantcontrolofuncertainStewartplatformbasedonoff‐linemulti‐bodydynamics”,IEEE/ASMETransactionsonMechatronics,2014:19(3):882‐894;QiangMeng,TaoZhang,Jing‐yanSong,“AdaptiveslidingmodecontrolfortrajectorytrackingofuncertainStewartplatformbasedonpositionmeasurementsonly,”Robotica,accepted.)。上述文献采用Kane方法,建立并联机器人系统的动力学方程如式(1.1):其中,M(q)为并联机器人系统质量n×n维矩阵,表示为M(q)∈Rn×n(以下用*泛指,如*∈Rn×n表示矩阵*属于n×n维矩阵);为并联机器人系统哥氏/向心项系数向量;G(q)∈Rn×1为并联机器人系统重力项向量;τ∈Rn×1为并联机器人系统主动力/力矩;q∈Rn×1为并联机器人系统广义坐标向量;为并联机器人系统广义速度向量;表示并联机器人系统广义加速度向量;n表示并联机器人系统维数,且为正整数。(考虑到机械系统可能存在摩擦、外部干扰、噪声、系统参数波动、故障、未建模动态等影响,其动力学方程不可能完全精确,因此,)将式(1.1)修改为考虑不确定性的并联机器人动力学方程为式(1.2):其中,M0∈Rn×n,C0∈Rn×1,G0∈Rn×1分别表示并联机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项;ΔM∈Rn×n,ΔC∈Rn×1,ΔG∈Rn×1则分别表示并联机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量的不确定项(ΔM,ΔC,ΔG表征并联机器人系统存在的不确定性大小,一般在可计算项M0,C0,G0的40%以内);δa∈Rn×n代表乘性故障(δa,i的大小根据执行器故障的程度确定,有效取值范围为[0,1],δa,i=1表示第i个执行器无故障,δa,i=0表示第i个执行器完全失效,0<δa,i<1表示第i个执行器部分失效);δf∈Rn×1为加性故障(δf,i的大小根据执行器故障的程度确定,有效范围必小于执行器的最大力或力矩);(不确定项ΔM,ΔC,ΔG的产生原因有:在实际物理系统中,摩擦、外部干扰、噪声、系统参数波动等均会导致并联机器人系统动力学方程存在不确定项;在建模分析过程中,为了简化计算,一般仅考虑系统的主要动力学特性,因此,会存在未建模动态引入的不确定项。δa和δf的产生原因主要为系统执行器的故障所致);公式(1.2)进一步整理为式(1.3)其中,δtotal∈Rn×1为总不确定项如式(1.4):设机器人不确定项的约束(相关文献可见:刘金琨.滑模变结构控制MATLAB仿真.清华大学出版社:386‐397.),如公式(1.5)其中,ρ∈Rn×1为刚性机器人不确定项;b1、b2、b3为正数(b1、b2、b3的取值根据系统存在的总不确定项ρ决定;在不同的时刻,满足约束公式(1.5)的b1、b2、b3的最小值可能会有变化,因此在实际应用中b1、b2、b3一般是未知的,最多可以估计一个大致的取值范围);||*||为取范数操作;(*)2为求*的平方;对于n维的机器人系统,其各个自由度方向的特性可能会有较大差异,因此,公式(1.5)对于系统不确定性的估计较为保守,难以满足各个自由度不同特性机器人系统的控制精度以及力矩平滑性要求。有限时间收敛(Terminal)滑模控制,由于其有限时间收敛的特性,被广泛应用于工业领域。目前,常规的Terminal滑模控制也已经被推广到了机器人领域(相关文献可见:刘金琨.滑模变结构控制MATLAB仿真.清华大学出版社:386‐397.)。刘金琨教授针对机器人设计的有限时间收敛(Terminal)滑模控制方法如式(2.1)‐(2.2):确定滑模面S∈Rn×1如式(2.1):其中,ε=q-qd∈Rn×1表示广义坐标误差向量,q和qd为实际的广义坐标向量以及期望的广义坐标向量;表示*的导数(例如公式中:表示ε的导数);p和q为设定值,取正奇数且满足Λ=diag[λ1,…λn]为参数可调节的对角阵;λ1,…λn为设定值,取正数;diag[x,y]表示由元素x,y组成的对角阵;计算驱动机器人所需的主动力/力矩的值如式(2.2):式中,τ∈Rn×1为计算的机器人主动力/力矩;为机器人系统期望的广义加速度向量;

技术实现要素:
本发明的目的是为了克服上述现有技术的不足,提供一种机器人的自适应有限时间收敛(Terminal)滑模控制方法。该方法在传统有限时间收敛(Terminal)滑模控制的基础上,引入自适应更新率,在实现高精度控制的同时,极大地减轻了滑模控制的颤震问题;通过确定n维的滑模面并提出n维的自适应更新率,可用来解决机器人系统各个自由度方向可能存在的不同动力学特性影响;提出的n维的自适应更新率在作用初期引入了一个随时间递增的函数,用来解决机器人系统在启动阶段的力矩饱和以及颤振问题;提出了几种实际工程中,为了保证控制实时性的动力学补偿方案。本发明提出的一种机器人的自适应有限时间收敛滑模控制方法,其特征在于,适用于并联机器人、串联机器人以及混联机器人结构类型的机器人系统,该方法包括以下步骤:1)建立考虑不确定性的机器人动力学方程:采用传统动力学分析方法,建立机器人系统的动力学方程如式(1):其中,M(q)∈Rn×n为机器人系统质量矩阵;为机器人系统哥氏/向心项系数向量;G(q)∈Rn×1为机器人系统重力项向量;τ∈Rn×1为机器人系统主动力/力矩;q∈Rn×1为机器人系统广义坐标向量;为机器人系统广义速度向量;表示机器人系统广义加速度向量;n表示机器人系统维数,且为正整数;将式(1)引入不确定项,修改为考虑不确定性的机器人动力学方程为式(2):其中,M0∈Rn×n,C0∈Rn×1,G0∈Rn×1分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项;ΔM∈Rn×n,ΔC∈Rn×1,ΔG∈Rn×1则分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量的不确定项;δa∈Rn×n代表乘性故障;δf∈Rn×1为加性故障;公式(2)进一步整理为式(3):其中,δtotal∈Rn×1为总不确定项如式(4):考虑机器人系统的动力学特性,该总不确定项δtotal满足约束式(5):其中,δtotal,i∈R表示n维矢量δtotal的第i个元素(*∈R表示*为实数,例如式(5)中:δtotal,i∈R代表δtotal,i为实数;(*)i表示(*)的第i个元素);b1,i、b2,i、b3,i为正数(b1,i、b2,i、b3,i的取值根据系统存在的总不确定项δtotal,i决定);|*|为取绝对值操作;(*)2为求*的平方;2)确定滑模面S∈Rn×1如式(6):其中,ε=q-qd∈Rn×1表示广义坐标误差向量,q和qd为实际的广义坐标向量以及期望的广义坐标向量;表示*的导数;p和q为设定值,取正奇数且满足Λ=diag[λ1,…λn]为参数可调节的对角阵;λ1,…λn为设定值,取正数;diag[x,y]表示由元素x,y组成的对角阵;3)引入n维的自适应更新率如式(7)‐(11):公式(7)由两部分组成:为一个随时间递增且有界的函数,用来解决机器人系统启动阶段的力矩饱和以及颤振问题;则用来自适应地估计机器人系统总不确定项δtotal,i的上界值;其中,为自适应的估计值;d1,i∈R,d2,i∈R,d3,i∈R为第i个自由度方向的设定值,且取正数;arctan(*)为反正切函数;ci为第i个自由度方向的设定值,且取正数;π为圆周率;t为时间变量;为计算矩阵;||*||为范数操作;(*)-1表示矩阵(*)的逆;表示*的导数;4)计算驱动机器人所需的主动力/力矩的值:根据机器人系统实际的广义坐标向量q以及机器人系统实际的广义速度向量的值,在线计算机器人动力学中的可计算项M0,C0,G0的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机器人所需的主动力/力矩的值如式(12):式中,τantsmc∈Rn×1为计算的机器人主动力/力矩;为机器人系统期望的广义加速度向量;ξ∈R为设定值,取较小的正数;(*)T为取矩阵/向量(*)的转置;用主动力/力矩(12)驱动机器人系统,使机器人的广义坐标向量q实现有限时间内收敛到稳态或者跟踪指令信号qd。本发明提出的第二种机器人的自适应有限时间收敛滑模控制方法,其特征在于,适用于并联机器人、串联机器人以及混联机器人结构类型的机器人系统,该方法包括以下步骤:1)建立考虑不确定性的机器人动力学方程:采用传统动力学分析方法,建立机器人系统的动力学方程如式(1):其中,M(q)∈Rn×n为机器人系统质量矩阵;为机器人系统哥氏/向心项系数向量;G(q)∈Rn×1为机器人系统重力项向量;τ∈Rn×1为机器人系统主动力/力矩;q∈Rn×1为机器人系统广义坐标向量;为机器人系统广义速度向量;表示机器人系统广义加速度向量;n表示机器人系统维数,且为正整数;将式(1)引入不确定项,修改为考虑不确定性的机器人动力学方程为式(2):其中,M0∈Rn×n,C0∈Rn×1,G0∈Rn×1分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项;ΔM∈Rn×n,ΔC∈Rn×1,ΔG∈Rn×1则分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量的不确定项;δa∈Rn×n代表乘性故障;δf∈Rn×1为加性故障;公式(2)进一步整理为式(3):其中,δtotal∈Rn×1为总不确定项如式(4):考虑机器人系统的动力学特性,该总不确定项δtotal满足约束式(5):其中,δtotal,i∈R表示n维矢量δtotal的第i个元素(*∈R表示*为实数,例如式(5)中:δtotal,i∈R代表δtotal,i为实数;(*)i表示(*)的第i个元素);b1,i、b2,i、b3,i为正数(b1,i、b2,i、b3,i的取值根据系统存在的总不确定项δtotal,i决定);|*|为取绝对值操作;(*)2为求*的平方;2)确定滑模面S∈Rn×1如式(6):其中,ε=q-qd∈Rn×1表示广义坐标误差向量,q和qd为实际的广义坐标向量以及期望的广义坐标向量;表示*的导数;p和q为设定值,取正奇数且满足Λ=diag[λ1,…λn]为参数可调节的对角阵;λ1,…λn为设定值,取正数;diag[x,y]表示由元素x,y组成的对角阵;3)引入n维的自适应更新率如式(7)‐(11):公式(7)由两部分组成:为一个随时间递增且有界的函数,用来解决机器人系统启动阶段的力矩饱和以及颤振问题;则用来自适应地估计机器人系统总不确定项δtotal,i的上界值;为自适应的估计值;d1,i∈R,d2,i∈R,d3,i∈R为第i个自由度方向的设定值,且取正数;arctan(*)为反正切函数;ci为第i个自由度方向的设定值,且取正数;π为圆周率;t为时间变量;为计算矩阵;||*||为范数操作;(*)-1表示矩阵(*)的逆;表示*的导数;M0(tN-1)表示在tN-1时刻机器人系统质量矩阵的可计算项;tN-1为系统动力学计算时刻的设定值;tN-1中下标N为正整数且取值为(当N=1时,tN-1=t0,表示初始时刻);tf为机器人系统停止运动的时刻;INT(*)表示取整操作,即取不超过实数(*)的最大整数部分;Δt=tN-tN-1为间隔时间的设定值,取Δt≥tc;4)计算驱动机器人所需的主动力/力矩的值:根据机器人系统实际的广义坐标向量q以及机器人系统实际的广义速度向量的值,采用间隔一定时间(间隔时间为Δt=tN-tN-1)计算机器人动力学中的可计算项(M0(tN-1),C0(tN-1),G0(tN-1))的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机器人所需的主动力/力矩的值如式(12)’所示:当tN-1+tc≤t<tN+tc时式中,C0(tN-1),G0(tN-1)分别表示在tN-1时刻机器人系统哥氏/向心项系数向量、重力项向量中的可计算项;tc表示计算机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项所需时间(其具体数值与动力学分析精度以及硬件平台有关);tN为系统动力学计算时刻的设定值;τantsmc∈Rn×1为计算的机器人主动力/力矩;为机器人系统期望的广义加速度向量;ξ∈R为设定值,取较小的正数;(*)T为取矩阵/向量(*)的转置;用主动力/力矩(12)’驱动机器人系统,使机器人的广义坐标向量q实现有限时间内收敛到稳态或者跟踪指令信号qd。本发明提出的第三种机器人的自适应有限时间收敛滑模控制方法,其特征在于,适用于并联机器人、串联机器人以及混联机器人结构类型的机器人系统,该方法包括以下步骤:1)建立考虑不确定性的机器人动力学方程:采用传统动力学分析方法,建立机器人系统的动力学方程如式(1):其中,M(q)∈Rn×n为机器人系统质量矩阵;为机器人系统哥氏/向心项系数向量;G(q)∈Rn×1为机器人系统重力项向量;τ∈Rn×1为机器人系统主动力/力矩;q∈Rn×1为机器人系统广义坐标向量;为机器人系统广义速度向量;表示机器人系统广义加速度向量;n表示机器人系统维数,且为正整数;将式(1)引入不确定项,修改为考虑不确定性的机器人动力学方程为式(2):其中,M0∈Rn×n,C0∈Rn×1,G0∈Rn×1分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项;ΔM∈Rn×n,ΔC∈Rn×1,ΔG∈Rn×1则分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量的不确定项;δa∈Rn×n代表乘性故障;δf∈Rn×1为加性故障;公式(2)进一步整理为式(3):其中,δtotal∈Rn×1为总不确定项如式(4):考虑机器人系统的动力学特性,该总不确定项δtotal满足约束式(5):其中,δtotal,i∈R表示n维矢量δtotal的第i个元素(*∈R表示*为实数,例如式(5)中:δtotal,i∈R代表δtotal,i为实数;(*)i表示(*)的第i个元素);b1,i、b2,i、b3,i为正数(b1,i、b2,i、b3,i的取值根据系统存在的总不确定项δtotal,i决定);|*|为取绝对值操作;(*)2为求*的平方;2)确定滑模面S∈Rn×1如式(6):其中,ε=q-qd∈Rn×1表示广义坐标误差向量,q和qd为实际的广义坐标向量以及期望的广义坐标向量;表示*的导数;p和q为设定值,取正奇数且满足Λ=diag[λ1,…λn]为参数可调节的对角阵;λ1,…λn为设定值,取正数;diag[x,y]表示由元素x,y组成的对角阵;3)引入n维的自适应更新率如式(7)‐(11):公式(7)由两部分组成:为一个随时间递增且有界的函数,用来解决机器人系统启动阶段的力矩饱和以及颤振问题;则用来自适应地估计机器人系统总不确定项δtotal,i的上界值;其中,为自适应的估计值;d1,i∈R,d2,i∈R,d3,i∈R为第i个自由度方向的设定值,且取正数;arctan(*)为反正切函数;ci为第i个自由度方向的设定值,且取正数;π为圆周率;t为时间变量;为计算矩阵;||*||为范数操作;(*)-1表示矩阵(*)的逆;表示*的导数;M0,d表示离线计算的相应时刻的机器人系统质量矩阵的可计算项;4)计算驱动机器人所需的主动力/力矩的值:根据机器人系统期望的广义坐标向量qd以及机器人系统期望的广义速度向量的值,先离线地计算机器人动力学中的可计算项(M0,d,C0,d,G0,d)的值,并将结果存储下来,在实际运动的时候,直接调用相应时刻的(M0,d,C0,d,G0,d)的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机器人所需的主动力/力矩的值如式(12)”所示:式中,C0,d,G0,d分别表示离线计算的相应时刻的机器人系统哥氏/向心项系数向量、重力项向量中的可计算项;τantsmc∈Rn×1为计算的机器人主动力/力矩;为机器人系统期望的广义加速度向量;ξ∈R为设定值,取较小的正数;(*)T为取矩阵/向量(*)的转置;用主动力/力矩(12)”驱动机器人系统,使机器人的广义坐标向量q实现有限时间内收敛到稳态或者跟踪指令信号qd。与现有技术相比,本发明的特点及有益效果是:其一,本发明考虑到机器人存在的诸多不确定性,特别是故障影响后,机器人不确定性可能会随着时间发生较大的变动。在传统有限时间收敛(Terminal)滑模控制的基础上,引入自适应更新率,在实现高精度控制的同时,极大地减轻了滑模控制的颤震问题;其二:通过确定n维的滑模面并提出n维的自适应更新率,可用来解决机器人系统各个自由度方向可能存在的不同动力学特性影响;其三,所提出n维的自适应更新率在作用初期引入了一个随时间递增且有界的函数,用来解决机器人系统在启动阶段的力矩饱和以及颤振问题;其四,提出了几种实际工程中,为了保证控制实时性的动力学补偿方案。本发明将相关的研究成果拓展到一般的机器人领域,适用于并联机器人、串联机器人以及混联机器人等结构类型的机器人系统。附图说明图1为本发明所述方法的实现流程框图;图2为本方法实施例的常规2支链机械臂简图。图3为本实施例的关节1在传统的有限时间收敛滑模控制方法“C1”、传统的有限时间收敛滑模控制方法“C2”以及本发明提出的自适应有限时间收敛滑模控制方法“C3”作用下的跟踪误差曲线;图4为本实施例的关节2在传统的有限时间收敛滑模控制方法“C1”、传统的有限时间收敛滑模控制方法“C2”以及本发明提出的自适应有限时间收敛滑模控制方法“C3”作用下的跟踪误差曲线;图5为传统的有限时间收敛滑模控制方法“C1”在关节1以及关节2处的控制输入;图6为传统的有限时间收敛滑模控制方法“C2”在关节1以及关节2处的控制输入;图7为本发明提出的自适应有限时间收敛滑模控制方法“C3”在关节1以及关节2处的控制输入。具体实施方式下面结合附图及实施例对本发明进一步说明。本发明提出的一种机器人的自适应有限时间收敛滑模控制方法,其特征在于,适用于并联机器人、串联机器人以及混联机器人结构类型的机器人系统,该方法包括以下步骤:1)建立考虑不确定性的机器人动力学方程:采用传统动力学分析方法(传统的动力学分析方法采用如下任意一种:Kane方法、牛顿‐欧拉法、牛顿‐拉格朗日法、虚功原理等),建立机器人系统的动力学方程如式(1):其中,M(q)∈Rn×n为机器人系统质量矩阵;为机器人系统哥氏/向心项系数向量;G(q)∈Rn×1为机器人系统重力项向量;τ∈Rn×1为机器人系统主动力/力矩;q∈Rn×1为机器人系统广义坐标向量;为机器人系统广义速度向量;表示机器人系统广义加速度向量;n表示机器人系统维数,且为正整数;(考虑到机械系统可能存在摩擦、外部干扰、噪声、系统参数波动、故障、未建模动态等影响,其动力学方程不可能完全精确,因此,)将式(1)引入不确定项,修改为考虑不确定性的机器人动力学方程为式(2):其中,M0∈Rn×n,C0∈Rn×1,G0∈Rn×1分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项;ΔM∈Rn×n,ΔC∈Rn×1,ΔG∈Rn×1则分别表示机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量的不确定项(ΔM,ΔC,ΔG表征系统存在的不确定性大小);δa∈Rn×n代表乘性故障(δa,i的大小根据执行器故障的程度确定);δf∈Rn×1为加性故障(δf,i的大小根据执行器故障的程度确定);(不确定项ΔM,ΔC,ΔG的产生原因有:在实际物理系统中,摩擦、外部干扰、噪声、系统参数波动等均会导致机器人系统动力学方程存在不确定项;在建模分析过程中,为了简化计算,一般仅考虑系统的主要动力学特性,因此,会存在未建模动态引入的不确定项。δa和δf的产生原因主要为系统执行器的故障所致);公式(2)进一步整理为式(3):其中,δtotal∈Rn×1为总不确定项如式(4):考虑机器人系统的动力学特性,该总不确定项δtotal满足约束式(5)其中,δtotal,i∈R表示n维矢量δtotal的第i个元素(*∈R表示*为实数,例如式(5)中:δtotal,i∈R代表δtotal,i为实数;(*)i表示(*)的第i个元素);b1,i、b2,i、b3,i为正数(b1,i、b2,i、b3,i的取值根据系统存在的总不确定项δtotal,i决定);|*|为取绝对值操作;(*)2为求*的平方;(公式(5)对于机器人系统不确定项的描述,充分考虑了机器人系统各个自由度方向可能存在的不同动力学特性影响,极大地减小了对机器人系统不确定性估计的保守性。当然,对于各个自由度方向特性差异不大或者相同的系统,该约束式同样适用);2)确定滑模面S∈Rn×1如式(6):其中,ε=q-qd∈Rn×1表示广义坐标误差向量,q和qd为实际的广义坐标向量以及期望的广义坐标向量;表示*的导数(例如公式中:表示ε的导数);p和q为设定值,取正奇数且满足和q根据实际情况进行调节,以能够实现机器人稳定为取值原则);Λ=diag[λ1,…λn]为参数可调节的对角阵;λ1,…λn为设定值,取正数(λ1,…λn需根据实际情况进行调节,以能够实现机器人稳定为取值原则);diag[x,y]表示由元素x,y组成的对角阵;3)引入n维的自适应更新率如式(7)‐(11):(本发明为实现高精度控制且减轻滑模控制的颤震问题,在传统有限时间收敛(Terminal)滑模控制的基础上,引入自适应更新率;为解决机器人系统各个自由度方向可能存在的不同动力学特性影响,将自适应更新率以及滑模面设计为n维的;为解决机器人系统在启动阶段的力矩饱和以及颤振问题,所述n维的自适应更新率在启动阶段还引入一个随时间递增且有界的函数;)公式(7)由两部分组成:为一个随时间递增且有界的函数,用来解决机器人系统启动阶段的力矩饱和以及颤振问题;则用来自适应地估计机器人系统总不确定项δtotal,i的上界值;其中,为自适应的估计值;d1,i∈R,d2,i∈R,d3,i∈R为第i个自由度方向的设定值,且取正数(d1,i,d2,i,d3,i需根据实际情况进行调节,以保证机器人系统稳定且控制效果满意为原则);arctan(*)为反正切函数;ci为第i个自由度方向的设定值,且取正数(ci需根据实际情况进行调节,以减轻机器人系统启动阶段的力矩饱和以及颤振问题为原则);π为圆周率;t为时间变量;为计算矩阵;||*||为范数操作;(*)-1表示矩阵(*)的逆(例如公式中:表示矩阵M0的逆);表示*的导数(例如公式中:表示的导数);4)计算驱动机器人所需的主动力/力矩的值:根据机器人系统实际的广义坐标向量q以及机器人系统实际的广义速度向量的值,在线计算机器人动力学中的可计算项M0,C0,G0的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机器人所需的主动力/力矩的值如式(12):式中,τantsmc∈Rn×1为计算的机器人主动力/力矩;为机器人系统期望的广义加速度向量;ξ∈R为设定值,取较小的正数(ξ取值属于已有技术,需根据实际情况进行调节,以在保证控制效果的基础上减轻主动力/力矩的颤振为取值原则);(*)T为取矩阵/向量(*)的转置(例如式中:sT为取向量s的转置);用主动力/力矩(12)驱动机器人系统,使机器人的广义坐标向量q实现有限时间内收敛到稳态或者跟踪指令信号qd。所述公式(8)和(12)中,机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项M0,C0,G0有多种实现形式,最重要的是考虑机器人动力学计算的是实时性以及运动轨迹变化的情况。采用的方法至少包括如下几种:本发明实现上述步骤3)‐4)的第二种方法为:该方法适用于系统动力学无法实时计算且运动轨迹变化不大的情况(tc较大,且在间隔时间Δt≥tc内机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项M0,C0,G0的变化不大),具体为:根据机器人系统实际的广义坐标向量q以及机器人系统实际的广义速度向量的值,采用间隔一定时间(间隔时间为Δt=tN-tN-1)计算机器人动力学中的可计算项(M0(tN-1),C0(tN-1),G0(tN-1))的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机器人所需的主动力/力矩的值如式(8)’至(12)’所示,(除(8)’和(12)’外,其它公式均同第一种方法):当tN-1+tc≤t<tN+tc时式中,为计算矩阵;||*||为范数操作;(*)-1表示矩阵(*)的逆;表示*的导数;tN-1及tN为系统动力学计算时刻的设定值;tN-1及tN中下标N为正整数且取值为(当N=1时,tN-1=t0,表示初始时刻);tf为机器人系统停止运动的时刻;INT(*)表示取整操作,即取不超过实数(*)的最大整数部分;Δt=tN-tN-1为间隔时间的设定值(取Δt≥tc,且在间隔时间Δt内机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项M0,C0,G0的变化不大);M0(tN-1),C0(tN-1),G0(tN-1)分别表示在tN-1时刻机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项;tc表示计算机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项所需时间,其具体数值与动力学分析精度以及硬件平台有关;t表示当前时刻;如果系统动力学无法实时计算且运动轨迹变化较大的情况(tc较大,且在间隔时间Δt≥tc内机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项M0,C0,G0的变化较大),本发明实现上述步骤3)‐4)的第三种方法为:根据机器人系统期望的广义坐标向量qd以及机器人系统期望的广义速度向量的值,先离线地计算机器人动力学中的可计算项(M0,d,C0,d,G0,d)的值,并将结果存储下来,在实际运动的时候,直接调用相应时刻的(M0,d,C0,d,G0,d)的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机器人所需的主动力/力矩的值如式(8)”至(12)”所示((除(8)”至(12)”外,其它公式均同第一种方法):式中,M0,d,C0,d,G0,d分别表示离线计算的相应时刻的机器人系统质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项。实施例本实施例方法以一个常规2支链的机械臂(典型的串联机器人系统)为控制对象,2支链结构如图2所示,其中,r1,r2,J1,J2,m1,m2,q1,q2分别表示支链1长度、支链2长度、支链1惯量、支链2惯量、支链1质量、支链2质量、支链1转角、支链2转角。给定其主要结构参数r1,r2,J1,J2,m1以及m2分别为1m,0.8m,5kgm,5kgm,0.5kg以及1.5kg。假定期望的运动轨迹qd,rob=[qd,rob,1,qd,rob,2]T以及初始姿态q0,rob分别为qd,rob,1=a1sin(ω1t)+a2cos(ω2t)+a3sin(ω3t)+a4cos(ω4t)+a5sin(ω5t)+a6cos(ω6t)(3.1)qd,rob,2=b1sin(ω1t)+b2cos(ω2t)+b3sin(ω3t)+b4cos(ω4t)+b5sin(ω5t)+b6cos(ω6t)(3.2)q0,rob=[1.5,-1.5]T(3.3)式中,(a1~a6),(b1~b6),和(ω1~ω6)分别设定为(1,1,0.01,1,0.01,0.001),(‐1,‐1,‐0.01,‐1,‐0.01,‐0.001),和(0.1,0.2,0.4,0.8,1.6,3.2);sin(*)表示求(*)的正弦值;cos(*)表示求(*)的余弦值;本实施例对该机械臂的自适应有限时间收敛滑模控制方法,包括以下步骤:1)建立考虑不确定性的机器人动力学方程:采用牛顿‐欧拉法,建立该机械臂的动力学方程如式(3.4):其中,qrob=[q1,q2]TM11=(m1+m2)r12+m2r22+2m2r1r2cos(q2)+J1M12=M21=m2r22+m2r1r2cos(q2)M22=m2r22+J2(3.5)G1=((m1+m2)r1cos(q2)+m2r2cos(q1+q2))gG2=m2r2cos(q1+q2)g式中,Mij表示矩阵Mrob(qrob)的第(i,j)个元素;Ci和Gi则分别表示和Grob(qrob)的第i个元素。Mrob(qrob)∈R2×2为该机械臂质量矩阵;为该机械臂哥氏/向心项系数向量;Grob(qrob)∈R2×1为该机械臂重力项向量;τrob∈R2×1为该机械臂主动力/力矩;qrob∈R2×1为该机械臂的广义坐标向量;为该机械臂的广义速度向量;表示该机械臂的广义加速度向量;该机械臂维数为2;g为重力加速度;将式(3.4)引入不确定项,修改为考虑不确定性的机械臂动力学方程为式(3.6):其中,M0,rob∈R2×2,C0,rob∈R2×1,G0,rob∈R2×1分别表示机械臂质量矩阵、哥氏/向心项系数向量、重力项向量中的可计算项(本实施例中可估计/可计算值的机械臂动力学参数为:式中,为实际m1,m2,J1,J2的可估计/可计算值;M0,rob,C0,rob,G0,rob可由r1,r2,以及实际运动轨迹qrob带入公式(3.5)计算得到);ΔMrob∈R2×2,ΔCrob∈R2×1,ΔGrob∈R2×1则分别表示机械臂质量矩阵、哥氏/向心项系数向量、重力项向量的不确定项;(本实施例中Mrob(qrob)、Grob(qrob)可由主要结构参数r1,r2,J1,J2,m1,m2以及实际运动轨迹qrob带入公式(3.5)计算得到;ΔMrob,ΔCrob,ΔGrob可分别由ΔMrob=Mrob(qrob)-M0,rob,ΔGrob=Grob(qrob)-G0,rob计算得到);δa,rob∈R2×2代表乘性故障(δa,rob,i的大小根据执行器故障的程度确定,有效取值范围为[0,1],本实施例取值为δa,rob,i=1);δf,rob∈R2×1为加性故障(δf,rob,i的大小根据执行器故障的程度确定,本实施例取值为δf,rob,i=0);公式(3.6)进一步整理为式(3.7)其中,δtotal,rob∈R2×1为总不确定项如式(3.8):考虑机械臂的动力学特性,该总不确定项δtotal,rob满足约束式(3.9)其中,δtotal,rob,i∈R表示2维矢量δtotal,rob的第i个元素;b1,rob,i、b2,rob,i、b3,rob,i的取值范围可估计为1≤b1,rob,i≤10、8≤b2,rob,i≤80、3≤b3,rob,i≤30(在不同的时刻,满足约束公式(3.9)的b1,rob,i、b2,rob,i、b3,rob,i的最小值可能会有变化,因此在实际应用中b1,rob,i、b2,rob,i、b3,rob,i一般是未知的,最多可以估计一个大致的取值范围);|*|为取绝对值操作;(*)2为求*的平方;2)确定滑模面Srob∈Rn×1如式(3.10):其中,εrob=qrob-qd,rob∈R2×1表示机械臂的广义坐标误差向量,qrob和qd,rob为机械臂实际的广义坐标向量以及期望的广义坐标向量;p和q在本实施例取值分别为p=9;q=5;Λrob=diag[λ1,rob,λ2,rob]为参数可调节的对角阵;λ1,rob,λ2,rob在本实施例取值均为150;diag[λ1,rob,λ2,rob]表示由元素λ1,rob,λ2,rob组成的对角阵;3)引入n维的自适应更新率如式(3.11)‐(3.15):公式(3.11)由两部分组成:为一个随时间递增且有界的函数,用来解决机械臂启动阶段的力矩饱和以及颤振问题;则用来自适应地估计机械臂总不确定项δtotal,rob,i的上界值;其中,为自适应的估计值,本实施例取值为(式中i取值为1和2;分别为和的初值);d1,rob,i∈R,d2,rob,i∈R,d3,rob,i∈R为第i个自由度方向的设定值,本实施例取值为d1,rob,i=5d2,rob,i=0.1d3,rob,i=1(式中i取值为1和2);arctan(*)为反正切函数;crob,i为第i个自由度方向的设定值,本实施例取值为crob,i=5(式中i取值为1和2);π为圆周率;t为时间变量;为计算矩阵;||*||为范数操作;(*)-1表示矩阵(*)的逆(例如公式中:表示矩阵M0,rob的逆);表示*的导数(例如公式中:表示的导数);4)计算驱动机器人所需的主动力/力矩的值:根据机械臂实际的广义坐标向量qrob以及机械臂实际的广义速度向量的值,在线计算机械臂动力学中的可计算项M0,rob,C0,rob,G0,rob的值;然后,根据步骤1)‐3)中的考虑不确定性的机器人动力学方程、约束、滑模面及自适应更新率,计算驱动机械臂所需的主动力/力矩的值如式(3.16):式中,τantsmc,rob∈R2×1为计算的机械臂主动力/力矩;为机械臂期望的广义加速度向量;ξrob∈R为设定值,取较小的正数,本实施例取值为ξrob=0.001;(*)T为取矩阵/向量(*)的转置;用主动力/力矩(3.16)驱动机械臂,使机械臂的广义坐标向量qrob实现有限时间内收敛到稳态或者跟踪指令信号qd,rob。本实施例方法实现的效果分析如下:为了说明本发明所提出方法的优越性,设计三种控制方案其结果如图3‐7所示:传统的有限时间收敛滑模控制方法“C1”(b1,c1,rob,b2,c1,rob,b3,c1,rob选小值);传统的有限时间收敛滑模控制方法“C2”(b1,c2,rob,b2,c2,rob,b3,c2,rob选大值);本发明提出的自适应有限时间收敛滑模控制方法“C3”即为本实施例方法。其中,传统的有限时间收敛滑模控制方法“C1”及“C2”如公式(3.17)及(3.18)(参照文献:刘金琨.滑模变结构控制MATLAB仿真.清华大学出版社:386‐397.—对应文中公式(2.2))(3.17)(3.18)其中,式中,b1,c1,rob∈R,b2,c1,rob∈R,b3,c1,rob∈R为传统的有限时间收敛滑模控制方法“C1”的设计参数(b1,c1,rob,b2,c1,rob,b3,c1,rob为正数,取值时考虑系统存在的总不确定项δtotal,rob,i并取较小的值,本实施例取值为b1,c1,rob=1,b2,c1,rob=8,b3,c1,rob=3);Γc1,rob根据机械臂实际的qrob和按照公式(3.19)计算得到;b1,c2,rob∈R,b2,c2,rob∈R,b3,c2,rob∈R为传统的有限时间收敛滑模控制方法“C2”的设计参数(b1,c2,rob,b2,c2,rob,b3,c2,rob为正数,取值时考虑系统存在的总不确定项δtotal,rob,i并取较大的值,本实施例取值为b1,c2,rob=10,b2,c2,rob=80,b3,c2,rob=30);Γc2,rob根据机械臂实际的qrob和按照公式(3.20)计算得到;另外,为了公平地对比上述三个控制方法的优劣,上述两种方法的其他的设定参数均采用与本实施例相同的数值式中,τmax表示机械臂的最大力矩。在三种控制方法的作用下,机械臂均可实现有限时间(2s)内的跟踪。但是,由于设定的不确定上界小于实际的系统不确定性,控制方法“C1”的跟踪特性在3s‐6s之间无法保证。单纯考虑轨迹跟踪特性,控制方法“C2”以及“C3”的跟踪效果均非常令人满意。另外,从力矩/力的平滑特性看,控制方法“C3”的输出最为平滑,控制方法“C1”的输出较为平滑,而控制方法“C2”的输出则存在严重的震荡和饱和问题。综上所述,相对于传统的有限时间收敛(Terminal)滑模控制方法(“C1”及“C2”),本发明所提出的一种机器人的自适应有限时间收敛(Terminal)滑模控制方法(“C3”),可以同时保证高的跟踪精度以及力/力矩输出的平滑性,具有非常明显的优势。结合各图进一步说明如下:图3中,“C1_eq1(“实线”表示)”为关节1在传统的有限时间收敛滑模控制方法“C1”作用下的跟踪误差曲线;“C2_eq1(“虚线”表示)”为关节1在传统的有限时间收敛滑模控制方法“C2”作用下的跟踪误差曲线;“C3_eq1(“点”表示)”为关节1在本发明提出的自适应有限时间收敛滑模控制方法“C3”作用下的跟踪误差曲线。备注:在三种控制方法的作用下,机械臂均可实现有限时间(2s)内的跟踪。但是,由于设定的不确定上界小于实际的系统不确定性,控制方法“C1”的跟踪特性在3s‐6s之间无法保证。单纯考虑轨迹跟踪特性,控制方法“C2”以及“C3”的跟踪效果均非常令人满意。图4中,“C1_eq2(“实线”表示)”为关节2在传统的有限时间收敛滑模控制方法“C1”作用下的跟踪误差曲线;“C2_eq2(“虚线”表示)”为关节2在传统的有限时间收敛滑模控制方法“C2”作用下的跟踪误差曲线;“C3_eq2(“点”表示)”为关节2在本发明提出的自适应有限时间收敛滑模控制方法“C3”作用下的跟踪误差曲线。备注:在三种控制方法的作用下,机械臂均可实现有限时间(2s)内的跟踪。但是,由于设定的不确定上界小于实际的系统不确定性,控制方法“C1”的跟踪特性在3s‐6s之间无法保证。单纯考虑轨迹跟踪特性,控制方法“C2”以及“C3”的跟踪效果均非常令人满意。图5中,“C1_u1(“实线”表示)”为传统的有限时间收敛滑模控制方法“C1”在关节1处的控制输入;“C1_u2(“虚线”表示)”为传统的有限时间收敛滑模控制方法“C1”在关节2处的控制输入。备注:从力矩/力的平滑特性看,控制方法“C1”的输出较为平滑。图6中,“C2_u1(“实线”表示)”为传统的有限时间收敛滑模控制方法“C2”在关节1处的控制输入;“C2_u2(“虚线”表示)”为传统的有限时间收敛滑模控制方法“C2”在关节2处的控制输入。备注:从力矩/力的平滑特性看,控制方法“C2”的输出则存在严重的震荡和饱和问题。图7中,“C3_u1(“实线”表示)”为本发明提出的自适应有限时间收敛滑模控制方法“C3”在关节1处的控制输入;“C3_u2(“虚线”表示)”为本发明提出的自适应有限时间收敛滑模控制方法“C3”在关节2处的控制输入。备注:从力矩/力的平滑特性看,控制方法“C3”的输出最为平滑。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1