L1自适应控制-理论基础

L1自适应背景


L1自适应控制算法是一种快速鲁棒的自适应控制。该算法实际上是模型参考自适应控制进行了改进,通过在控制律设计环节添加了一个低通滤波器,保证了控制律和自适应律设计的分离。

L1自适应系统机构及预备知识


  • L1自适应控制系统结构:
    L1自适应控制系统可分为:被控对象、状态预测器、自适应律、控制律
    这里写图片描述

  • 被控对象:采用状态空间形式表达,其中 w θ等为参数不确定性

  • 状态预测器:数学模型如上图所示,其中 x w等对应的是被控对象当中的估计值。当时间趋于无穷时,被控对象将与状态预测器具有一致的动力学特性,估计偏差在李雅普诺夫意义下稳定
  • 自适应律:以状态预测器和被控对象之间的误差为主要输入,保证其在李雅普诺夫意义下稳定而得到了对不确定性参数的估计
  • 控制律:包括两个部分 1、与状态预测器相匹配的对参考输入的重构;2、低通滤波环节。

状态预测器


  • 含有参数不确定参数的被控对象数学模型可建立为:

x˙=Ax+Bu+σ

其中 A,B,σ 表示系统的不确定性,其中 A 表示被控对象本身结构的不确定性,B表示输入引起的不确定性,而 σ 表示系统存在的扰动,与模型参考自适应控制系统设计类似

  • 将被控对象转换为控制系统的期望输出表达
    数学描述为:

x˙=Amx+br

其中 Am 满足霍尔维茨条件即满足稳定条件, r=wu+θx+σ
对应可知, A=Am+bθ B=bw σ=bσ

  • 状态预测器设计
    状态预测器是为了被控对象的不确定参数进行估计,其与被控对象具有一致的数学表达。则状态预测器建模为:
    x^˙=Amx^+b(w^u+θ^x+σ^)

    将被控对象与状态预测器相减可得,由参考输入$u$到误差$\tilde{x}$的状态表达式为:

x~˙=Amx~+b(w~u+θ~x+σ~)

为了保证上式是渐进稳定的,写出误差方程的能量函数:

V=12x~TPx~+12Γ1(w~Tw~+θ~Tθ~+σ~Tσ~)

其中 Γ 为系统的自适应增益,对上式求导,写出能量函数导数。则可证明误差方程在李雅普诺夫意义下稳定。

自适应律设计


自适应律设计部分,通过对估计参数确定其数学表达,保证误差方程在李雅普诺夫意义稳定,即对李雅普诺夫导数为负定。

w^=Γu(Pb)Tx~dt

θ^=Γx(Pb)Tx~dt

σ^=Γ(Pb)Tx~dt

上式为自适应律部分,其为对不确定参数的估计,并保证了误差方程在李雅普诺夫意义下稳定

