本发明涉及自动控制技术领域,尤其涉及一种直接自适应控制方法及装置。
背景技术:
自适应控制是现代控制理论中最具前景的一个分支,并在航天航空、电子通信、能源供给、交通运输、环境保护、武器装备、过程控制、电力电子、机器制造、轻工建材等领域获得了广泛的应用。
随着科技的发展和进步,生产工艺和作业程序变得越来越复杂,人们对系统的精度和稳定性要求越来越高,从而致使控制器设计的难度也变得越来越大。对于这一情况,简单的针对定常系统的反馈控制已经远远满足不了高难度的控制要求,因此“自适应控制”的思想也由此产生,也就是通过量测系统输入和输出信息,实时地掌握被控对象和系统误差的动态特性,并根据其变化情况及时调节控制量,使系统的控制性能最优或达到满意的要求。
世界进入20世纪80年代以后,伴随着现代控制理论的成熟,微电子技术和计算机技术的发展,以及廉价微型计算机和处理器的出现,自适应控制技术的应用更加广泛。至今,自适应控制不仅在工业领域取得较大成功,在社会、经济、和医学等非工业领域也开展了有益的探索。在工业领域,自适应控制主要运用于:智能化高精度机电或电液系统控制,主要是针对机器人、不间断电源、电机或液压伺服系统等的控制;工业过程控制,主要包括化工过程、冶金过程、食品加工过程、造纸过程、钢铁制造过程、机械加工过程等应用领域;如今热门的航天航空、航海和汽车无人驾驶领域;柔性结构与振动和噪声的控制和电力系统的控制等等。而在非工业领域,自适应控制的应用虽然并不广泛,但已有成功实例。显示出良好的前景,比如在社会、经济和管理领域中自适应控制的思想能够用来拟定商品供应量,以获取最大利润;在环境和生物医学领域中运用自适应控制来控制药剂剂量或者食物供给, 使环境和生物系统保持平衡。
自适应控制的运用是针对于参数不确定系统模型。我们都知道,任何一个动态系统,通常都具有程度不同的不确定性,如:系统输入包含的随机扰动,系统的测量传感器具有测量噪声,系统数学模型的参数甚至结构具有不确定性。在这些不确定性中,常见的存在于系统中的非线性有迟滞、死区、间隙、摩擦、故障等等,无论何种非线性存在于系统中,都将对系统的稳定性造成影响,最终导致系统的不稳定的技术问题。
技术实现要素:
本发明实施例提供的一种直接自适应控制方法及装置,解决了非线性系统中存在的死区和故障非线性的技术问题,对存在非线性实现有效补偿,最终保证了系统运行的稳定性和良好的跟踪性能。
本发明实施例提供的一种直接自适应控制方法,包括:
根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型;
通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿;
对所述逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿。
优选地,根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型前还包括:
根据带有未知控制系数的非线性系统定义执行器输入τj(j=1,2,...,q)和执行器输出uj(j=1,2,...,q);
其中x∈Rn是状态变量,y∈R是系统输出,uj(j=1,2,...,q)表示系统的第j个控制输入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函数,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制系数。
优选地,根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型具体包括:
据获取到的控制系统中非线性,对存在于第j个执行器中的死区非线性, 确定执行器的动态模型为uj=D(τj),j=1,2,...,q;
其中其中d-<0,d+>0,mr,ml是未知常数,[d-,d+]表示死区区间,死区的参数满足mr≥mr0,ml≥ml0,其中mr.ml是两个正常数。
优选地,通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿具体包括:
通过构造死区的逆函数得到
根据所述逆函数确定所述死区非线性的所述动态模型为其中,执行器输入τj为
计算出虚拟控制器输入vj和设计逆模块输入vdj之间的误差为 其中DNj为有界值,为
优选地,对所述逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿具体包括:
根据控制系统中存在的故障非线性,建立故障非线性的动态模型为为 ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常数;
根据故障非线性的动态模型对存在于控制系统中的死区逆补偿误差和故障非线性进行自适应补偿。
本发明实施例提供的一种直接自适应控制装置,包括:
确定单元,用于根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型;
死区补偿单元,用于通过构造死区的逆函数,对死区非线性的动态模型 进行逆补偿;
逆补偿误差和故障消除单元,用于对所述逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿。
优选地,直接自适应控制装置还包括:
定义单元,用于根据带有未知控制系数的非线性系统 定义执行器输入τj(j=1,2,...,q)和执行器输出uj(j=1,2,...,q);
其中x∈Rn是状态变量,y∈R是系统输出,uj(j=1,2,...,q)表示系统的第j个控制输入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函数,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制系数。
优选地,确定单元,具体用于据获取到的控制系统中非线性,对存在于第j个执行器中的死区非线性,确定执行器的动态模型为uj=D(τj),j=1,2,...,q;
其中其中d_<0,d+>0,mr,ml是未知常数,[d_,d+]表示死区区间,死区的参数满足mr≥mr0,ml≥ml0,其中mr.ml是两个正常数。
优选地,死区补偿单元包括:
逆函数子单元,用于通过构造死区的逆函数 得到
动态模型子单元,用于根据所述逆函数确定所述死区非线性的所述动态模型为其中,执行器输入τj为
计算子单元,用于计算出虚拟控制器输入vj和设计逆模块输入vdj之间的误差为其中DNj为有界值,为
优选地,逆补偿误差和故障消除单元包括:
动力学模型子单元,用于根据控制系统中存在的故障非线性,建立故障非线性的动态模型为为ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常数;
逆补偿误差和故障消除子单元,用于根据故障非线性的动态模型对存在于控制系统中的死区逆补偿误差和故障非线性进行自适应补偿。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的一种直接自适应控制方法及装置,其中,直接自适应控制方法包括:根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型;通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿;对逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿。本实施例中,通过根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型,通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿,对逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿,解决了非线性系统中存在的死区和故障非线性的技术问题,对存在非线性实现有效补偿,最终保证了系统运行的稳定性和良好的跟踪性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种直接自适应控制方法的一个实施例的流程示意图;
图2为本发明实施例提供的一种直接自适应控制装置的一个实施例的结构示意图;
图3为含有死区和失效非线性的系统控制示意图;
图4为死区非线性图;
图5为死区逆补偿系统示意图。
具体实施方式
本发明实施例提供的一种直接自适应控制方法及装置,解决了非线性系统中存在的死区和故障非线性的技术问题,对存在非线性实现有效补偿,最终保证了系统运行的稳定性和良好的跟踪性能。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供的一种直接自适应控制方法的一个实施例包括:
101、根据带有未知控制系数的非线性系统定义执行器输入τj(j=1,2,...,q)和执行器输出uj(j=1,2,...,q);
当需要解决执行器死区和故障时,首先需要根据带有未知控制系数的非线性系统定义执行器输入τj(j=1,2,...,q)和执行器输出uj(j=1,2,...,q)。
其中x∈Rn是状态变量,y∈R是系统输出,uj(j=1,2,...,q)表示系统的第j个控制输入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函数,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制系数。
102、根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型;
需要根据控制系统中存在的死区和故障非线性,建立死区和故障非线性的动态模型。
具体地,据获取到的控制系统中非线性,对存在于第j个执行器中的死区非线性,确定执行器的动态模型为uj=D(τj),j=1,2,...,q;
其中其中d_<0,d+>0,mr,ml是未知常数, [d_,d+]表示死区区间,死区的参数满足mr≥mr0,ml≥ml0,其中mr.ml是两个正常数。
103、通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿;
需要通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿。
具体如下:
通过构造死区的逆函数得到
根据逆函数确定死区非线性的动态模型为其中,执行器输入τj为
计算出虚拟控制器输入vj和设计逆模块输入vdj之间的误差为 其中DNj为有界值,为
104、对所述逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿。
对所述逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿,具体如下:
根据控制系统中存在的故障非线性,建立故障非线性的动态模型为为 ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常数;
根据故障非线性的动态模型对存在于控制系统中的死区逆补偿误差和故障非线性进行自适应补偿。
下面以一具体应用场景进行描述,如图3至5应用例包括:
本发明基于自适应控制方法提出了一种新的控制器,能够对非线性系统中存在的执行器死区和故障进行有效补偿。
具体步骤如下:
1)针对带有未知参数的非线性系统:
y=h(x) (2)
其中x∈Rn是状态变量,y∈R是系统输出,uj(j=1,2,...,q)表示系统的第j个控制输入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函数,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制系数。
假设①:(1)-(2)在控制系统中是极其通用的模型,对于任意q-1个执行器遭遇非线性,剩余的执行器仍然能够得到控制命令。
2)定义执行器输入为τj(j=1,2,...,q),执行器输出为uj(j=1,2,...,q),则无扰动的执行器动态模型为:τj=uj。然而在实际控制系统中,理想的无扰动状态是几乎不可能的,各类非线性广泛存在于控制系统中。因此,要确保系统的稳定运行,需要找到对控制系统中存在的非线性进行相应补偿的方法。
3)针对存在于第j个执行器中的死区非线性,执行器的动态模型可以表示为
uj=D(τj),j=1,2,...,q (3)
其中
其中d_<0,d+>0,mr,ml是未知常数,[d_,d+]表示死区区间。
假设②:假设系统执行器发生了死区非线性,死区的参数满足mr≥mr0,ml≥ml0,其中mr.ml是两个正常数。
4)通过构造死区的逆函数,我们可以设计一个逆模块对死区非线性进行 补偿,并由此得到死区输出和设计逆模块输入之间的误差,该误差可以在后续步骤中通过自适应率的设计来消除。为此,我们构造的死区逆函数为
其中
其中e0>0是自行设定的参数。为了叙述方便,死区非线性动态模型(4)可以表述为
vj=-θjTwj (7)
其中
由于θj(j=1,2,...,q)是未知的,wj(j=1,2,...,q)在实际系统中无法测量得知,因此vj需要设计为
其中为θj的估计值,为4×1的定义矩阵。
由此我们可以得到执行器输入τj为
由(7)和(11)可以得到虚拟控制器输入vj和设计逆模块输入vdj之间的误差为
在现有技术中可知,DNj是有界值,可以表示为
表示DNj的上界。该误差项对系统稳定性会造成影响,因此我们在接下来的控制器设计中,需要运用自适应控制的方法设计相应的自适应率,将该误差项消除。
5)考虑死区执行器中可能存在的故障现象(如说明书附图1所示),针对于动态系统(1)-(2),执行器故障的动力学模型可以表示为
ρjvsj=0,j=1,2,...,q (16)
其中ρj∈[0,1),vsj和tiF是未知常数。因此,目标控制器的设计需要满足以下几个条件:
①需要设计相应的自适应率,能够补偿由于死区逆补偿所产生的误差项;
②需要设计相应的自适应率和控制器,能够消除执行器故障对系统的影响,保持系统的稳定性,使得系统输出能够跟踪参考输入。
本发明基于自适应控制的控制器,目的是对系统中存在的执行器死区和故障非线性进行有效补偿,使系统在执行器死区和故障非线性存在的工作环境下仍能保持稳定的工作状态。
下面对该控制器设计的详细过程进行说明。
图3是系统控制框图,执行器中存在可能出现的死区和故障非线性。
1)目前存在一个微分同胚矩阵[x,η]T=T(x)=[Ts(x)Tc(x)],能够将系统(1)-(2)转换为以下形式。
假设③:假设参考信号yr和是已知有界而且连续的,γi(x,η)≠0,且bi的符号函数sign(bi)(i=1,2,...,q)是已知的。
2)基于Tuning Function的方法,我们定义误差变量为
我们的目标是得到最终的控制器动态模型,为此我们需要分为λ步进行讨论。首先我们对(17)中第一个状态方程(即i=1的情况)进行自适应稳定性分析并假设x2可控。依此,在接下来每一个步骤中,在假设xi+1可控的前提下,第i个状态方程的稳定性可以通过相应的Lyapunov方程进行分析,设计相应稳定控制函数αi和调节函数进而得到所需的稳定控制器。然而实际上在系统中仅仅只有x1可控,因此相应的系统控制器u和相应的自适应率只能在最后步骤λ中得到。
3)步骤1:我们先选择分析前两个误差变量
由可以表示为
选择相应的Lyapunov函数为
则Lyapunov函数的导数为
其中假设x2可控,令x2≡0,即x2≡α1。为了满足选择控制率为稳定函数α1和调节函数分别为
由于实际上x2不可控,则有x2≠0,不能够再做为控制率。为此,我们将表示为
步骤i(i=2,3,...,λ-1):第i+1个误差变量为
由得
稳定函数αi和调节函数分别表示为
其中
我们省略对第i步中对稳定性的分析,相应的系统Lyapunov稳定性分析 将在最后一步进行。
步骤λ:第λ个误差变量为
由和(13)可得
由上式可以看出,死区逆补偿所产生的误差项包含在误差变量中,另外式中还包含了执行器故障的动态模型,因此在控制器的设计中,我们应该考虑如何消除死区逆补偿误差项和故障非线性对系统的影响。为此,我们综合了鲁棒控制、参数化和直接自适应控制的思想,提出了一种新型的控制器,能够有效消除该扰动对系统稳定性的影响。
从(14)可以得到
即该误差项使有上界的,可以运用鲁棒控制的方法实现消除。由(15)-(16)式,我们假设在时间间隔[Tk-1,Tk)内存在pk个执行器发生故障,则定义Pk={j1,j2,...,jpk},表示在某一时间间隔内故障执行器集合,另外,定义 表示个部分故障(0<ρ<1)的执行器集合,定义 表示个完全故障(ρ=1)的执行器集合。另外,我们定义Lyapunov函数为
根据Lyapunov稳定性分析,系统要保持稳定,则必须满足
根据上述的分析,我们可以设计相应的稳定性函数和调节函数为
相应的自适应率设计为
其中ω=[αλ,γ1,...,γq]。相应的控制器设计为
到了这一步,基于控制率(38)和带有相应自适应率(37)的控制器已 经设计完成,最终的Lyapunov函数的导数满足
由Lyapunov函数稳定性分析可知,带有该控制器的系统在死区和故障非线性存在的情况仍能保持系统的稳定性,且稳态误差最终收敛到零。
综上,一种基于执行器死区和故障补偿的直接自适应控制方法已经设计完成。
定理:考虑闭环非线性系统(1)-(2)中的执行器存在死区非线性(4),且每个执行器都可能存在故障(15)-(16),在满足假设①-③的条件下,带有自适应率(37)和控制器(38)的非线性系统能够在运行中始终维持稳定,而且保证跟踪误差最终能够收敛于零。
本实施例中,通过根据获取到的控制系统中非线性,确定控制系统的执行器中的死区非线性的执行器的动态模型,通过构造死区的逆函数,对死区非线性的动态模型进行补偿,对根据死区非线性建立执行器故障对应的动力学模型进行执行器故障消除,解决了非线性系统中存在的死区和故障非线性的技术问题,对存在非线性实现有效补偿,最终保证了系统运行的稳定性和良好的跟踪性能。
请参阅图2,本发明实施例中提供的一种直接自适应控制装置的一个实施例包括:
定义单元201,用于根据带有未知控制系数的非线性系统 定义执行器输入τj(j=1,2,...,q)和执行器输出uj(j=1,2,...,q);
其中x∈Rn是状态变量,y∈R是系统输出,uj(j=1,2,...,q)表示系统的第j个控制输入,fi(x)∈Rn(i=1,2,...,p)和gj(x)∈Rn(j=1,2,...,q)是未知的光滑函数,θi(i=1,2,...,p)和bj(j=1,2,...,q)是未知控制系数。
确定单元202,用于根据控制系统中存在的死区和故障非线性,建立死区 和故障非线性的动态模型,确定单元202,具体用于据获取到的控制系统中非线性,对存在于第j个执行器中的死区非线性,确定执行器的动态模型为uj=D(τj),j=1,2,...,q;
其中其中d_<0,d+>0,mr,ml是未知常数,[d_,d+]表示死区区间,死区的参数满足mr≥mr0,ml≥ml0,其中mr.ml是两个正常数。
死区补偿单元203,用于通过构造死区的逆函数,对死区非线性的动态模型进行逆补偿;
死区补偿单元203包括:
逆函数子单元2031,用于通过构造死区的逆函数 得到
动态模型子单元2032,用于根据逆函数确定死区非线性的动态模型为 其中,执行器输入τj为
计算子单元2033,用于计算出虚拟控制器输入vj和设计逆模块输入vdj之间的误差为其中DNj为有界值,为
逆补偿误差和故障消除单元204,用于对所述逆补偿所产生的补偿误差和存在于死区执行器中的故障非线性动力学模型进行补偿。
逆补偿误差和故障消除单元204包括:
动力学模型子单元2041,用于根据控制系统中存在的故障非线性,建立故障非线性的动态模型为为ρjvsj=0,j=1,2,...,q,其中ρj∈[0,1),vsj和tiF是未知常数;
逆补偿误差和故障消除子单元2042,用于根据故障非线性的动态模型对存在于控制系统中的死区逆补偿误差和故障非线性进行自适应补偿。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。