掌桥专利:专业的专利平台
掌桥专利
首页

一种基于数据驱动的液压机械臂高精度控制方法及系统

文献发布时间:2023-06-19 18:46:07


一种基于数据驱动的液压机械臂高精度控制方法及系统

技术领域

本发明属于液压机械臂控制技术领域,具体涉及一种基于数据驱动的液压机械臂高精度控制方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

随着计算机技术以及人工智能的发展,机器人在诸多场景中得到应用。其中,液压驱动机械臂因其输出力矩大、传动平稳、控制精度高等优势被广泛应用于救援抢险、军事、农业、深海探索等各种特种作业领域。针对石化爆燃环境,机器人需要完成关阀、堵漏等应急处置操作,为了满足复杂环境下非结构对象的作业任务需求,液压驱动机械臂须具备精细化作业能力。

液压驱动机器人是典型的机电液系统,存在高度非线性(摩擦、阀的压力流量、饱和及滞环非线性等)、参数不确定性(磨损或润滑条件引起的粘性摩擦和库仑摩擦系数的变化、环境变化引起的液压油弹性模量的变化)等,增加了液压系统精确建模的难度。

发明内容

为了解决上述问题,本发明提出了一种基于数据驱动的液压机械臂高精度控制方法及系统,本发明采用改进粒子群算法和模糊控制优化PID参数并结合微分跟踪器滤波,此方法不依赖系统精确模型,无需设计复杂的控制率也不需要大量数据离线训练,使系统具有更快收敛速度、更高收敛精度和更强稳定性。

根据一些实施例,本发明的第一方案提供了一种基于数据驱动的液压机械臂高精度控制方法,采用如下技术方案:

一种基于数据驱动的液压机械臂高精度控制方法,包括:

获取液压机械臂的当前关节角度以及期望关节角度;

基于液压机械臂的当前关节角度,利用微分跟踪器来消除关节角度误差在跟踪前期的波动;

基于消除误差后的液压机械臂的当前关节角度和期望关节角度,利用模糊控制确定PID控制器的控制参数;

利用基于Tent映射的自适应精英策略粒子群算法优化PID控制器的控制参数,得到PID控制器的最优控制参数;

基于PID控制器的最优控制参数,控制液压机械臂到期望关节角度。

进一步地,所述利用基于Tent映射的自适应精英策略粒子群算法优化PID控制器的控制参数,包括:

将PID控制器的控制参数作为粒子群,基于Tent混沌初始化粒子群,随机产生所有粒子的位置;

通过选择适应度函数,计算每个粒子的适应度函数值;

采用自适应精英变异策略产生混沌序列,增大粒子寻优范围,获取精英粒子;

对每个粒子,将其适应值与该粒子所经历过的最优位置的适应值进行比较,若优于,则将其作为当前个体最优位置;

对每个粒子,将其适应值与整个粒子群所经历过的最优位置的适应值进行比较,若优于,则将其作为当前群体最优位置;

更新自适应权值以及学习因子;

通过个体最优位置和群体最优位置对粒子的速度和位置进行更新;

如果没有满足终止条件,则返回继续计算每个粒子的适应度函数值;否则,退出算法,得到最优解;

基于最优解确定PID控制器的粒子优化控制参数。

进一步地,所述采用自适应精英变异策略产生混沌序列,增大粒子寻优范围,获取精英粒子,包括:

将gbest作为种群精英粒子,在每一代种群进化过程中,对gbest做自适应变异操作;

变异后的新个体gbest*适应值若优于原gbest适应值,则gbest*取代原gbest,参与到新一轮的进化过程中;

新全局最优个体gbest*在后续进化过程中将吸引其他粒子,从而帮助粒子跳出局部最优位。

进一步地,所述适应度函数的选择规则是:

采用误差绝对值时间积分性能指标作为参数选择的最小目标函数。

进一步地,所述将PID控制器的控制参数作为粒子群,基于Tent混沌初始化粒子群,随机产生所有粒子的位置,包括:

