ADRC控制器 Ardupilot & SIMULINK 飞控联合开发
使用ADRC替换掉ardupilot中的PID控制器,首先我们需要借助simulink搭建ADRC控制器,进行初步调参,仿真通过后利用simulink to C 生成我们想要的ADRC代码,插入到ardupilot中,最终调参得到ADRC飞控,开发思路借鉴基于模型的开发思路,真实飞机控制效果还待验证,已经通过Ardupilot中SITL仿真。
Adrc控制器
ADRC的控制框图如下:主要包括跟踪微分器(TD)、非线性状态误差反馈(NLSEF)、扩张状态观测器(ESO)。引用
L-ADRC中最重要的是ESO,ESO的核心思想是建立新的状态方程,输入被观测模型的输出与被观测模型的输入,将状态方程对被观测模型进行辨识,最终得到被观测模型的响应特性以及外部扰动,而ADRC的主要思想是对ESO观测出的外部扰动量进行补偿(博主认为就是将扰动作为前馈)。ESO的公式:
在simulink中搭建被控对象的模型,搭建ADRC控制器。