FKUAV 发表于 2022-10-22 11:30:45

无人机飞控自动控制原理,PID算法的实际运用和背景

关于飞行,现在未来计算机会做的比任何人类要好更高效,自动控制算法。
我是一名从别的行业转入计算机科学与技术业的,同样有着种对自由飞翔梦想的技术开发者。
我遇到的事情是这样的,曾经有一位哈工大上司找到了我,他算是我的第一位伯乐,他告诉我,如果你去发展机械,就算你能设计出天才的结构和超有效率的装置,在今天看来他的发展已经是快到达极限了,今天的高科技都借助于计算机帮助你在毫秒和微秒级别做出反应,并且先进的控制方式能帮助你简化机械结构,他们相辅相成构成现代工业技术和新科技之花,特别是机器人工业。

时下值得夸耀的“亿航”载人无人机,它很有可能在未来的交通格局产生影响,但未来的道路漫漫,我们也不清楚它在啥时候会对我们产生影响,这我不讨论他未来怎么样,我只是一个技术开发者,我更多的对当下自己的技术感兴趣,所以我尽我所能分享这一种技术。



从直观上看这是一个放大版的四轴无人机,在我眼里“亿航”的技术团队所面临的技术难点是在软硬件结合和自动控制方面,这是他们花费大量力气的地方。若四轴飞行器只讨论空气动力学原理和结构,甚至并没有固定翼和一般直升机那么复杂,它就是依靠电机组和螺旋桨产生的升力对各种所处姿态力做出抵消和调节,而能在天空自由飞行。



虽然这个过程很好描述,实际上四轴飞行器与其说是与空气谐舞,倒不如说是它和空气进行搏斗,无人机之美妙并不在于它天空中优雅的曲线,是在于它没有复杂的机械结构、总距枢纽,更没有控制飞行的操纵面和伺服器,结构精简得只剩驱动电机连杆和控制电路,这正好是个人飞行器和未来灵活交通工具的样子,但它属于尚在得到民众认可和发展的新交通工具。
起初如果要按照这种结构实现飞行,航空的先驱们一定把你嘲笑到你火星去,像这样的飞行器简直不可理喻,不知有多少人做过类似绑上发动机和火箭就想升天的人,他们大多数为此付出了生命的代价。但随着自动控制理论的逐渐总结和发展在现今,优秀的科学家和工程师们能用计算机在极短的时间,通过数学思想(极限逼近,无限分割——微积分)实现毫秒级微秒级的输出调节,例如这4个电机操纵输入得到输出,一般需要进300个参数(文中有一条曲线图描述了PID算法是如何修正输出值,从而使其应对外界干扰而趋向于目标值,做到围绕其上下波动,好的飞控系统以看曲线便知)这么多的参数如此的复杂以至于很长时间让人误以为无法实现,但实际情况与此相反,解决之道便是工程学。



有一位人想必你一定知道,这位伟大的科学家他曾是美国NASA喷气推进实验室的创始人之一,1939年,加州理工学院一个叫“火箭小组”的组织在宿舍做实验的时候火箭主体爆炸,把宿舍墙炸出了一个大洞,然后学校把他们赶出了宿舍,为他们找了一块河谷作为实验基地,这块建在河谷上的实验基地就是现在NASA著名的“喷气推进实验室”,您仔细看这位中国老人。



那有人问人家造火箭的和我们这小飞机有什么关系,可以说我们这小飞机完全是从他的理论里面衍生出来的。有一门学科很神奇,“它完全不去考虑能量、质量和效率等因素”(钱学森《工程控制论》),在别的学科中,这些因素是必须被研究的,但在这里面它可以不用考虑并且做到了对这因素的调节功能,这门科学就是自动控制。


无人机的核心控制技术就是自动调节,现在广泛运用的是归纳为PID控制的算法,PID的创立是非常重要的一环。我们先举个例子,假如打仗的时候,前面迎来一架敌机,当时要打下来需要知道敌机的方位、高度、速度这些量,然后计算出提前量。我们提前使炮弹指向飞机前面一段距离,等炮弹打出去刚好飞机到达炮弹上空。而且还涉及一个问题炮弹直接打中飞机命中率太低,真正的做法是让炮弹在飞机周围刚好爆炸,因此这里需要计算出提前量和爆炸时间,这样的一个系统就比较复杂,于是后来工程师们经过反复研究总结,他们把上述称为负反馈,一个控制系统中负反馈回路可以是系统稳定,正反馈使得系统发散,由此提出一个数学模型PID控制,我们对输入偏差进行比例、积分、微分的运算,运用叠加的结果去控制执行机构,就能实现人类感官无法感受到的细微控制。
这套方法有一个现代意义的公式:



它其实并不神秘它运用广泛 航空、航天、军事、加工、环保、家电等。
PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是


结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应心最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到比较满意的效果。PID控制的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。



其最主要的环节就是整定PID参数,我们对不同的控制系统有不同的方法有PI控制、PD控制、PID控制,通过投自动来不断调整最佳参数,通常通过观察图像趋势直到修正的误差趋于目标值而不上下波动。
无人机的输入量通常由MCU经过一些列滤波算法,得到空间中较准确和稳定的欧拉角在经过其目标值的对比,输出电机的PWM信号或者其他功率信号,使无人机能保持运动意义上的稳态。通常现今的无人机通常采用无刷电机,无刷电机的控制方式正是输出PWM信号,假如我们能通过多级串联PID算法得到理想的输出值,无人机的核心算法也就Ok了。



这里介绍一个直流电机PID控制的基本算法

本例采用了增量式PID算法,算式如下:

PIDOUT = basicValue + Kp*d_error + Ki*error + Kd*dd_error
其中:
PIDOUT:PID输出控制参数,为PWM宽度的调整量
Kp:比例调节参数
Ki:积分调节参数
Kd:微分调节参数
error:误差量(为期望速度-实际速度,可以为正数或负数)
d_error:本次误差量与上次误差量之差(error-pre_error)
dd_error:上次误差量与上上次误差量之差(pre_error-pre_pre_error)
控制程序





感谢阅读:
欢迎联系我讨论交流 OneTrueThing :WeChat ,/ 1170260576@qq.com
页: [1]
查看完整版本: 无人机飞控自动控制原理,PID算法的实际运用和背景