将粒子所在位置x

式中:[ak,bk]为第k维变量x

按照Tent映射公式迭代M次产生混沌序列

按照以下公式将混沌序列中的点映射回原空间;

由这些混沌序列得到x

进一步地,所述自适应权值更新,采用如下公式,具体为:

(1)ω

(2)

(3)

(4)适应度越小,说明距离最优解越近,此时更需要局部搜索;适应度越大,说明距离最优解越远,此时跟需要全局搜索。

进一步地,采用异步变化的学习因子,c

式中,学习因子c

根据一些实施例,本发明的第二方案提供了一种基于数据驱动的液压机械臂高精度控制系统,采用如下技术方案:

一种基于数据驱动的液压机械臂高精度控制系统,包括:

数据采集模块,被配置为获取液压机械臂的当前关节角度以及期望关节角度;

关节角度误差滤波模块,被配置为基于液压机械臂的当前关节角度,利用微分跟踪器来消除关节角度误差在跟踪前期的波动;

PID控制器参数确定模块,被配置为基于消除误差后的液压机械臂的当前关节角度和期望关节角度,利用模糊控制确定PID控制器的控制参数;

PID控制器参数优化模块,被配置为利用基于Tent映射的自适应精英策略粒子群算法优化PID控制器的控制参数,得到PID控制器的最优控制参数;

液压机械臂控制模块,被配置为基于PID控制器的最优控制参数,控制液压机械臂到期望关节角度。

根据一些实施例,本发明的第三方案提供了一种计算机可读存储介质。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的一种基于数据驱动的液压机械臂高精度控制方法中的步骤。

根据一些实施例,本发明的第四方案提供了一种计算机设备。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的一种基于数据驱动的液压机械臂高精度控制方法中的步骤。

与现有技术相比,本发明的有益效果为:

本发明采用改进粒子群算法和模糊控制优化PID参数并结合微分跟踪器滤波,此方法不依赖系统精确模型,无需设计复杂的控制率也不需要大量数据离线训练,使系统具有更快收敛速度、更高收敛精度和更强稳定性;所需系统模型信息少,抗干扰能力强且易于工程实现的基于数据驱动的无模型控制器具有重要的工程意义。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1是本发明实施例所述的一种基于数据驱动的液压机械臂高精度控制系统框图;

图2是本发明实施例所述的基于Tent映射的自适应精英策略粒子群算法流程图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例一

如图1所示,本实施例提供了一种基于数据驱动的液压机械臂高精度控制方法。本实施例中,该方法包括以下步骤:

获取液压机械臂的当前关节角度以及期望关节角度;

基于液压机械臂的当前关节角度,利用微分跟踪器来消除关节角度误差在跟踪前期的波动,得到滤波后的角度误差;

基于滤波后的角度误差,利用基于Tent映射的自适应精英策略粒子群算法优化PID控制器的控制参数,得到PID控制器的粒子优化控制参数;

根据滤波后的角度误差以及滤波后的角度误差的导数,利用模糊控制算法优化PID控制器的粒子优化控制参数,得到PID控制器的模糊优化控制参数;

根据PID控制器的粒子优化控制参数以及PID控制器的模糊优化控制层参数的和,得到PID控制器的最优控制参数;

基于PID控制器的最优控制参数,控制液压机械臂到期望关节角度。

具体地,所述利用基于Tent映射的自适应精英策略粒子群算法优化PID控制器的控制参数,包括:

将PID控制器的控制参数作为粒子群,基于Tent混沌初始化粒子群,随机产生所有粒子的位置和速度;

通过选择适应度函数,计算每个粒子的适应度函数值;

采用自适应精英变异策略产生混沌序列,增大粒子寻优范围,获取精英粒子;

对每个粒子,将其适应值与该粒子所经历过的最优位置的适应值进行比较,若优于,则将其作为当前个体最优位置;

对每个粒子,将其适应值与整个粒子群所经历过的最优位置的适应值进行比较,若优于,则将其作为当前群体最优位置;

