本发明属于轨迹跟踪控制领域,尤其涉及一种具有初态学习的机械臂分数阶迭代学习控制方法及系统。
背景技术:
随着科学技术发展,机器人已经广泛应用到航天、医疗和军事,甚至日常生活及娱乐教育等各个领域。制造机器人初期的目的是把它当作一种自动化装置,服务于制造业。随着理论和技术的日益成熟,人们对机器人提出了越来越多的要求。
机器人系统是一个典型的高度非线性、强耦合的动力学系统,其高精度控制问题一直是工业自动化领域研究的热点。目前,机器人机械臂的精确控制方法有:变结构控制、滑模控制、鲁棒控制和学习控制等;然而前几种控制方法均为有模型控制,机械臂实际运行过程中存在的摩擦、高频特性、载荷变化以及其它不确定干扰因素势必会对控制品质造成影响。受人类智能行为启发,学习控制以非常简单的方式和需要较少的先验知识处理不确定程度相当高的动态系统,因此得到了广泛的研究和应用。
轨迹跟踪学习控制方法可以实现对期望轨迹的完全跟踪,然而现有的方法均要求系统满足严格重置条件,即每次迭代时的系统初态与期望轨迹初态保持一致,在实际跟踪控制尝试时,因为重复定位精度的限制,机器人初态容易产生初始定位误差。因为机器人控制系统的输出轨迹关于初值具有连续依赖性,初始定位误差的累加会导致跟踪轨迹与期望轨迹误差大,降低了跟踪的准确性。
技术实现要素:
为了解决现有技术的缺点,本发明的第一目的是提供一种具有初态学习的机械臂分数阶迭代学习控制方法。
本发明的一种具有初态学习的机械臂分数阶迭代学习控制方法,包括:
步骤1:建立机械臂系统的动力学模型,预设机械臂系统的期望运动轨迹;
步骤2:初始化机械臂系统的状态量的初态以及系统输入,根据机械臂系统的动力学模型,求取机械臂系统的实际运动轨迹;
步骤3:计算并判断实际运动轨迹与期望运动轨迹两者的跟踪误差是否为零,若跟踪误差为零,则实际运动轨迹与期望运动轨迹重合,结束;否则,进入下一步;
步骤4:根据跟踪误差的初态及设定的初态学习增益来修正机械臂系统的状态量的初态,根据跟踪误差以及设定的输入学习增益和分数阶数来修正机械臂系统的系统输入,进而求取机械臂系统的实际运动轨迹,返回步骤3。
进一步地,在所述步骤4中,利用具有初态学习的闭环分数阶Dα型迭代学习控制算法来修正机械臂系统的状态量的初态以及系统输入,其中,α∈(0,1)为分数阶的阶数。
进一步地,在步骤1中,建立机械臂系统的动力学模型之前,确定机械臂系统的自由度,根据拉格朗日-欧拉法,得到相应自由度的机械臂系统的动力学模型。
本发明利用分数阶迭代学习控制机械臂系统,不需要机械臂系统的精确描述,能够根据以前操作数据,自动地调节不理想的输入信号来控制机械臂系统,从而使得机械臂系统的性能得以提高;而且本发明在控制效果上具有更快的收敛速度和更好的鲁棒性,最终使得机械臂快速准确地实现跟踪任务。
本发明的控制方法利用了初态学习律有效地解决了迭代学习控制要求初态严格重复的局限性,即不需要每次跟踪学习过程中系统的初态状态和期望跟踪轨迹的初始状态都相等,使得控制方法更适用于实际系统控制环境。
本发明的第二目的是提供一种机械臂控制系统。
本发明的机械臂控制系统,包括:
控制器,其应用如上述所述的具有初态学习的机械臂分数阶迭代学习控制方法来控制机械臂驱动机构运动;
所述机械臂驱动机构与机械臂系统相连,机械臂驱动机构用于在控制器的控制下来驱动机械臂系统运动。
进一步地,所述机械臂驱动机构为驱动电机。
进一步地,所述机械臂系统包括机械臂,所述机械臂与关节相连,所述机械臂与机械臂驱动机构相连,在控制器的作用下绕关节运动。
进一步地,所述机械臂系统为n自由度机械臂系统,其中,n为正整数。
本发明的该机械臂控制系统利用分数阶迭代学习控制机械臂系统,不需要机械臂系统的精确描述,能够根据以前操作数据,自动地调节不理想的输入信号来控制机械臂系统,从而使得机械臂系统的性能得以提高;而且本发明在控制效果上具有更快的收敛速度和更好的鲁棒性,最终使得机械臂快速准确地实现跟踪任务。
本发明的第三目的是提供一种机器人。
本发明的机器人,包括机器人本体以及机械臂系统,所述机械臂系统与如上述所述的机械臂控制系统相连。
本发明的机器人利用分数阶迭代学习控制机械臂系统,不需要机械臂系统的精确描述,能够根据以前操作数据,自动地调节不理想的输入信号来控制机械臂系统,从而使得机械臂系统的性能得以提高;而且本发明在控制效果上具有更快的收敛速度和更好的鲁棒性,最终使得机械臂快速准确地实现跟踪任务。
本发明的有益效果为:
(1)本发明利用分数阶迭代学习控制机械臂系统,不需要机械臂系统的精确描述,能够根据以前操作数据,自动地调节不理想的输入信号来控制机械臂系统,从而使得机械臂系统的性能得以提高;而且本发明在控制效果上具有更快的收敛速度和更好的鲁棒性,最终使得机械臂快速准确地实现跟踪任务。
(2)本发明的控制方法利用了初态学习律有效地解决了迭代学习控制要求初态严格重复的局限性,即不需要每次跟踪学习过程中系统的初态状态和期望跟踪轨迹的初始状态都相等,使得控制方法更适用于实际系统控制环境。
附图说明
图1是本发明的具有初态学习的机械臂系统分数阶迭代学习控制原理图;
图2是本发明的具有初态学习的机械臂系统分数阶迭代学习控制方法流程图;
图3是两关节机械臂示意图;
图4是随着迭代次数的增加,机械臂各关节跟踪误差曲线图;
图5(a)是迭代30次时的机械臂的第一关节跟踪结果;
图5(b)是迭代30次时的机械臂的第二关节跟踪结果。
具体实施方式
下面结合附图与实施例对本发明做进一步说明:
实施例1
如图1和图2所示,本发明的具有初态学习的机械臂分数阶迭代学习控制方法,包括:
步骤1:建立机械臂系统的动力学模型,预设机械臂系统的期望运动轨迹;
步骤2:初始化机械臂系统的状态量的初态以及系统输入,根据机械臂系统的动力学模型,求取机械臂系统的实际运动轨迹;
步骤3:计算并判断实际运动轨迹与期望运动轨迹两者的跟踪误差是否为零,若跟踪误差为零,则实际运动轨迹与期望运动轨迹重合,结束;否则,进入下一步;
步骤4:根据跟踪误差的初态及设定的初态学习增益来修正机械臂系统的状态量的初态,根据跟踪误差以及设定的输入学习增益和分数阶数来修正机械臂系统的系统输入,进而求取机械臂系统的实际运动轨迹,返回步骤3。
在步骤4中,利用具有初态学习的闭环分数阶Dα型迭代学习控制算法来修正机械臂系统的状态量的初态以及系统输入,其中,α∈(0,1)为分数阶的阶数。
在步骤1中,建立机械臂系统的动力学模型之前,确定机械臂系统的自由度,根据拉格朗日-欧拉法,得到相应自由度的机械臂系统的动力学模型。
本实施例以包含n个刚性连杆和n个旋转关节的机械臂系统为例,n为正整数:
由拉格朗日-欧拉法得,到该n自由度的机械臂系统的动力学模型为:
式中:θ,分别表示机械臂关节位置、速度和加速度向量;τ表示作用在关节上的广义力矩向量;D(θ)∈Rn×n为惯性矩阵;表示非线性哥氏力和向心力矢量;g(θ)∈Rn为重力项。
设机械臂系统(1)在有限时间区间[0,T]上重复运行以实现期望运动θd(t)的跟踪,则第k次迭代运行系统(1)的动力学方程可表示为:
对系统(1)考虑如下反馈-前馈控制方法:
其中:用于消除重力项;位置反馈增益kρ和速度反馈增益kv是常量矩阵;选取合适的反馈增益时,机械臂通常仅能跟踪期望运动轨迹的附近;k为下标,表示第k次运行系统,也就是迭代次数,且k正整数;含有下标d的参数表示期望轨迹的相应参数。因此,增加采用学习方法的输入项uk以减少系统的响应与期望运动间存在的偏差。
将式(3)代入式(2)有:
化简整理,得到:
其中,xk(t)=θk(t)-θd(t);
R(t)=D(θd);
g1(t)=-R-1(t)h(t);
其中,n1,n2,n3分别是关于的高阶项;下标k表示第k次迭代,含有下标d的参数表示期望轨迹的相应参数;R(t)总是正定的。
为实现机械臂对期望轨迹的跟踪,定义系统输出为如下形式:
其中:In表示n*n的单位矩阵,n是机械臂自由度数。
其中,本发明的具有初态学习的闭环分数阶Dα型迭代学习控制算法为:
其中:α∈(0,1)为分数阶的阶数;ek(t)=yd(t)-yk(t)表示第k次迭代机械臂系统的跟踪误差;yd(t)表示期望轨迹;yk(t)表示第k次迭代运行时机械臂系统的输出轨迹;L和η是待定的初态学习增益和输入学习增益;ek(0)表示第k次迭代运行时机械臂系统的跟踪误差的初态;xk(0)为第k次迭代运行时机械臂系统的状态量的初态;xk+1(0)为第k+1次迭代运行时机械臂系统的状态量的初态;uk(t)为第k次迭代运行时机械臂系统的系统输入;uk+1(t)为第k+1次迭代运行时机械臂系统的系统输入。
仿真验证:
如图3所示,二自由度旋转关节机械臂进行仿真实验该机械臂以平面运动为例,因此忽略重力项,对应系统(1)的系数矩阵分别为:
其中,
mi,liIi分别表示第i个连杆的质量,长度和转动惯量;i=1,2。
仿真时取:m1=m2=4kg,l1=2m,l2=1m,I1=I2=1kg·m2,
τ=[τ1,τ2,τ3]T=[21,4,2]T。
机械臂期望的运动轨迹θ1和θ2分别选为时间区间[0,1]s上的q1,d(t)=sint和q2,d(t)=cos t,设系统的初始误差为xk(0)=θk-θd=[0.1,0.1]T。根据算法收敛条件,分别选取学习控制算法中的学习增益为η=20;α=0.95;L=0.95。从图中可以看到随着迭代次数的增加,机械臂不断趋向于期望轨迹。图4是位置跟踪误差,图5(a)和图5(b)分别是第一关节和第二关节迭代第30次的跟踪效果图,从图中可以看出,本发明提出的机械臂轨迹跟踪控制方法具有较好的控制性能。
实施例2
本发明还提供了一种机械臂控制系统,该机械臂控制系统包括:控制器,其应用如图2所示的具有初态学习的机械臂分数阶迭代学习控制方法来控制机械臂驱动机构运动;
机械臂驱动机构与机械臂系统相连,机械臂驱动机构用于在控制器的控制下来驱动机械臂系统运动。
其中,机械臂驱动机构为驱动电机。
机械臂系统包括机械臂,所述机械臂与关节相连,所述机械臂与机械臂驱动机构相连,在控制器的作用下绕关节运动。
机械臂系统为n自由度机械臂系统,其中,n为正整数。
本实施例的该机械臂控制系统利用分数阶迭代学习控制机械臂系统,不需要机械臂系统的精确描述,能够根据以前操作数据,自动地调节不理想的输入信号来控制机械臂系统,从而使得机械臂系统的性能得以提高;而且本发明在控制效果上具有更快的收敛速度和更好的鲁棒性,最终使得机械臂快速准确地实现跟踪任务。
实施例3
本发明还提供了一种机器人,该机器人包括机器人本体以及机械臂系统,所述机械臂系统与如实施例2所示的机械臂控制系统相连。
机器人本体以及机械臂系统均是现有结构,此处将不再累述。
本实施例的该机器人利用分数阶迭代学习控制机械臂系统,不需要机械臂系统的精确描述,能够根据以前操作数据,自动地调节不理想的输入信号来控制机械臂系统,从而使得机械臂系统的性能得以提高;而且本发明在控制效果上具有更快的收敛速度和更好的鲁棒性,最终使得机械臂快速准确地实现跟踪任务。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。