【自抗扰控制ADRC】跟踪微分器

这篇具有很好参考价值的文章主要介绍了【自抗扰控制ADRC】跟踪微分器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



何为跟踪微分器(TD)

跟踪微分器顾名思义,包含了跟踪和微分两个部分。

  • 跟踪 t
    就是一个对输入信号以某种手段延迟输出的环节 。

在做一些控制时,通常不希望输入信号出现阶跃的情况,这会在系统中产生一定扰动,因此通常会用一种 " 斜坡算法 "使输入信号变得更平缓。这在变化的输入信号中体现出平滑滞后的效果,看起来像是经过这一 “斜坡算法” 的输出信号在跟踪输入信号。

  • 微分 d
    微分是指跟踪信号微分后的信号,代表着跟踪信号的变化率。

微分可以理解成变化速度,当我们想要快速精准到达目标信号时,既要保证快速,也要保证精准。而这两者通常是相悖的,快速往往伴随着超调(刹不住车)。因此如果能把握好速度的快慢,在离得远时加速,在快要到达时减速,就可以避免刹不住车的情况。

线性跟踪微分器(LTD)数学描述

  • 建立线性状态方程,其中状态变量为 x ⃗ = [ x 1 x 2 ] = [ t d ] \vec{x}=\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}t\\d\end{bmatrix} x =[x1x2]=[td],输入信号为 u u u,其状态方程为
    x ′ ⃗ = A x ⃗ + B u y ⃗ = x ⃗ \vec{x'}=A\vec{x}+Bu \\ \vec{y}=\vec{x} x =Ax +Buy =x
    在自动控制理论中,常见的LTD是临界阻尼的二阶惯性环节, 其传递函数表示为
    Y ( s ) U ( s ) = G ( s ) = r 2 s 2 + 2 r s + r 2 \frac{Y(s)}{U(s)} = G(s) = \frac{r^2}{s^{2}+2rs+r^2} U(s)Y(s)=G(s)=s2+2rs+r2r2
    其中 r r r是自然频率;
    将输入信号 u u u和输出信号 t t t代进惯性环节,可以得到:
    t ′ ′ + 2 r t ′ + r 2 t = r 2 u t''+2rt'+r^2t=r^2u t′′+2rt+r2t=r2u
    t ′ = d , t ′ ′ = d ′ t'=d,t''=d' t=d,t′′=d,代入上式可以得到:
    d ′ + 2 r d + r 2 ( t − u ) = 0 → d ′ = − 2 r d − r 2 ( t − u ) → d ′ = − r 2 t − 2 r d + r 2 u d'+2rd+r^2(t-u)=0\\ \rightarrow d'=-2rd-r^2(t-u)\\ \rightarrow d'=-r^2t-2rd+r^2u d+2rd+r2(tu)=0d=2rdr2(tu)d=r2t2rd+r2u
    d ′ = x 2 ′ , d = x 2 d'=x_2',d=x_2 d=x2,d=x2,代入到状态方程中,可以得到矩阵 A , B A,B A,B为:
    A = [ 0 1 − r 2 − 2 r ] B = [ 0 r 2 ] A=\begin{bmatrix} 0&1 \\ -r^2&-2r \end{bmatrix}\\ B=\begin{bmatrix} 0\\ r^2 \end{bmatrix} A=[0r212r]B=[0r2]
    整理后,得到
    [ t ′ d ′ ] = [ 0 1 − r 2 − 2 r ] [ t d ] + [ 0 r 2 ] u [ y 1 y 2 ] = [ t d ] \begin{bmatrix} t'\\ d' \end{bmatrix} =\begin{bmatrix} 0&1 \\ -r^2&-2r \end{bmatrix} \begin{bmatrix} t \\ d \end{bmatrix} +\begin{bmatrix} 0\\ r^2 \end{bmatrix} u \\ \begin{bmatrix} y1 \\ y2 \end{bmatrix} = \begin{bmatrix} t\\ d \end{bmatrix} [td]=[0r212r][td]+[0r2]u[y1y2]=[td]
    到这里大多数文章就没有后续的描述了,但其实我在学习到这部分的时候就有一个疑问,这个参数$r$的数学意义是什么,该怎么选取这个参数的数值呢,它又是如何影响着LTD的性能。后面的这部分内容是对参数r的讨论,感兴趣的可以往下看,反之则可以直接跳过。

通过微分方程 t ′ ′ + 2 r t ′ + r 2 t = r 2 u t''+2rt'+r^2t=r^2u t′′+2rt+r2t=r2u的形式,以单位阶跃响应为例, u = 1 ( t ) u=1(t) u=1(t),观察 t t t随时间变化的过程,观察其达到1时的时间以及参数 r r r在这个过程发挥的作用。
由于 t t t是关于时间的信号,为了避免误解,令 t = h ( t ) t=h(t) t=h(t),前者的t是信号,后者的t是时间。则将上述微分方程整理后得到:
h ′ ′ + 2 r h ′ + r 2 h = r 2 h''+2 r h'+r^{2} h = r ^2 h′′+2rh+r2h=r2
开始求解微分方程 (悄悄拿出高数课本)
这里不赘述,直接给结论。
h ( t ) = ( C 1 + C 2 t ) e − r t + 1 h(t)=(C_1 +C_2t)e^{-rt}+1 h(t)=(C1+C2t)ert+1
其中 C 1 , C 2 C_1,C_2 C1C2跟0时刻状态有关,不进行讨论。
我们只需要关注当 h ( t ) = 1 h(t)=1 h(t)=1 t t t的值,用于衡量跟踪性能。
h ( t ) = ( C 1 + C 2 t ) e − r t + 1 → ( C 1 + C 2 t ) e − r t = 0 h(t)=(C_1 +C_2t)e^{-rt}+1\\ \rightarrow(C_1 +C_2t)e^{-rt}=0 h(t)=(C1+C2t)ert+1(C1+C2t)ert=0
显然, r r r是衰减因子, r r r越大, h ( t ) h(t) h(t)收敛的越快。

非线性跟踪微分器(NTD)数学描述

  • 对比LTD,NTD采用的不是线性二阶惯性环节,而是特殊的非线性函数(最速控制综合函数),以实现跟踪的目的。
    连续系统的最速控制综合函数的数学描述为
    f h a n = − r s i g n ( x 1 − u + x 2 ∣ x 2 ∣ 2 r ) f_{han}=-rsign(x_1-u+\frac{x_2 |x_2|}{2r}) fhan=rsign(x1u+2rx2x2)
    其中 x 1 x_1 x1为跟踪信号, u u u为输入信号, x 2 x_2 x2为微分信号, r r r为加速度的绝对值,则NTD的非线性状态方程为:
    x 1 ′ = x 2 x 2 ′ = f h a n = − r s i g n ( x 1 − u + x 2 ∣ x 2 ∣ 2 r ) x_1' = x_2 \\ x_2' = f_{han}=-rsign(x_1-u+\frac{x_2 |x_2|}{2r}) x1=x2x2=fhan=rsign(x1u+2rx2x2)

这个最速控制综合函数 f h a n f_{han} fhan是基于物理公式得到的,假设当前速度为 v 1 v_1 v1,以固定的加速度 a a a运动,位移了 x x x后速度为 v 2 v_2 v2,则满足公式:
v 1 2 − v 2 2 2 a = x \frac{v^{2}_{1}- v_{2}^{2}}{2a}=x 2av12v22=x
所以 s i g n sign sign中的第二项 x 2 ∣ x 2 ∣ 2 r \frac{x2|x_2|}{2r} 2rx2∣x2是减速到0的位移,第一项 x 1 − u x_1 - u x1u是到达目标位置的位移。
通过比较这两个位移项的和,来决定当前是否加减速。
在simulink实现NTD,再观察状态变量的变化过程。
跟踪微分器,数据融合和控制算法,算法,线性代数
matlab function模块中的代码如下:

function y = fcn(x1,x2,r)
    y = -r*sign(x1+x2*abs(x2)/(2*r));

示波器结果为:
跟踪微分器,数据融合和控制算法,算法,线性代数
跟踪微分器,数据融合和控制算法,算法,线性代数文章来源地址https://www.toymoban.com/news/detail-767370.html

到了这里,关于【自抗扰控制ADRC】跟踪微分器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多传感器分布式融合算法——多传感器网络协同目标跟踪和定位

    应用: 原创不易,路过的各位大佬请点个赞 主要讲解算法:          多传感器集中式融合算法/分布式融合算法/序贯融合算法          多速率多传感器异步融合算法          多传感器网络分布式一致滤波 应用于: 多传感器网络协同跟踪/定位/导航 联系WX: ZB823618313    

    2024年01月20日
    浏览(52)
  • 路径跟踪算法之模型预测控制(MPC)跟踪

    模型预测控制(以下简称 MPC)是一种依赖于系统模型进行数学优化的复杂控制器。它利用优化算法计算有限时间范围内一系列的控制输入序列,并优化该序列,但控制器仅执行序列中的第一组控制输入,然后再次重复该循环。MPC 主要分为 3 个关键步骤:模型预测、滚动优化

    2024年01月23日
    浏览(51)
  • yolov5-tracking-xxxsort yolov5融合六种跟踪算法(二)--目标识别

    本次开源计划主要针对大学生无人机相关竞赛的视觉算法开发。 开源代码仓库链接:https://github.com/zzhmx/yolov5-tracking-xxxsort.git 先按照之前的博客配置好环境: yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一)–环境配置GPU版本 yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一)–

    2024年02月22日
    浏览(50)
  • 【抗扰PID控制】干扰抑制PID控制器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、Simulink、文

    2024年02月11日
    浏览(61)
  • 利用红外-可见光图像数据集OTCBVS打通图像融合、目标检测和目标跟踪

    本文记录在云服务器autodl上选择安装cuda、cudnn开始,部署相同视角、相同时间、相同地点拍摄的红外和可见光图像数据集OTCBVS在Github目前开源的图像融合PIAFusion、目标检测Yolo-v4、目标跟踪DeepSort算法上实现单数据集贯通。 本文只做到以下几点: 1、列举常见红外-可见光图像数

    2024年02月04日
    浏览(47)
  • STM32的MPU6050卡尔曼滤波融合数据控制平衡车

    最近学习卡尔曼滤波的方法来融合MPU6050的加速度计所得的角度以及陀螺仪的角速度数据。一开始去B站搜视频看原理,然后找到CSDN上的一篇博客,参考了初始值的设定后写了下面的滤波算法。 该up主视频讲的很好,视频链接:精通(教你从理论到实践)_哔哩哔哩_bilibili 算法

    2024年04月15日
    浏览(40)
  • 雷达视觉融合算法RODNet数据处理代码解读

    论文RODNet:A Real-Time Radar Object Detection Network Cross-Supervised by Camera-Radar Fused Object 3D 原论文地址:https://arxiv.org/abs/2102.05150 代码地址:https://github.com/yizhou-wang/RODNet 摘要 在目标检测中,雷达虽然在恶劣天气下有精准采集信号的优势,但缺乏语义信息,若对采集的雷达信号进行手

    2024年02月11日
    浏览(42)
  • 基于D-S证据理论的数据融合算法的研究

    D-S 证据理论 在信息融合技术领域中,信息融合算法是研巧的核也技术。目前的主流的信息融合 方法大致可W分为两大类:概率统计类方法和人工智能方法。 其中概率统计类方法主要流行的数学工具或方法有如下几种: 一是采用最简单直观的数学运算融合的加权平均法。 二

    2023年04月11日
    浏览(28)
  • [MOT Challenge]官方生成多目标跟踪算法性能评价指标结果,解决test数据集没有gt文件和官网注册问题

    最近在做一个多目标跟踪相关项目,搞过多目标跟踪的都知道 MOT Challenge 这个benchmark数据集,其包含MOT15,MOT16等多个数据集,每个数据集又可以划分为test和train两类。 但是,官方提供的test数据集是不包含gt.txt的(即真实跟踪框的标注信息),所以我们无法用motmetrics得到MOTA,IDF

    2024年02月03日
    浏览(63)
  • USV的MPC轨迹跟踪控制

    该博客用以记录MPC轨迹控制的理论和matlab程序 被控对象运动学模型,为无人艇USV模型: x ˙ ( k ) = f ( x , u ) = { x ˙ = u cos ⁡ ( ψ ) − v sin ⁡ ( ψ ) y ˙ = u sin ⁡ ( ψ ) + v cos ⁡ ( ψ ) ψ ˙ = r begin{equation} dot{bold{x}}(k)= f(bold{x},bold{u})=left{ begin{aligned} dot{x}=ucos(psi)-vsin(psi) \\\\

    2024年01月19日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包