四旋翼无人机飞行控制算法H∞控制

2023-05-16

PID控制之所以被广泛应用,就是因为它是一个无模型控制器。也就是说,不管控制对象是什么,PID控制器的公式都是现成的,然后你去修改三个参数试凑就行了。这对理论基础较差的工程技术人员来说用起来是很方便的。

而现在大部分相对先进的控制算法都是内模控制。也就是说,这些算法针对不同的控制对象模型得到的公式都是不同的,需要你自己去推导。根据数学模型来推导控制器公式的过程就被称为“控制器设计”。


控制有三个重要环节,一是传感器环节,一是系统与信号建模与辨识,一是控制算法。

不基于模型的PID只涉及传感器跟控制算法。基于模型的PID三个环节都要涉及,但人们往往忽略了第二个环节。其实说白了,前两个环节确定了,第三个环节直接就可以反解公式。但事实中却效果不好,为啥呢?

最基础的卡尔曼滤波也是三个环节,传感器,确定系统与信号模型,最优估计算法。也是前两个环节确定了,第三个环节直接就可以反解公式,“不直接就利用经典公式,然后把参数代入就可以了吗”,为什么事实中就效果好呢?或者说,为什么有人调得好,有人则不行呢,差别在哪里?

关键在于第二个环节,确定系统的模型,就是x(k+1)=Ax(k)+Bu(k),包括x(0),以及信号的模型,Q,R,对吧。这几个值在现实中要调来调去的,其实调的就是系统与信号模型参数啊。反而估计算法中,顶多就调调目标函数的加权。当然,用UKF,PF就是另外的story了,这里不表。

所以基于模型的PID现实中效果不好,关键在于第二个环节常常被忽略,系统与信号模型不准,控制算法再好,就是知己不知彼啊。当然PID参数本身在选择时,优化的目标函数也是非常非常重要的。这是另一个问题了,以后再涉及。

H无穷也是如此。

希望回答了你的问题。

再补充几句:

物理建模往往忽略一些因素,给个输入看输出的辨识则更完整保留了系统信息。而现实中在用的系统辨识方面的结果,不论是过控还是飞行器方面的,基本都是频域结果,会的人越来越少了,也越来越不受重视了。总有一天,当传感器环节的问题解决的差不多时,大家就认识到频域系统辨识的重要性了。解决了系统与信号模型和辨识的问题,基于模型的控制算法,或至少是调参方法,才有更多的实用。

---

做应用的话,一般就是在既有的框架下,调参数,一般试凑比仿真有效,因为仿真的假设一般现实满足不了,很多时候倒还不如直接在现实中调。PID,H无穷,最优控制,都是控制框架。原则上说,PID的参数空间是被包含在H无穷、最优控制的参数空间之中的,但也因为参数空间小,PID参数比后两者好调。

PID可以无模型,也可以基于模型或输入输出数据;H无穷要基于模型,或至少输入输出数据。难点在于获得一个好的模型(通过系统辨识等),而且模型的误差区间、干扰啥的也要考虑。其实调参数也不容易。而且现实中最起码要有个饱和环节吧,所以一下子就是非线性了。

在仿真中调就容易多了,模型给定了,也没误差区间,也没干扰,甚至有时候没有饱和,像你说的,直接套公式不就完了。但一般不可直接用。在实际中试下你就知道了。而且很多时候,H无穷甚至调不到PID的效果。话说回来,PID调好也不容易。

当然,如果做研究,往往会提出新的控制框架。但这些新提出的框架,绝大部分(甚至说几乎全部)在实际中的效果不如PID与H无。当然,仿真中除外,因为往往会选择一个很特殊的系统来比较。PID与H无穷可以说是最‘鲁棒、万金油、街头’的算法,应用的也比较广泛,因为现实太复杂了,‘脆弱、矜贵、象牙塔’的算法往往只停留在理论与仿真里。当然也不能一棒子打死,如果模型精确,不确定小,干扰小,很多算法还是效果要比PID与H无穷好的。

一个新的控制算法框架,在实际中又好用的,屈指可数。

---

补充几点跑题的。

控制算法本质是输入输出映射。对于PID,H无穷,乃至一部分最优控制等,这映射是个线性时不变的(控制器框架),所以很可能这些方法最后都得出了同样的控制器参数。当然概率比较小,但相近还是常见的。

