一种任务空间中不确定机械臂的控制方法与流程

文档序号:22811182发布日期:2020-11-04 05:14阅读:111来源:国知局
一种任务空间中不确定机械臂的控制方法与流程

本发明涉及工业自动化生产技术领域,特别涉及一种基于神经网络自适应迭代学习对任务空间中不确定机械臂的控制方法。



背景技术:

“工业4.0”战略自提出以来对工业自动化生产领域产生了深远的影响,加之国家政策的激励和高新电子技术的快速发展,机械臂已成为生产线上的核心角色并被广泛应用到批量化、规模化的加工制造和重复性流水作业之中,常见的有搬运、抓取操作、边界切割、实物焊接和喷涂等。由此可见,对机械臂的轨迹控制方法研究是非常重要的。

机械臂是一个典型的高度非线性、强耦合的动力学系统,这使我们很难获得机械臂的精确动力学模型和内部参数。传统的控制方法,比如pid控制、阻抗控制、前馈控制等,对系统的参数和数学模型依赖性很高,系统的不确定性往往会使得控制模型难以得到精确信号信息,从而无法达到预期效果。与此同时,智能控制方法被广泛应用于研究高度非线性、强耦合的系统,比如模糊控制、神经网络、迭代学习控制、自适应控制以及滑模控制等等,这些控制方法的优势在于不依赖与被控对象精确动力学方程的数学描述,只从仿生思维的角度来处理实际的操作与任务。近些年来,迭代学习控制方法被广泛应用在机械臂轨迹跟踪的研究中,其核心思想是利用被控对象的动态过程与期望的理想轨迹之间的误差来调整修正,并沿迭代方向逐渐完成被控对象趋近至最终完全符合期望轨迹。随着迭代学习理论的深入发展和不断拓展,出现了自适应迭代学习控制、鲁棒迭代学习控制、最优迭代学习控制等新型迭代学习控制方法。

自适应迭代学习控制方法是自适应控制理论与迭代学习控制的结合,在迭代学习过程可以对不确定的参数进行辨识和修正并且可以自动适应外界的变化,这大大提高了系统的稳定性和鲁棒性,但是它也存在一些不足,比如在处理非周期性的误差和外部干扰以及在估计未知的系统参数时,花费大量时间计算和调整,降低了学习速度和误差收敛精度。将神经网络与自适应迭代学习控制相结合,不仅可以处理非周期性的误差干扰,还具有逼近高度非线性系统和未知参数的优良性能,大大提高了学习速度和误差收敛精度。



技术实现要素:

本发明针对现有技术的缺陷,提供了一种任务空间中不确定机械臂的控制方法,解决了现有技术中存在的缺陷。

为了实现以上发明目的,本发明采取的技术方案如下:

一种任务空间中不确定机械臂的控制方法,包括以下步骤:

a.机械臂动力学建模;

根据机械臂正向运动学和逆运动学关系,建立机械臂系统在关节空间下的动力学数学模型,引入一个雅可比矩阵将关节空间下的动力学模型映射到任务空间下,考虑到建模过程中存在微小误差和一些不确定项,将机械臂系统在任务空间下的动力学模型进行重新变形整理,得到一个新的机械臂动力学模型。

b.根据重新得到的机械臂动力学模型,设计神经网络自适应迭代学习控制器的控制方案,对任务空间下机械臂末端施加的控制力进行设计,对神经网络自适应迭代学习控制控制器进行设计,采用rbf神经网络对所有非周期性误差和外部干扰进行逼近和补偿,对神经网络的更新率进行设计。

进一步地,步骤a中引入一个雅可比矩阵将关节空间下的动力学模型映射到任务空间下公式为:

其中关节空间到任务空间的映射关系如下:

式(1)中分别表示在关节空间下的角度、角速度和任务空间下的末端位置、末端移动速度,分别表示在关节空间下各关节的输入控制力矩和任务空间下的施加在末端的控制力,表示雅可比矩阵,表示惯量矩阵,表示离心力和哥氏力项,为重力项,d(t)表示非周期性的不确定项和机器人内部摩擦,d表示外部环境干扰。

所示新的机械臂动力学模型如下:

式(3)中δmx(q),δgx(q)分别表示在建模过程中mx(q),gx(q)的不确定项。

进一步地,步骤b中对任务空间下机械臂末端施加的控制力设计如下:

把方程式(4)代入方程式(3)中可得

其中

进一步地,步骤b中神经网络自适应迭代学习控制控制器设计如下:

式(6)中分别表示机械臂末端第k次迭代的实际轨迹、实际移动速度;机械臂末端的期望轨迹、期望移动速度;第k次迭代误差、第k次迭代误差跟踪速度,式(7)中δ表示机器人内部不确定项,表示第k次迭代自适应估计δ的值,k1,k2表示增益参数,γ表示自适应律增益矩阵。表示rbf神经网络权重,表示rbf神经网络的输入,表示对w的估计值,表示高斯基函数,用来估计所有不确定项的非周期性部分,自适应迭代学习用来处理所有不确定项的周期性部分。