控制律设计


  • 对控制系统进行控制律设计,控制律环节输入为 u `,输出为r的数学表达,其保证了输入到状态预测器输出是无稳定误差的(即输出可稳定的跟踪输入信号):

状态预测方程(输入到输出的传递函数)为:

y~=c(sIAm)1b(w~u+θ~x+σ~)

当时间趋于无穷时,可达到:
y~=cA1mb(w^u+θ^x+σ^)

为保证 y^=r 则可得:

u=1w^(1cA1mbrθ^xσ^)

  • 设计低通滤波器,并用L1小增益定理证明稳定性

    设计低通滤波器 D(s)=1s ,对低通滤波器带宽 k 设计,为保证闭环控制系统满足L1小增益定理。

    小增益定理:反馈系统中,u1 u2为系统的输入;y1 y2为系统的输出; e1 e2为误差信号;H1 H2为系统本身的特性。当H1 H2的L1范数增益乘积小于1时,系统满足内稳定条件
    这里写图片描述
    L1范数:向量各个元素绝对值之和

最终控制律数学表达式为:

u=ks+kw^(1cA1mbrθ^xσ^)

实现框图如图一所示, u 输出添加低通滤波器:Ks 后,负反馈到 u 中。所以可知
u=ks(1cA1mbrθ^xσ^w^u)

控制性能分析


控制律设计保证了输入到 y^ 的稳定性,本节需要分析输入到系统输出的稳态性能

结论:系统误差的L无穷范数的平方与控制系统自适应参数成反比,当自适应参数足够大时,系统误差在任意时刻趋近于0

  • 10
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: L1自适应控制是一种常用的控制算法,通常用于系统控制中。它的设计目标是通过实时调整控制器参数,以适应不断变化的系统性能和环境条件。在L1自适应控制中,常使用C语言进行编程实现。下面将从理论和实践两个方面简要介绍L1自适应控制理论上,L1自适应控制的基本思想是结合最优控制和自适应控制的特点,通过对系统的输出信号进行实时的观测和分析,动态调整控制器的参数,以使系统能够快速、准确地响应外部干扰和内部变化。这种方法可以通过计算误差信号的一阶导数来实现,其中误差信号表示系统输出与期望输出之间的差异。 在实践中,使用C语言编写L1自适应控制程序是非常常见的。首先,需要定义和初始化控制器的参数和状态变量。然后,在每个控制周期内,通过测量系统输出和期望输出,计算误差信号。接下来,根据误差信号的一阶导数和事先定义的调整规则,更新控制器的参数。最后,将根据最新参数计算出的控制信号应用于系统中。 C语言作为一种常用的编程语言,具有高效性和灵活性,非常适合于实现L1自适应控制算法。通过合理地设计和编写C代码,可以实现对控制器参数和状态变量的高效更新,从而提高系统的性能和稳定性。 总而言之,L1自适应控制是一种重要的控制算法,通过C语言的编程实现,可以实时地调整控制器参数以适应不断变化的系统性能和环境条件。它具有较高的灵活性和可靠性,在实际工程中有着广泛的应用。 ### 回答2: L1自适应控制是一种在实时控制系统中使用的算法。它使用传感器数据和目标值来自动调整系统的控制参数,以保持系统的稳定性和性能。L1自适应控制的实现可以使用C语言编程。 在C语言中实现L1自适应控制,首先需要定义系统的状态和关键参数。这些参数可以是传感器读数,目标值,控制器增益等。接下来,需要编写一个算法来计算控制参数的变化。这个算法可以根据一定的规则或公式来调整参数,以使系统的误差逐渐减小。 在实际编程中,可以使用循环和条件语句来实现L1自适应控制。循环用于实时检测系统状态和更新控制参数,条件语句用于判断参数的变化方向和幅度。此外,还可以使用数学函数库来进行数值计算和运算符号。 在编程中,还需要考虑系统的稳定性和性能。为了保持系统的稳定性,需要设置合适的控制增益和参数变化规则。而为了提高系统的性能,可以进一步优化控制参数的调整算法,使其更快地逼近目标值。 总之,使用C语言编程实现L1自适应控制需要定义系统参数、编写参数调整算法,并综合考虑稳定性和性能。通过合理的编程实现,可以实现对系统的自适应控制,提高系统的稳定性和性能。 ### 回答3: L1自适应控制是一种在C语言中实现的控制算法。该算法通过持续监测系统的输出和参考输入之间的差异来调整控制器的参数,以实现系统的最优控制。 L1自适应控制算法的关键是一个递归估计器,它根据差异的历史数据来估计系统的误差模型。这个误差模型反映了系统的动态变化,从而能够用来调整控制器的参数。估计器使用了最小二乘法来建立误差模型,并基于误差模型来计算控制器的参数更新量。 在C语言中实现L1自适应控制算法可以按照以下步骤进行: 1. 定义一个结构体来存储控制器的参数和误差模型的估计结果。 2. 初始化结构体中的参数和估计结果。 3. 利用传感器读取系统的输出和参考输入,并计算出差异。 4. 使用最小二乘法来更新误差模型。 5. 根据误差模型计算出控制器的参数更新量。 6. 更新控制器的参数。 7. 重复步骤3到6,实现持续的自适应调整。 在实际应用中,L1自适应控制算法可以用于各种系统,如机械、电子、通信等。通过使用C语言来实现,可以使得算法更加高效和灵活,并方便与其他部分的代码进行集成。 总而言之,L1自适应控制算法是一种在C语言中实现的控制算法,通过持续监测系统的输出和参考输入之间的差异来调整控制器的参数,以实现系统的最优控制。实现L1自适应控制算法可以按照一定的步骤进行,在实际应用中可以用于各种系统,并便于与其他代码进行集成。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值