更新自适应权值以及学习因子;

通过个体最优位置和群体最优位置对粒子的速度和位置进行更新;

如果没有满足终止条件,则返回继续计算每个粒子的适应度函数值;否则,退出算法,得到最优解;

基于最优解确定PID控制器的粒子优化控制参数。

具体地,所述采用自适应精英变异策略产生混沌序列,增大粒子寻优范围,获取精英粒子,包括:

将gbest作为种群精英粒子,在每一代种群进化过程中,对gbest做自适应变异操作;

变异后的新个体gbest*适应值若优于原gbest适应值,则gbest*取代原gbest,参与到新一轮的进化过程中;

新全局最优个体gbest*在后续进化过程中将吸引其他粒子,从而帮助粒子跳出局部最优位。

具体地,所述适应度函数的选择规则是:

采用误差绝对值时间积分性能指标作为参数选择的最小目标函数。

具体地,所述将PID控制器的控制参数作为粒子群,基于Tent混沌初始化粒子群,随机产生所有粒子的位置,包括:

将粒子所在位置x

式中:[ak,bk]为第k维变量x

按照Tent映射公式迭代M次产生混沌序列

按照以下公式将混沌序列中的点映射回原空间;

由这些混沌序列得到x

具体地,所述自适应权值更新,采用如下公式,具体为:

(1)ω

(2)

(3)

(4)适应度越小,说明距离最优解越近,此时更需要局部搜索;适应度越大,说明距离最优解越远,此时跟需要全局搜索。

具体地,采用异步变化的学习因子,c

式中,学习因子c

具体地,本实施例所述的方法的详细过程,包括:

获取液压机械臂的当前关节角度以及期望关节角度;

基于液压机械臂的当前关节角度,利用微分跟踪器来消除关节角度误差在跟踪前期的波动,得到滤波后的角度误差;

滤波后的液压机械臂角度误差信号为改进粒子群参数寻优模块提供输入,此处改进粒子群算法为基于Tent映射的自适应精英策略粒子群算法,输出优化参数kp’,ki’,kd’;

滤波后的液压机械臂角度误差信号以及此信号的导数将作为输入进入模糊逻辑模块,经过模糊经验库得到优化参数kp”,ki”,kd”;

将改进粒子群寻优模块以及模糊逻辑模块得到的优化参数相加得到最优控制参数kp.ki.kd;

即kp=kp’+kp”,ki=ki’+ki”,kd=kd’+kd”。

基于PID控制器的最优控制参数,控制液压机械臂到期望关节角度。

一、基于Tent映射的自适应精英策略粒子群算法:

粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。

v

x

v

如果c

如果c

如果c

在粒子群优化算法中,惯性权重与学习因子对PSO算法有重要影响,它体现的是粒子继承先前的速度与能力,直接影响着算法的搜索速度和搜索精度。由于标准PSO算法易早熟,在搜索后期产生的全局最优解的附近会产生震荡现象等缺点,因此我们希望在早期增强全局搜索能力,后期提高局部搜索能力。根据以上问题,提出了基于Tent映射的自适应精英策略粒子群算法。

下面将介绍基于Tent映射的自适应精英策略粒子群算法的具体组成部分。

首先在搜索初期,本实施例关注全局搜索能力,因此希望扩大搜索范围,去遍历尽可能多的粒子,因此引入了混沌映射。

1.Tent混沌映射:

一般称由确定性方程得到的具有随机性的运动状态为混沌,呈现混沌状态的变量称为混沌变量。混沌是存在于非线性系统中的一种较为普遍的现象。在一定范围内混沌变量的变化具有随机性、遍历性和规律性。利用混沌变量的这些特征进行优化搜索,能使算法跳出局部最优,可保持群体多样性,改善算法的全局搜优性能,不同的混沌映射算子对于混沌寻优过程有较大的影响。文献中通过比较指出Tent映射比logistic映射具有更好的遍历均匀性,基于Tent映射的混沌优化方法具有更高的寻优效率。