对于自适应,模糊,预测控制等,这个映射关系可能是非线性时变的,参数空间就打了很多。当然理论上还是有可能得到相近的参数的。

说这些什么意思呢?人的开车、乃至开直升机,其实本质上,人脑是充当了这个输入输出映射,即传感器什么情况下做出什么样的指令给执行机构。这个映射可以完全数学化么?可以归结到现有的框架下么?可以分析这个映射的性能、稳定性什么的么?不知道。人的走路的算法是什么?开直升飞机避障算法是社么?开车时定位算法是什么?鸡头稳定算法是什么?不知道。但即便如此,人走路、开车、直升机等,现在还是比现有的计算机+机器人的感知定位+模式识别+控制算法的效果好。未来如何,不知道。但我相信,感知定位+模式识别+控制算法不断发展,一定有超过人类的一天,因为前面说过了,人类也不过是个输入输出映射而已。只是现在的框架与调参方法,尚未摸索到乃至赶上而已。

其实就现状而言,现实很多时候,不论是感知定位+模式识别+控制算法,其中有很多环节,小trick,都是拍脑袋加上去的,现在根本无法分析。其实话说回来,所谓的分析,不过是分析的模型,而不是实际系统了,一般都是假设实际系统约等于模型。但之间差距有多大,不知道,因为知道的话,就可以把这差距加入到模型当中了。只有慢慢接近。对每个环节了解的更清楚,能建模、辨识最好,实在不行就用个lookup table,把所有能知道的都了解到,然后把剩下的不确定性交给控制算法来处理。这样比不论工况、工艺等,一上来就套用控制算法,效果要好的多。估计、辨识什么的也一样。

有两大类算法,一类算法是理论推倒出来的,如卡尔曼、UKF、Particle Filter,提出新框架,慢慢在实际中证明好用。一类是在实际中凑出来、拍脑袋试验出来的,慢慢扩展成框架,如PID、预测控制等。启发就是,特别留意理论中的新框架(大部分理论是不提供新框架的);实际中有某个方法效果尤其好时,看能否将其抽象成框架。最近留意到卡尔曼的一个朋友提出了无人机协调控制的一个理论新框架,他的学生又将其推广到防止碰撞collision avoidance,看未来能否在现实中好用吧,这里岔开一句,其它的大部分论文,无人机协调、multi-agent的,并没有提供新框架。同时也有很多在实际中用着效果比较好的方法,现在看着像是修修补补,未来可能一被抽象化,就自成体系了。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

四旋翼无人机飞行控制算法H∞控制 的相关文章

