【NLADRC】非线性自抗扰控制的具体实践及参数整定(一)(持续更新)

204 阅读2分钟

NLADRC使用指南

Author:辰尘

Date: 7/5/2023

Brief: 由于NLADRC包涵了很多动态系统分析的内容,这里不做具体展开,只是介绍各个参数变化时,会对系统控制产生怎样的影响

我将按照NLADRC的运行流程来逐步讲述各个功能块的使用

TD(跟踪--微分器与过渡过程安排)

以下是根据TD思想建立的离散最速反馈系统

{fh=fhan(x1(k)v(k),x2(k),r0,h0)v1(k)=x1(k)+hx2(k)v2(k)=x2(k)+hfh\begin{cases} fh=fhan(x_{1}(k) - v(k), x_{2}(k), r_{0}, h_{0})\\ v_{1}(k) = x_{1}(k)+h*x_{2}(k)\\ v_{2}(k)=x_{2}(k)+h*fh \end{cases}

核心部分是最速综合函数,安排了一个相对合理的过渡过程,一共包含4个参数:

fhan(x1,x2,r0,h0)x1为目标控制量e.g.角度θx2为目标控制量的一阶近似微分e.g.角速度ωr0表示对系统状态量的跟踪速度fhan( x_{1}, x_{2}, r_{0}, h_{0} )\\ x_{1}为目标控制量\\ e.g.角度\theta\\ x_{2}为目标控制量的一阶近似微分\\ e.g.角速度\omega\\ r_{0}表示对系统状态量的跟踪速度\\

r0越大,对系统状态量的跟踪越快,但是 快≠好,r0越大,对噪声的放大效果越明显,且可能出现超调;r0越小,系统的响应越慢,且会出现不可控的极点 一般来说,r0[0.2,20]\quad r_{0}\in[0.2, 20]时\qquad比较合适

Tips: r0存在边际递减现象:当r0大于20时,小幅度继续增大r0,对于系统的影响不大,除非以指数级的方式增大r0,但意义不大

h0是fhan内部的迭代步长,类似于系统运行步长h(也称作对象采样周期),可以近似的认为fhan是ADRC系统的一个子系统,同时受两边步长的影响。

  1. 系统响应速度主要受h和h0两个参数的影响,一般情况下,h0[5h,15h]h_{0}\in[5h,15h]是一个比较合理的区间
  2. 相对来说,h对系统的响应影响更大,但是在确定一个相对可靠的h后,就尽量减少改动,最终的控制效果还是由控制算法决定,TD环节更像是一种滤波,让数据的可用程度变得更高
  3. r0r_{0}虽然也会影响系统响应速度,但是主要还是对稳定性上的影响,若想要调整系统响应,改变h0hh_{0}和h是一个更好的选择

对于一个二阶系统而言,v1(k)v_{1}(k)就是对目标控制量的跟踪,而且应用了过渡过程,相较于直接使用x1(k)x_{1}(k)进行系统控制,v1(k)v_{1}(k)通常会取得更好的控制效果
粗暴一点的用法就是直接把v1k替代x1k扔进PID里做控制,一般效果会变好不少(tips:要把PID参数变大不少,不然响应很差)