问答

汇集网友智慧,解决技术难题

21ic问答首页 - 四轴飞行器的开源飞控需要什么算法

开源 飞行器 四轴飞行器

四轴飞行器的开源飞控需要什么算法

xiaocao2342021-03-05
四轴飞行器的开源飞控需要什么算法
回答 +关注 8
1018人浏览 1人回答问题 分享 举报
1 个回答
  • 捷联式惯导系统
    导航的目的是为了实时获取四轴飞行器的姿态、速度和位置参数。光电码盘可用来测量四轴飞行器的转动角度,测速电机可用来测量四轴飞行器的角速度,测速计可用来测量四轴飞行器的速度,但是以上各种测量手段均不能单独同时测量四轴飞行器的线运动和角运动,而惯性导航就可做到这一点。因为惯性导航系统不需要物理参照,所以它被称为DOF系统(Degree Of Freedom,自由度),此外惯性导航还不会受到设备外部自然和人为的干扰,特别适合在恶劣环境下的使用。
    20世纪90年代以后,随着微机电系统(MEMS)技术的发展,惯性敏感元件实现了体积小型化,提高了可靠性,并适合批量生产,从此捷联式惯导系统进入了微机电领域,并开始向民用领域广泛渗透,出现在机器人系统和新一代的交通工具中。进入21世纪,捷联式惯导系统几乎完全取代了平台式惯导系统。
    Kalman滤波算法:
    信号在传输与检测过程中不可避免地会受到来自外界的干扰与设备内部噪声的影响,为获取准确的信号,就要对信号进行滤波。所谓滤波就是指从混合在一起的诸多信号中提取出有用信号的过程。举个例子,大家熟知的低通滤波器就是利用信号所处频带的不同,设置具有相应频率特性的滤波器,使得有用的低频信号尽量无衰减地通过,从而去除高频杂波。
    而Kalman滤波是Kalman于1960年提出的从与被提取信号有关的观测量中通过算法估计所需信号的一种滤波算法,他创新地将状态空间的概念引入随机估计理论中,将信号过程看作是具有白噪声影响的线性系统输入输出过程,在估计过程中利用系统的多种方程构成滤波算法。此外,Kalman滤波的输入输出是由时间更新和观测更新算法联系在一起的,根据系统状态方程和观测方程估计出所需处理的信号。那么为什么Kalman滤波会应用到惯性导航系统中呢?这主要是因为惯性导航系统的“纯惯性”传感器不足以达到所需的导航精度,为了补偿导航系统的不足,常常使用其他导航设备来提高导航精度,以减小导航误差。因此开发人员想到了Kalman滤波算法,利用该算法,可以将来自惯性导航系统与其他导航装置的数据(如惯性导航系统计算的位置对照GPS接收机给出的位置信息)加以混合利用,估计和校正未知的惯性导航系统误差。
    飞行控制PID算法:
    虽然现代控制理论发展日臻完善,人们通过科学研究获得了诸多具有优异控制效果的算法和理论,但在工程应用领域,基于经典PID的控制算法仍然是最简单、最有效的控制方案。目前主流的几款开源飞控中,无一例外地都是采用PID控制算法来实现四轴飞行器的姿态和轨迹控制。
    PID控制器是一种线性控制器,它主要根据给定值和实际输出值构成控制偏差,然后利用偏差给出合理的控制量。
    那么PID控制器算法能解决什么问题呢?以多旋翼为例,在没有控制系统的情况下,直接用信号驱动电机带动螺旋桨旋转产生控制力,会出现动态响应太快,或者太慢,或者控制过冲或者不足的现象,多旋翼根本无法顺利完成起飞和悬停动作。为了解决这些问题,就需要在控制系统回路中加入PID控制器算法。在姿态信息和螺旋桨转速之间建立比例、积分和微分的关系,通过调节各个环节的参数大小,使多旋翼系统控制达到动态响应迅速、既不过冲、也不欠缺的现象。


您需要登录后才可以回复 登录 | 注册