MATLAB 自抗扰控制 - Active Disturbance Rejection Control

系列文章目录

MATLAB 模型参考自适应控制 - Model Reference Adaptive Control


文章目录

  • 系列文章目录
  • 前言
  • 一、控制器结构
    • 1.1 一阶逼近
    • 1.2 二阶逼近
  • 二、指定控制器参数
  • 参考


前言

自抗扰控制 (ADRC) 是一种无模型控制方法,适用于为具有未知动态特性以及内部和外部扰动的被控对象设计控制器。此算法只需要对被控对象动态特性进行逼近,即可设计具有稳健抗扰功能的无超调的控制器。

您可以使用 Active Disturbance Rejection Control 模块来实现 ADRC。该模块使用已知系统动态特性的一阶或二阶模型逼近以及建模为被控对象的扩张状态的未知动态特性和扰动。通常,您可以根据工作范围内被控对象的开环阶跃响应来确定此阶数。

一阶逼近 - y ˙ ( t ) = b 0 u ( t ) + f ( t ) {\dot{y}}(t)=b 0 u(t)+f(t) y˙(t)=b0u(t)+f(t)

二阶逼近 - y ¨ ( t ) = b 0 u ( t ) + f ( t ) {\ddot{y}}(t)=b 0 u(t)+f(t) y¨(t)=b0u(t)+f(t)

其中:

  • y(t) 是被控对象输出。

  • u(t) 是输入信号。

  • b0 是临界增益,它是描述被控对象对输入 u(t) 的响应的估计增益。

  • f(t) 是总扰动,包括未知动态特性扰动和其他扰动。

该模块使用扩张状态观测器 (ESO) 来估计 f(t),并通过减少估计的扰动对模型逼近已知部分的影响来实现抗扰控制。

您可以实现离散时间和连续时间控制器。设置控制器时域和采样时间以匹配被控对象模型的时域。


一、控制器结构

1.1 一阶逼近

对于一阶被控对象模型逼近 y ˙ ( t ) = b 0 u ( t ) + f ( t ) {\dot{y}}(t)=b0u(t)+f(t) y˙(t)=b0u(t)+f(t),被控对象输出状态是 x 1 = y ( t ) x_{1}=\mathrm{y}(t) x1=y(t) ,扩张状态是 x 2 = f ( t ) x_{2}=\mathrm{f}(t) x2=f(t)
状态空间模型如下。
x ˙ = A x + B u + ( 0 f ˙ ( t ) ) {{\dot{x}=A x+B u+\left(\begin{array}{c}{{0}}\\ {{\dot{f}(t)}}\end{array}\right)}} x˙=Ax+Bu+(0f˙(t))
y = C x , y=C x, y=Cx,

其中

A = ( 0 1 0 0 ) , B = ( b 0 0 ) , C = ( 1 0 ) . A=\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix},\ B=\begin{pmatrix} b0 \\ 0 \end{pmatrix},C=(1\ 0). A=(0010), B=(b00),C=(1 0).

对于此可观测系统,模块使用龙伯格观测器来提供被控对象状态和总扰动的估计值。使用估计的状态

z 1 = y ^ ( t ) z 2 = f ^ ( t ) , \begin{array}{c}{{z_{1}=\hat{y}(t)}}\\ {{z_{2}=\hat{f}(t),}}\end{array} z1=y^(t)z2=f^(t),

控制器计算控制输入 u(t),如下所示。

u ( t ) = u 0 ( t ) − z 2 b 0 , u(t)={\dfrac{u0(t)-z2}{b0}}, u(t)=b0u0(t)z2,

其中

u 0 ( t ) = K P ( r ( t ) − z 1 ) . u\mathrm{0}(t)=K P(r(t)-z1). u0(t)=KP(r(t)z1).

这是一个基于估计的状态反馈控制器,当估计值和实际值相等时,系统具有一阶闭环行为。此闭环系统具有极点 s = –KP。

此控制器表示为以下控制结构。

在这里插入图片描述

为了简化控制器调节,该模块将控制器极点设置在 (s + ωc) 处,将观测器极点设置在 ( s + ω 0 ) 2 (s+\omega_{0})^{2} (s+ω0)2 处,其中 ωc 和 ωo 分别为控制器带宽和观测器带宽。

1.2 二阶逼近

对于二阶被控对象模型逼近 y ¨ ( t ) = b 0 u ( t ) + f ( t ) \ddot{y}(t)=b{0}u(t)+f(t) y¨(t)=b0u(t)+f(t) ,被控对象输出状态是 x 1 = y ( t ) x_{1}=\mathrm{y}(t) x1=y(t) x 2 = y ˙ ( t ) x_{2}=\mathrm{\dot{y}}(t) x2=y˙(t) ,扩张状态是 x 3 = f ( t ) x_{3}=\mathrm{f}(t) x3=f(t)