Tent映射:

根据Tent映射,粒子i按照如下步骤在可行域中产生混沌点列:

(1)将粒子所在位置x

式中:[a

(2)按照Tent映射公式迭代M次产生混沌序列

(3)按照以下公式将混沌序列中的点映射回原空间

(4)由这些混沌序列可以得到xi经过Tent映射后的混沌点列:

当f>favg时,粒子质量较差,应增强粒子的全局搜索能力以及社会学习能力,减小粒子的自我学习能力;当f<favg时,粒子质量较好,应增强粒子的局部搜索能力以及自我学习能力,减小粒子的社会学习能力,保护质量较好的粒子。该算法有利于寻找全局最优解,提高粒子收敛速度,减少陷入局部最优的可能。

在搜索中期,我们关注局部搜索能力,加快粒子搜索的收敛速度,因此希望较快筛选出具有较好表现的局部粒子,因此引入了自适应精英变异策略。

2.自适应精英变异策略

为进一步降低粒子陷入局部最优的可能性,引入自适应精英变异策略(AEM)帮助粒子跳出局部最优。AEM将gbest作为种群精英粒子,在每一代种群进化过程中,对gbest做自适应变异操作。变异后的新个体(gbest*)适应值若优于原gbest适应值,则gbest*取代原gbest,参与到新一轮的进化过程中。新全局最优个体gbest在后续进化过程中将吸引其他粒子,从而帮助粒子跳出局部最优位。AEM变异操作为:

gbest

其中,F(xm)为变异扰动函数,定义为

F(xm)=arctan(xm)/Π+C

式中,xm为通过自适应生成变异种子,C是一个待定常量,它随着适应度标准差st的不同自适应选取不同变异常量,具体为:

其中,st为标准差,f

变量xm根据下式自适应控制变异大小

其中,j=1,2,...,N为维度;λ是待定常数取10;t为迭代次数,t

r(j)=|gbest(j)-avgpbest(j)|

其中,pbest[i][j]是第i个粒子在第j维上的位置。

一方面,粒子在种群迭代初期性能较差,变异值较大可对种群造成足够的扰动,从而扩大解空间;但随着迭代的深入,变异值将逐渐减小,从而确保问题平滑收敛到最优值。另一方面,自适应变异在群体极值趋于一致(r较小)时将获得较大的变异值,增强算法的搜索能力;相反,当群体搜索足够充分时,变异值减小可避免最优值的动荡,从而加快算法收敛速度。

根据上述分析可知,gbest在算法初期通过扰动函数F获得较大变异量,从而对搜索空间造成足够的扰动,使算法全局搜索能力得到增强,随着迭代的深入,变异率逐渐减小,从而有效避免最优解的振荡,加快种群的收敛速度。

在搜索后期,我们希望能够避免局部最优的问题,因此引入自适应权值和线性学习因子让粒子群算法能够动态调整,最终获得全局最优解。

3.自适应权值:

(1)wmin和wmax是预设的最小与最大惯性系数,一般wmin取0.4,wmax取0.9;

(2)favg为第d次迭代时所有粒子的平均适应度;

(3)

(4)适应度越小,说明距离最优解越近,此时更需要局部搜索;适应度越大,说明距离最优解越远,此时跟需要全局搜索。

4.线性学习因子:

在PSO算法中,学习因子赋予粒子自我总结能力和向全局最优粒子学习的能力。采用异步变化的学习因子,c

从式中可以看出,学习因子c

最后,基于Tent映射的自适应精英策略粒子群算法的评价指标在于适应度函数的选择。

5.适应度函数选择:

为了获取满意的过渡过程动态特性,采用误差绝对值时间积分性能指标作为参数选择的最小目标函数.为了防止控制能量过大,在目标函数中加入控制输入的平方项,为了避免超调,采用了惩罚功能,即一旦产生超调,将超调量作为最优指标的一项。

J=∫(w

e(t)为系统误差,u(t)为控制器输出,t

6.基于Tent映射的自适应精英策略粒子群算法的整体流程

1)基于Tent混沌初始化粒子群,随机产生所有粒子的位置和速度;

2)通过合理地选择适应度函数,计算每个粒子的适应度函数值;

