3Dking 发表于 2022-11-28 19:40:11

一文读懂:无人机飞控三大算法

无人机飞控三大算法:

捷联式惯性导航系统

卡尔曼滤波算法

飞行控制PID算法

01捷联式惯性导航系统

说到导航,不得不说GPS,他是接受卫星发送的信号计算出自身位置的,但是当GPS设备上方被遮挡后,GPS设备无法定位了。比如在室内、隧道内、地下等场所,基本收不到GPS信号。

另一种导航方式是不依赖外界信息的,这种导航叫做惯性导航。

那什么是惯性导航呢?它就是利用载体上的加速度计、陀螺仪这两种惯性元件,去分别测出飞行器的角运动信息和线运动信息,与初始姿态、初始航向、初始位置一起交给计算模块,由计算模块推算出飞机的姿态、速度、航向、位置等导航参数的自主式导航方法。

惯性导航系统又分为平台式惯性导航和捷联式惯性导航。



1)平台式惯性导航

早期的惯性导航系统都是平台式的,平台式惯导有实体的物理平台,陀螺仪和加速度计置于由陀螺稳定的平台上,该平台跟踪导航坐标系,以实现速度和位置解算,姿态数据直接取自于平台的环架。

优点:直接模拟导航坐标系,计算比较简单;能隔离载体的角运动,系统精度高。

缺点:结构复杂,体积大,制作成本高。

2)捷联式惯性导航

还有另一种捷联式惯性导航,捷联的英文原义是“捆绑”的意思。因此捷联式惯性导航也就是将惯性测量元件,包括陀螺仪和加速度计,直接装在需要姿态、速度、航向等导航信息的主体上,用计算机的测量信号变换为导航参数。

优点是没有平台,架构简单,体积小,维护方便。

缺点:惯性元件直接装在载体上,环境恶劣,对元件要求较高;坐标变换中计算量大。

3)小结

总体来看,捷联惯导比平台式惯导优势明显。

在1969年,捷联惯导系统作为"阿波罗"-13号登月飞船的应急备份装置,在其服务舱发生爆炸时将飞船成功地引导到返回地球的轨道上时起到了决定性作用,成为捷联式惯导系统发展中的一个里程碑。

02卡尔曼滤波算法

卡尔曼滤波算法采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻地观测值来更新对状态变量的估计,求出现刻的估计值。

卡尔曼滤波算法是卡尔曼等人在20世纪60年代提出的一种递推滤波算法。

它的实质是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法。

这套算法采用信号与噪声的状态空间模型,利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值,在惯性导航系统中有非常广泛的应用。

刚才说的噪声指的是计算得出的值与实际值的误差。

为什么Kalman滤波会应用到惯性导航系统中呢?

这主要是因为惯性导航系统的“纯惯性”传感器不足以达到所需的导航精度,为了补偿导航系统的不足,常常使用其他导航设备来提高导航精度,以减小导航误差。所以利用Kalman滤波算法,可以将来自惯性导航系统与其他导航装置的数据(如惯性导航系统计算的位置对照GPS接收机给出的位置信息)加以混合利用,估计和校正未知的惯性导航系统误差。

卡尔曼滤波算法广泛应用已经超过30年,包括机器人导航、控制、传感器数据融合甚至军事方面的雷达系统以及导弹追踪等。比如,在雷达中,人们感兴趣的是跟踪目标,但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置最优的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。



卡尔曼滤波算法是一个非常复杂的计算,我们结合飞行器来简单的讲一下它的计算过程:

比如飞行器想知道自己的一个状态,这个状态可以是姿态、速度或位置等信息。

我们知道飞行器的传感器是可以得到这些信息的,通过惯性导航的数学模型也可以计算出这些信息,但这两个信息的值与实际值还是有一定的差距的,把这两个值放在若干数学公式里可以得到一个最优值。

通过这个最优值与传感器和数学模型的值进行对比,我们可以知道哪个值与最优值比较接近。

下次的计算我们应该较多的参考接近最优值的那个值,比如传感器的值最接近最优值,那我们就把传感器的值使用较大的权重,数学模型得到的值加使用较小的权重,所得到的这个权重不是随便给的,也是通过数学公式得来的。

那我下一个时间段再计算的时候这个权重就要起作用了,传感器的值和数学模型的值会带着权重放在数学公式里得到最优值。

然后我们再把这个最优值与传感器和数学模型的值进行对比,再看一下哪个值与最优值接近,如果还是传感器的值比较接近,我们还是会通过公式生成一个权重,交给下个时间段的计算使用。

通过不断重复这样的计算,我们就可以得到一个相对较优的值,这就是卡尔曼滤波算法的大概过程。

03飞行控制PID算法

PID控制器是一种线性控制器,它主要根据给定值和实际输出值构成控制偏差,然后利用偏差给出合理的控制量。



目前,人们通过科学研究获得了诸多具有优异控制效果的算法和理论,但在工程应用领域,基于经典PID的控制算法仍然是最简单、最有效的控制方案。

PID控制器是一种线性控制器,它主要根据给定值和实际输出值构成控制偏差,然后利用偏差给出合理的控制量。

目前主流的几款开源飞控中,无一例外的都是采用PID控制算法来实现无人机的姿态和轨迹控制。

PID里的P是Proportion的首字线,是比例的意思,I是Integral的首字线,是积分的意思,D是Differential的首字母,是微分的意思。

那么PID控制器算法能解决什么问题呢?

以多旋翼为例,在没有控制系统的情况下,直接用信号驱动电机带动螺旋桨旋转产生控制力,会出现动态响应太快,或者太慢,或者控制过冲或者不足的现象,多旋翼根本无法顺利完成起飞和悬停动作。为了解决这些问题,就需要在控制系统回路中加入PID控制器算法。在姿态信息和螺旋桨转速之间建立比例、积分和微分的关系,通过调节各个环节的参数大小,使多旋翼系统控制达到动态响应迅速、既不过冲、也不欠缺的现象。

*本文作者系民用无人机公众号,版权归原作者所有,如有侵权请联系删除


扫码入群
扫码添加管理员微信
加入“电子产品世界”粉丝交流群

↓↓↓↓点击阅读原文,查看更多新闻
页: [1]
查看完整版本: 一文读懂:无人机飞控三大算法