进一步地,步骤b中采用rbf神经网络对所有非周期性误差和外部干扰进行逼近和补偿公式如下:

式(8)中表示对f最佳辨识的神经网络权值,ε(u)表示rbf神经网络建模误差,表示对f(u)最理想的估计值。

rbf神经网络算法表示如下:

式(9)中分别表示神经网络的中心矢量和基宽度参数,表示神经网络的输入,表示神经网络第j个隐藏层的输出,表示第i个神经网络的输出,表示第j个隐藏输出层到第i个神经网络输出的权重,表示整个rbf神经网络的输出。

进一步地,步骤b中神经网络的更新率设计如下:

式(10)中为了提高系统的学习速度和分析系统的稳定性,引入一个ek(t),其构成是由误差和误差的导数之和,并还用于神经网络更新率的设计,ψ是一个正定的对角增益矩阵。

与现有技术相比,本发明的优点在于:

1.解决了机械臂末端轨迹快速跟踪的问题。

2.在自适应迭代学习控制的基础之上加入了神经网络,提高了机械臂系统的学习速度和误差收敛精度。

3.在误差精度方面可以控制在10-3数量级。

附图说明

图1为本发明实施例机械臂控制的simulink仿真框图;

图2为本发明实施例迭代学习算法的模型图;

图3为本发明实施例平面二关节机械臂示意图;

图4为本发明实施例20次迭代过后机械臂末端位置x方向的轨迹跟踪图;

图5为本发明实施例20次迭代过后机械臂末端位置y方向的轨迹跟踪图;

图6为本发明实施例机械臂关节1的模型误差与神经网络补偿图;

图7为本发明实施例机械臂关节2的模型误差与神经网络补偿图;

图8为本发明实施例20次迭代过程中机械臂两种控制方案的x方向的误差收敛对比图;

图9为本发明实施例20次迭代过程中机械臂两种控制方案的y方向的误差收敛对比图;

图10为本发明实施例20次迭代过后机械臂末端在任务空间的轨迹图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实施例,对本发明做进一步详细说明。

一种任务空间中不确定机械臂的控制方法,包括以下步骤:

a.机械臂动力学建模部分:

根据机械臂正向运动学和逆运动学关系,建立机械臂系统在关节空间下的动力学数学模型,引入一个雅可比矩阵将关节空间下的动力学模型映射到任务空间下。

其中关节空间到任务空间的映射关系如下:

式(1)中分别表示在关节空间下的角度、角速度和任务空间下的末端位置、末端移动速度,分别表示在关节空间下各关节的输入控制力矩和任务空间下的施加在末端的控制力,表示雅可比矩阵,表示惯量矩阵,表示离心力和哥氏力项,为重力项,d(t)表示非周期性的不确定项和机器人内部摩擦,d表示外部环境干扰。

考虑到建模过程中存在微小误差和一些不确定项,将机械臂系统在任务空间下的动力学模型进行重新变形整理,得到一个新的动力学模型。

式(3)中δmx(q),δgx(q)分别表示在建模过程中mx(q),gx(q)的不确定项。

b.控制器设计部分:

根据重新得到的机械臂动力学模型,设计自适应迭代学习控制器和神经网络自适应迭代学习控制器两种控制方案,其中自适应迭代学习控制器作为对比方案。

对任务空间下机械臂末端施加的控制力设计如下:

把方程式(4)代入方程式(3)中可得

其中

自适应迭代学习控制器设计如下:

式(6)中分别表示机械臂末端第k次迭代的实际轨迹、实际移动速度;机械臂末端的期望轨迹、期望移动速度;第k次迭代误差、第k次迭代误差跟踪速度,式(7)中δ表示机器人内部不确定项,表示第k次迭代自适应估计δ的值,其中当k=0时,k1,k2表示增益参数,γ表示自适应律增益矩阵。

神经网络自适应迭代学习控制控制器设计如下:

式(8)中表示rbf神经网络权重,表示rbf神经网络的输入,表示对w的估计值,表示高斯基函数,用来估计所有不确定项的非周期性部分,自适应迭代学习用来处理所有不确定项的周期性部分。

采用rbf神经网络对所有非周期性误差和外部干扰进行逼近和补偿

式(9)中表示对f最佳辨识的神经网络权值,ε(u)表示rbf神经网络建模误差,表示对f(u)最理想的估计值。

rbf神经网络算法表示如下:

式(10)中分别表示神经网络的中心矢量和基宽度参数,表示神经网络的输入,表示神经网络第j个隐藏层的输出,表示第i个神经网络的输出,表示第j个隐藏输出层到第i个神经网络输出的权重,表示整个rbf神经网络的输出。

神经网络的更新率设计如下:

式(11)中为了提高系统的学习速度和分析系统的稳定性,引入一个ek(t),其构成是由误差和误差的导数之和,并还用于神经网络更新率的设计,ψ是一个正定的对角增益矩阵。