3)采用自适应精英变异策略产生混沌序列,增大粒子寻优范围,获取精英粒子;

4)将其适应值与该粒子所经历过的最优位置的适应值进行比较,若较好,则将其作为当前个体最优位置;

5)对每个粒子,将其适应值与整个粒子群所经历过的最优位置的适应值进行比较,若较好,则将其作为当前群体最优位置;

6)根据公式更新自适应权值以及学习因子;

7)通过个体最优位置和群体最优位置对粒子的速度和位置进行更新;

8)如果没有满足终止条件(通常为预设的最大迭代次数和适应值下限值),则返回步骤2);否则,推出算法,得到最优解。

二、TD微分跟踪器

为了解决初始信号突变引起的的震荡,加入微分跟踪器来消除ec(关节角度误差的导数,模糊控制的输入端之一)在跟踪前期的较大波动,将其视为噪声消除。跟踪微分器避免了经典微分器对噪声具有放大效应的问题。利用TD可以在有限时间内单调跟踪指令信号。

二阶微分跟踪器输入x

三、模糊控制

1.模糊化接口

选择偏差e、偏差变化ec作为模糊语言变量。根据e、ec实际的基本论域设置为[-30,30]和[-50,50]。选取e和ec的语言变量值:正大为PB,正中为PM,正小为PS,为零为Z,负小为NS,负中为NM,负大为NB,e与ec的隶属度函数除NS和PB为高斯函数外,其余都选择为三角形。

2.规则库

①Kp加快系统响应速度,提高系统响应精度。Kp越大响应速度越快,但容易产生超调,系统稳定性降低;Kp过小系统响应时间过长,会影响系统的动态特性与调节精度。

②Ki消除系统的余差,Ki越大,系统的误差减小的越快。但Ki过大,在响应过程的初期会产生积分饱和现象,从而引起较大超调;若Ki过小,系统误差难以消除,影响系统调节精度。

③Kd预测误差变化的趋势,避免了被控量的严重超调,对有较大惯性或滞后的被控对象,能够改善系统的动态特性。但Kd过大会延长调节时间,降低系统的抗干扰性。

3.模糊推理

模糊推理的结论主要取决于模糊蕴含关系

4.去模糊化

重心法:

四、PID控制器控制机械臂

根据优化得到的PID控制器的最优控制参数,控制液压机械臂操作到期望关节角度。

实施例二

本实施例提供了一种基于数据驱动的液压机械臂高精度控制系统,包括:

数据采集模块,被配置为获取液压机械臂的当前关节角度以及期望关节角度;

关节角度误差滤波模块,被配置为基于液压机械臂的当前关节角度,利用微分跟踪器来消除关节角度误差在跟踪前期的波动,得到滤波后的角度误差;

PID控制器粒子优化模块,被配置为基于滤波后的角度误差,利用基于Tent映射的自适应精英策略粒子群算法优化PID控制器的控制参数,得到PID控制器的粒子优化控制参数;

PID控制器模糊优化模块,被配置为根据滤波后的角度误差以及滤波后的角度误差的导数,利用模糊控制算法优化PID控制器的粒子优化控制参数,得到PID控制器的模糊优化控制参数;

PID控制器最优参数确定模块,被配置为根据PID控制器的粒子优化控制参数以及PID控制器的模糊优化控制层参数的和,得到PID控制器的最优控制参数;

液压机械臂控制模块,被配置为基于PID控制器的最优控制参数,控制液压机械臂到期望关节角度。

上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。

所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。

实施例三

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种基于数据驱动的液压机械臂高精度控制方法中的步骤。

实施例四

本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种基于数据驱动的液压机械臂高精度控制方法中的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

技术分类

06120115686580