ADRC算法Auto Disturbances Rejection control

ADRC算法Auto Disturbances Rejection control 自抗扰控制 其中,e=v(t)-y(t)是控制系统参考输入量v(t)与被控对象输出量y(t)之间的差值,kp比例系数,ki积分系数,,kd微分系数优点:1.仅由误差来决定控制2.运算量低,可以以极高的速率运行缺点:1.误差的取法e=v-y,使得初始时刻误差较大,容易造成控制系统快速性和超调的矛盾,比如输入为阶跃信号的时候,会导致误差函数也是一个阶跃信号,对…

大家好,又见面了,我是你们的朋友全栈君。

 

自抗扰控制

ADRC算法Auto Disturbances Rejection control

 

ADRC算法Auto Disturbances Rejection control

其中,e=v(t)-y(t)是控制系统参考输入量v(t)与被控对象输出量y(t)之间的差值,kp比例系数,ki积分系数,,kd微分系数

优点:

1.仅由误差来决定控制

2.运算量低,可以以极高的速率运行

缺点:

1.误差的取法e=v-y,使得初始时刻误差较大,容易造成控制系统快速性和超调的矛盾,比如输入为阶跃信号的时候,会导致误差函数也是一个阶跃信号,对控制系统的稳定性有影响。

2.实际中,参考输入量v(t)一般不可导,甚至不连续,并且y(t)中又常常存在噪声干扰,因而e(t)=v(t)-y(t)通常是不可导的,其微分信号难以利用,因而限制了PID控制器的应用。

3.经典pid的比列,误差,积分项是线性组合输出最后的控制量的,线性组合并不是一个最优的组合方案,常会引起系统快速性和超调量之间的矛盾

4.严格上说,积分项虽然消除了静态固有误差,但是会大大影响控制的稳定性能,积分反馈有许多副作用

 

针对上面的4个缺点,ADRC提出了改进方法

1.为了防止跳变信号,对信号作如下处理,就是用下面的微分跟踪器

 

u=−rsign(x1−v+x2|x2|2r)

如下图所示,使用这种变换实际上是模仿最短时间到达一个点的概念,在到达平衡处前恒定加速运动,过平衡位置后恒定减速运动,使目标点在规定的加速度下以最短的时间到达目标点,并且到达速度为0,其中v是当前位置

ADRC算法Auto Disturbances Rejection control

2. 微分器的改进

借助于高等数学有

ADRC算法Auto Disturbances Rejection control

或者由拉氏变换

 

ADRC算法Auto Disturbances Rejection control

ADRC算法Auto Disturbances Rejection control

即:采样周期越短,噪声被放大越大,因此采用如下改进:

ADRC算法Auto Disturbances Rejection control

问题:这里怎么证明噪声不被放大呢?

ADRC算法Auto Disturbances Rejection control

3. 非线性加权平均

è¿éåå¾çæè¿°

其中v0为输入信号,目的是实现v1跟踪v0, v2跟踪到v1的导数,即间接实现v2跟踪到输入v0的导数,举例如下

有一个系统,其中输入信号为v0(t),

ADRC算法Auto Disturbances Rejection control

ADRC算法Auto Disturbances Rejection control

ADRC算法Auto Disturbances Rejection control

ADRC算法Auto Disturbances Rejection control 

ADRC算法Auto Disturbances Rejection control 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145868.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 卸载Notepad++!事实已证明,它更牛逼……

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:lucida lucida.me/blog/sublime-text-complete-guide/ 摘要(A…

    2021年6月26日
    137
  • Docker教程(超全总结)[通俗易懂]

    Docker教程(超全总结)[通俗易懂]Docker基础+进阶总结,让你一文读懂Docker

    2022年10月15日
    3
  • 随机数生成算法

    随机数生成算法转自:https://www.cnblogs.com/ECJTUACM-873284962/p/6926203.html1、蒙特卡洛法  蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似…

    2022年7月26日
    6
  • cmd无法切换目录_cmd重置目录

    cmd无法切换目录_cmd重置目录怎样在CMD内切换到d:\总显示是在c:\的目录里,用cdd:\却还是在C:\下 明显的……这个命令怎么会有效?!应该是:D:而不是CDD:!!

    2025年6月15日
    2
  • 取反是什么意思_1取反是多少

    取反是什么意思_1取反是多少很多编程语言使用~作为一元按位取反(NOT)操作符,Go重用^XOR操作符来按位取反://错误的取反操作funcmain(){fmt.Println(~2)//bitwisecomplementoperatoris^}//正确示例funcmain(){varduint8=2fmt.Printf(“%08b\n”,d)//00000010fmt.Printf(“%08b\n”

    2022年8月14日
    9
  • 我的博客文章快速索引[通俗易懂]

    我的博客文章快速索引[通俗易懂]授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。    为了方便大家了解最新博客内容,博哥在此置顶汇总贴,方便大家查阅所需内容。    此贴,大家可以看到博哥近期的进展情况:待写(计划写中)目前正在写(表示已经有初稿)期待中(表示正在考虑)一、你如果想学基于Arduino的E…

    2022年5月29日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号