随机推荐

  • 【PX4 飞控剖析】03 PX4固件烧录以及调试指南

    PX4 飞控剖析 03 PX4固件烧录以及QGC初步指南 一 加载固件二 加载参数三 校准传感器四 遥控器校准五 飞行模式六 电调校准七 检查参数 标题 xff1a PX4 飞控剖析 03 PX4固件烧录以及调试指南起源 xff1a 根据阿
  • 【PX4 飞控剖析】05 PIX4 连接QGC 可以烧录固件但是连接不上

    PX4 飞控剖析 05 PIX4 连接QGC 可以烧录固件但是连接不上 总结 如图 xff1a QGC error link Device on COM3 Error connecting Could not create port 这个是
  • 【SLAM】英特尔D455与D435i的区别

    SLAM 英特尔D455与D435i的区别 参考链接 xff1a bing搜索 D455 深度摄像头 官方介绍 D455 机械尺度更大 视场角范围更广 视场角更宽 同时RGB 传感器技术 支持全局快门 xff0c 如果对视野范围有要求的用户
  • Bubble Planner无人机运动规划算法解读

    Bubble Planner无人机运动规划算法解读 本文将介绍一种无人机的在线路径规划算法 Bubble Planner xff0c Bubble Planner 是港大张富老师MaRS实验室提出了一种的新型规划算法 xff0c 是一种用于
  • 【论文研读】无人机飞行模拟仿真平台设计

    无人机飞行模拟仿真平台设计 摘要 xff1a 为提高飞行控制算法的研发效率 降低研发成本 基于数字孪生技术设计一个无人机硬件在环飞行模拟仿真平台 从几何 物理和行为3个方面研究无人机数字模型构建方法 将物理实体以数字化方式呈现 设计一种多元
  • 【深度学习基础】

    最终效果如上图所示 xff1a 真不知道这一路有多艰难 众所周知CHATGPT 可以做表格和 公式 xff0c 但它输出的文本是直接渲染好的 你是直接复制不了的 xff0c 你只能复制它出来的字体 于是我尝试了各种 想让它输出表格和文字的方
  • 【蛤蟆先生去看心理医生】

    第一章 整个人都不太好 人物性格描述蛤蟆热情 时尚 爱冒险 xff0c 现在抑郁 xff0c 不能自拔獾智慧 威严河鼠关心朋友 xff0c 有点絮叨鼹鼠体贴善良 第二章 擎友前来相助 讲诉了鼹鼠和河鼠对蛤蟆情况的担忧和讨论 鼹鼠回忆起过去蛤
  • linux下tar、zip、rar解压缩命令使用

    zip 命令 将当前目录下的所有文件和文件夹全部压缩成myfile zip zip r myfile zip r表示递归压缩子目录下所有文件 把myfile zip文件解压到 home sunny unzip o d home sunny
  • Pixhawk—添加一个自定义传感器—超声波(串口方式)

    xfeff xfeff 版权声明 xff1a 本文为博主 原创 文章 xff0c 未经博主允许可以转载 xff0c 注明博客出处 xff1a http blog csdn net FreeApe 目录 43 Pixhawk添加一个自定义传感
  • parson例说

    例说 以JSON中国网站的例子 xff0c 测试代码 include 34 parson h 34 include lt stdio h gt include lt stdlib h gt void test write void void
  • IAR编译优化

    IAREWARM编译器和其他厂家的C编译器相比非常高效 但是当程序里面包含对时序要求比较严格的代码的时候 IAR常常会把这些代码过渡优化 破坏了时序的要求 造成程序错误 在程序代码比较紧的时候又必须优化 可以在要求比较严格的代码的函数前面
  • 在树莓派上使用GPS模块

    GPSD介绍 GPSD是一个Linux下的一个守护进程 xff0c 用以侦听来自GPS接收器的位置等信息 xff0c 并将这些位置信息转换成一种简化的格式 GPSD支持二十多种不同GPS输出格式的GPS接收机 xff0c 例如NMEA As
  • 用两片74HC138组合成4/16译码器

    译码器很多 xff0c 常见的有2路译码器 xff08 74HC139D 2路2 4译码器 多路复用器 xff09 xff0c 3 8译码器 xff08 74HC138D 三八译码器 解码器 xff09 和4 16译码器 xff08 74H
  • virtual method but non-virtual destructor

    有虚函数 xff08 纯虚函数 xff09 就应该有虚析构函数 class Base public virtual void func 61 0 virtual Base 注意 xff0c 有 实现 class Child public B
  • STM32使用C标准库time.h里面的时间时钟函数

    标准C里面已经定义好时间日期库time h xff0c 在嵌入式里面并没有被限制使用 下面我们看一下怎样在IAR中使用time h库 有四个与时间相关的类型 xff1a clock t time t size t 和 tm 类型 clock
  • ros 学习之计算机视觉资料总结

    ros 学习之计算机视觉 ros高效编程Visual ServoingAugmented Reality xff08 AR xff09 Perception and object recognitionvisual odometry 古月居
  • 数字信号处理 离散时间信号

    1 时域离散信号 xff1a 对模拟信号进行等间隔采样 xff0c 即得到时域离散信号 xff08 时间离散 xff0c 但是幅度没有量化 xff0c 离散 xff09 1 xff09 例如 对连续信号Xa t 以等间隔T对其进行采样 xf
  • 复指数函数

    复指数信号 百度百科 复指数信号是指数信号的指数因子是复数时 xff0c 称之为复指数信号 复指数信号在物理上是不可实现的 xff0c 但是它概括了多种情况 利用复指数信号可以表示常见的普通信号 xff0c 如直流信号 指数信号 正弦信号等
  • Make 详解

    1 windows的IDE中自带Makefile 但是unix和linux需要自己写 2 makefile除了指定文件的编译顺序和规则以外 xff0c 也可以执行操作系统的命令 3 make 是一个命令工具 xff0c 是一个解释makef
  • 四旋翼无人机飞行控制算法H∞控制

    PID控制之所以被广泛应用 xff0c 就是因为它是一个无模型控制器 也就是说 xff0c 不管控制对象是什么 xff0c PID控制器的公式都是现成的 xff0c 然后你去修改三个参数试凑就行了 这对理论基础较差的工程技术人员来说用起来是