1 程序架构
(1)主要原理
Chenglin Li:自抗扰控制理论(一)ADRC的原理
Chenglin Li:自抗扰控制理论(八)扩张状态观测器跟踪误差分析
Chenglin Li:自抗扰控制理论(十六)对N阶非线性系统设计自抗扰控制器
(2)RungeKutta计算微分方程组;
Chenglin Li:数值计算(四十八)捕食者与被捕食者模型
Chenglin Li:数值计算(六十)RungeKutta求解微分方程组的C++程序
(3)LADRC封装类的接口:
- 参考指令ref,
- 控制器带宽Wc,
- 观测器带宽Wo,
- 控制输出系数b,
- 步长h,
- 传感器测量输出y;
2 头文件封装定义LADRC类
#pragma once
#include<iostream>
#include<iomanip>
#include<vector>
#include"Const.h"
using namespace std;
/*
程序功能:
1、LADRC类的功能
2、提供的接口包含:
参考输入信号ref、系统输出返回值y、控制量输出u
By Chenglin Li
_2020.11.30_
*/
class LADRC
//class LADRC
{
private:
float _h;// 步长
float _t1 ; //初始和末尾时刻
//LESO和控制器参数
float _ref;
float _y;
float _u;
float _Wo;//LESO带宽
float _Wc;//控制带宽
float _b;//控制输入系数
float beta_Wo[ODE_NUM + 1];//LESO系数
float beta_Wc[ODE_NUM ];//控制器系数
vector<float> _z; //表示LESO返回值
vector<float> _x;表示RK计算的当前节点值
float _t;
vector<float> _s();
//vector<float&g