c.机械臂simulink仿真模型搭建:

如图1所示,在matlab2016a/simulink中建立机械臂控制仿真模型,包括:控制输入模块1、数据汇总一3、自适应算法模块4、数据汇总二6、迭代学习模块7、控制器模块8、被控对象机械臂模块9、数据分流二10、数据分流一11、控制力矩信号12、误差及其补偿信号13、跟踪速度信号14、实际轨迹信号15和计时器17,其中控制输入模块1里面设定为机械臂模块9的期望轨迹2,包含机械臂末端的期望轨迹和期望移动速度输入信号;自适应算法模块4、迭代学习模块7用于自适应参数迭代学习得到自适应项5;每一次迭代完成之后,都会得到一组轨迹跟踪结果和关节控制力矩;控制器模块8为设定被控对象机械臂系统的控制算法包含式(6)、式(7)、式(8)、式(9)和式(11);被控对象机械臂模块9定义机械臂动力学的数学模型包含式(2)和式(3);数据汇总一3和数据汇总二6将多种输入信号和反馈信号汇总组成一个单一的矢量输出;数据分流一11将被控对象机械臂9的输出矢量信号分流为跟踪速度信号14和实际轨迹信号15并反馈到数据汇总一3;数据分流二10将控制器模块8的输出矢量信号分流为控制力矩信号12和误差及其补偿信号13;计时器17用于实时显示系统运行时间18。如图2所示,机械臂的迭代学习模型框图如下:输入变量19为输入变量20为和输入变量21为定义第k次迭代的位置误差22即ek(t)为期望轨迹26即xd(t)与第k次迭代的轨迹23即xk(t)的差值;第k+1次迭代的位置误差24即ek+1(t)为期望轨迹26即xd(t)与第k+1次迭代的轨迹25即xk+1(t)的差值。

d.机械臂控制算法仿真参数设置部分:

机械臂控制算法仿真参数设置包括对两个控制器方案的参数设置,本次仿真在平面二关节机械臂(如图3)进行实验,整个仿真平台在装有windows10操作系统和酷睿i5处理器的电脑上运行,其动力模型参数设置如下:

其中

其中m(i)由式m=n+pll给出,有

更多细节仿真参数信息设置如下,m1=2.125kg,m2=1.025kg,g=9.81m/s2,m3=1.05kg,m4=2.15kg,m5=1.05kg,l1=1m,l2=1m;定义非周期性的不确定项和静摩擦力与外部干扰总和为定义机械臂动力学模型不确定项为δmx(q)=0.2mx(q),δgx(q)=0.2gx(q);pl为负载,为了测试控制器对载荷扰动的抑制能力,在t=4.0s时载荷pl值从0变到0.5。

在任务空间中的理想跟踪轨迹设定如下:

定义x方向的初始位置为x(0)=1rad,y方向的初始位置为y(0)=0.705rad;x方向的初始跟踪速度为y方向的初始跟踪速度为rbf神经网络的基宽度参数为b=5,rbf神经网络的中心矢量为cj=1×j,j=0,±1,±2;选取k1=11,k2=0.65,γ=5,运行时间t=20s。

e.仿真结果分析部分:

通过仿真结果分析,在迭代20次后,分别得到了机械臂末端位置的轨迹跟踪情况,模型误差和神经网络补偿情况,两种控制器方案的误差收敛情况以及机械臂末端位置情况。具体包括20次迭代过后的机械臂末端位置x方向和y方向的轨迹跟踪图,关节1和关节2的模型误差与神经网络补偿图,两种控制器方案在20次迭代过后x方向和y方向的误差收敛图,20次迭代过后机械臂末端的轨迹图。20次迭代过后的机械臂末端位置x方向和y方向的轨迹跟踪如图4和图5所示,可以看出机械臂末端的实际轨迹与期望轨迹完美跟踪,关节1的模型误差和神经网络补偿如图6所示,可以看出在时间t=3s之前出现剧烈抖动说明误差变化较大,随着神经网络的补偿作用,在时间t=4s过后神经网络补偿曲线逐渐与模型误差曲线跟踪说明神经网络起到了良好的误差补偿效果,关节2的模型误差和神经网络补偿如图7所示,在t=2s之前误差变化较大,但在t=3s左右神经网络补偿曲线基本与误差曲线重合并控制很小的范围内波动,20次迭代过程中两种控制器方案的对比效果如图8和图9所示,图8和图9的数据是每次迭代过程中x方向和y方向的误差绝对值的最大值,蓝色曲线代表的是自适应迭代学控制方案,红色曲线代表的是神经网络自适应迭代学习控制方案,虽然两种控制方案都能将误差精度控制在10-3数量级,但明显看出神经网络自适应迭代学控制方案的学习速度更快以及误差收敛精度更高。图10表示20次迭代过后机械臂末端在任务空间下的轨迹图。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

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