状态空间模型如下。

x ˙ = A x + B u + ( 0 0 f ˙ ( t ) ) \dot{x}=A x+B u+\left(\begin{array}{c}{{0}}\\ {{0}}\\ {{\dot{f}(t)}}\end{array}\right) x˙=Ax+Bu+ 00f˙(t)

y = C x , y=C x, y=Cx,

其中

A = ( 0 1 0 0 0 1 0 0 0 ) , B = ( 0 b 0 0 ) , C = ( 1 0 0 ) . A={\left(\begin{array}{l l l}{0}&{1}&{0}\\ {0}&{0}&{1}\\ {0}&{0}&{0}\end{array}\right)},B={\left(\begin{array}{l l}{0}\\ {b0}\\ {0}\end{array}\right)},C=(1\quad0\quad0). A= 000100010 ,B= 0b00 ,C=(100).

对于此可观测系统,模块使用龙伯格观测器来提供被控对象状态和总扰动的估计值。使用估计的状态

z 1 = y ^ ( t ) z 2 = y ˙ ^ ( t ) z 3 = f ^ ( t ) , \begin{array}{c}{{z_{1}=\hat{y}(t)}}\\{{z_{2}=\hat{\dot{y}}(t)}} \\ {{z_{3}=\hat{f}(t),}}\end{array} z1=y^(t)z2=y˙^(t)z3=f^(t),

控制器计算控制输入 u(t),如下所示。

u ( t ) = u 0 ( t ) − z 3 b 0 , u(t)={\dfrac{u0(t)-z3}{b0}}, u(t)=b0u0(t)z3,

其中

u 0 ( t ) = K P ( r ( t ) − z 1 ) − K D z 2. u\mathrm{0}(t)=K P(r(t)-z1)-K D z2. u0(t)=KP(r(t)z1)KDz2.

这是一个基于估计的状态反馈控制器,当估计值和实际值相等时,系统具有二阶闭环行为。

此控制器表示为以下控制结构。

在这里插入图片描述
为了简化控制器调节,该模块分别将控制器极点设置在 ( s + ω 0 ) 2 (s+\omega_{0})^{2} (s+ω0)2 处,将观测器极点设置在 ( s + ω 0 ) 3 (s+\omega_{0})^{3} (s+ω0)3 处,其中 ωc 和 ωo 分别为控制器带宽和观测器带宽。

二、指定控制器参数

为了对您的被控对象实现 ADRC,您必须为被控对象逼近的临界增益值 b0 提供合理的估计值。为此,可采用以下方法。

  1. 使用幅值为 uOL 的阶跃信号,在工作范围内对开环被控对象进行仿真。
  2. 记录较短持续时间内被控对象输出的变化。
    • 对于一阶 ADRC,请使用响应逼近 y = at 并确定 a,如下所示。
      a = y ( e n d ) − y ( 0 ) t ( e n d ) − t ( 0 ) a=\dfrac{y(e n d)-y(0)}{t(e n d)-t(0)} a=t(end)t(0)y(end)y(0)
    • 对于二阶 ADRC,请使用响应逼近 y = ½at² 并确定 a,如下所示。
      a = 2 ( y ( e n d ) − y ( 0 ) ) ( t ( e n d ) − t ( 0 ) ) 2 a={\dfrac{2(y(e n d)-y(0))}{(t(e n d)-t(0))^{2}}} a=(t(end)t(0))22(y(end)y(0))
  3. 然后,您可以基于 a 和阶跃幅值 uOL 确定 b0。
    b 0 = a u O L b{\mathrm{{0}}}={\dfrac{a}{u O L}} b0=uOLa
    在模块参数中使用临界增益参数设置此值。

然后,要调节控制器响应,请分别使用控制器带宽和观测器带宽指定 ωc 和 ωo 值。这些值取决于控制器的性能要求。一般情况下,更快的响应需要更大的控制器带宽。观测器还需要比控制器收敛得更快。因此,请将观测器带宽设置为控制器带宽的 5 到 10 倍。

此外,该模块允许您指定状态的初始条件,限制控制器输出,并输出估计的状态值。

参考

[1] Han, Jingqing. “From PID to Active Disturbance Rejection Control.” IEEE Transactions on Industrial Electronics 56, no. 3 (March 2009): 900–906. https://doi.org/10.1109/TIE.2008.2011621.

[2] Herbst, Gernot. “A Simulative Study on Active Disturbance Rejection Control (ADRC) as a Control Tool for Practitioners.” Electronics 2, no. 3 (August 15, 2013): 246–79. https://doi.org/10.3390/electronics2030246.

