ADRC控制器 Ardupilot & SIMULINK 飞控联合开发

本文介绍了如何使用ADRC控制器替换Ardupilot中的PID控制器,通过Simulink进行设计和仿真,然后利用Embedded Coder自动生成C++代码,并在Ardupilot中进行PID库的替换。详细步骤包括控制器参数调优、代码生成、库文件整合及参数添加。已通过Ardupilot SITL仿真验证,实际飞行效果待检验。
摘要由CSDN通过智能技术生成

使用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控制器。

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值