[3] Zhiqiang Gao. “Scaling and Bandwidth-Parameterization Based Controller Tuning.” In Proceedings of the 2003 American Control Conference, 2003, 6:4989–96. Denver, CO, USA: IEEE, 2003. https://doi.org/10.1109/ACC.2003.1242516.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/258318.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE+webrtc-streamer 实现实时视频播放(监控设备-rtsp)

效果 下图则启动成功,此时在浏览器访问127.0.0.1:8000可以看到本机监控画面 1、下载webrtc-streamer 地址:https://github.com/mpromonet/webrtc-streamer/releases 2、解压下载包 3、双击webrtc-streamer.exe启动服务 4、将下载包html文件夹下webrt…

sfp8472学习CDR

1,cdr名称解释 因为光信号传输至一定距离的时候,通常是长距离传输,其波形会出现一定程度的失真,接收端接收到的信号是一个个长短不一的脉冲信号,这个时候在接收端,我们就无法得到我们需要的数据。所以,这个时候就需要有信号的再生,信号的再生功能为再放大、再整形和再…

从零开发短视频电商 AWS OpenSearch Service开发环境申请以及Java客户端介绍

文章目录 创建域1.创建域2.输入配置部署选项数据节点网络精细访问控制访问策略 获取域端点数据如何插入到OpenSearch ServiceJava连接OpenSearch Servicespring-data-opensearchelasticsearch-rest-high-level-clientopensearch-rest-clientopensearch-java 因为是开发测试使用…

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 Affective Computing 2021

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 前言简介模型结构实验结果总结前言 今天为大家带来的是《Emotion-Regularized Conditional Variational Autoencoder for Emotional Response Generation》 出版:IEEE Transactions on Affective Computing 时间…

Gateway和spring-boot-starter-web的恩怨情仇

为什么取这个题目,其实与我踩到的坑有关,说起来这个坑非常神奇,这里面就涉及到Gateway和spring-boot-starter-web底层所依赖的技术不兼容的问题。 一、背景 SpringCloud 版本 ---- Finchley.SR2 SpringBoot 版本 ---- 2.0.6.RELEASE 如果同…

Qt使用Cryptopp生成HMAC-MD5

近期项目中HTTPS通讯中,token需要使用HMAC-MD5算法生成,往上找了一些资料后,仍不能满足自身需求,故次一记。 前期准备: ①下载Cryptopp库(我下载的是8.8.0 Release版本):Crypto Li…

四川思维跳动商务信息咨询有限公司正规吗?

当今的电商市场,平台众多,竞争激烈。其中,抖音电商以其独特的社交模式和精准的推荐算法赢得了众多商家的青睐。然而,随着市场的扩大,许多商家可能对如何在抖音电商平台上进行合规经营感到困惑。此时,四川思…

【C#设计模式 + Filter】装饰器模式专项——过滤器

c# 装饰器模式专项——过滤器 装饰器模式专项——过滤器Filter1.winform实现通过特性改控件名称(.Framework)2.手写过滤器 (.NET Core) 装饰器模式专项——过滤器Filter 左边为api启动流程。 右边为需要实现的winform启动流程。右边大框里面需要我们手动实现。 1.wi…

权威认证!景联文科技入选杭州市2023年第二批省级“专精特新”中小企业认定名单

为深入贯彻党中央国务院和省委省政府培育专精特新的决策部署,10月7日,杭州市经济和信息化委员会公示了2023年杭州“专精特新”企业名单(第二批)。 根据工业和信息化部《优质中小企业梯度培育管理暂行办法》(工信部企业…

git 克隆无权限-重新输入账号密码

克隆项目代码时提示没有权限,有可能是没有登录账号,也可能是账号密码改了,运行下面指令,然后重新克隆项目,下载的时候会让你重新输入账号密码,则克隆成功 git config --global credential.helper cache 参考…

基于 ESP32-S3 的 Walter 开发板

Walter 是一款基于 ESP32-S3 且拥有 5G LTE 连接功能的新型开源开发套件。 近日,比利时公司 DPTechnics BV 推出了一款基于乐鑫 ESP32-S3 且拥有 5G LTE 连接功能的新型开源开发套件。该套件即将在 Crowd Supply 平台上发布,您可以点击此处了解详情。 无…

云安全技术包括哪些?

云安全技术是随着云计算技术的发展而衍生出来的一种安全技术,它利用云计算的分布式处理和数据存储能力,实现对海量数据的快速处理和存储,同时采用机器学习和人工智能技术对数据进行分析和挖掘,以便更好地发现和防御安全威胁。云安…