德国 飞控算法.pdf

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
德国 飞控算法

下面是我这一周时间内对德国人代码的一些理解: 德国人代码中的姿态检测算法: 首先,将陀螺仪和加速度计的测量值减常值误差,得到角速度和加速度,并对角速度进行积 分,然后对陀螺仪积分和加速度计的数值进行融合。融合分为两部分,实时融合和长期融合, 实时融合每一次算法周期都要执行,而长期融合没256 个检测周期执行一次,(注意检测周 期小于控制周期的2ms) 实时融合: 1.将陀螺仪积分和加表滤波后的值做差; 2.按照情况对差值进行衰减,并作限幅处理; 3.将衰减值加入到角度中。 长期融合: 长期融合主要包括两个部分,一是对角速度的漂移进行估计(估计值是要在每一个控制周期 都耦合到角度中的),二是对陀螺仪的常值误差(也就是陀螺仪中立点)进行实时的修正。 1.将陀螺仪积分的积分和加速度积分做差(PS:为什么这里要使用加表积分和陀螺仪积分的 积分,因为在 256 个检测周期内,有一些加速度计的值含有有害的加速度分量,如果只使 用一个时刻的加表值对陀螺仪漂移进行估计,显然估计值不会准确,使用多个周期的值进行 叠加后做座平均处理,可以减小随机的有害加速度对估计陀螺仪漂移过程中所锁产生的影 响) 2.将上面两个值进行衰减,得到估计的陀螺仪漂移 3.对使考虑了陀螺仪漂移和不考虑陀螺仪漂移得到的角度做差,如果这两个值较大,说明陀 螺仪在前段时间内测到的角速率不够准确,需要对差值误差(也就是陀螺仪中立点)进行修 正,修正幅度和差值有关长期融合十分关键,如果不能对陀螺仪漂移做修正,则系统运行一 段时间后,速率环的稳定性会降低。 下面比较一下德国四轴中姿态检测部分和卡尔曼滤波之间的关系: 卡尔曼滤波是一种线性系统的最优估计滤波方法。对于本系统而言,使用卡尔曼滤波的作用 是通过对系统状态量的估计,和通过加速度计测量值对系统状态进行验证,从而得到该系统 的最优状态量,并实时更新系统的各参数(矩阵),而最重要的一点,改滤波器能够对陀螺 仪的常值漂移进行估计,从而保证速率环的正常运行,并在加速度计敏感到各种有害加速度 的时候,使姿态检测更加准确。但是卡尔曼滤波器能否工作在最优状态很大程度上取决于系 统模型的准确性,模型参数的标定和系统参数的选取。然而,仅仅通过上位机观测而得到最 优工作参数是不显示的,因为参数的修改会导致整个系统中很多地方发生改变,很难保证几 个值都恰好为最优解,这需要扎实的理论知识,大量的测量数据和系统的 com target=_blank class=relatedlink target=_blank class=relatedlink仿 真,通过我对卡尔曼滤波器的使用,发现要想兼顾所有的问题,还是有一定难度的。 而德国人的姿态检测部分是在尝试使用一种简单方法去解决复杂问题,他既没有使用传统的 四元数法进行姿态检测,也没有使用卡尔曼滤波。他的计算量不比最简单的卡尔曼滤程序波 程序的计算量小,但与卡尔曼滤波相比,更加直观,易于理解,参数调节也更加方便。我个 人理解,这个方法是在尝试着对卡尔曼滤波这一复杂相互耦合的多状态变量的线性系统状态 估计过程进行了简单的解耦,从而将姿态的最优估计和陀螺仪漂移的最优估计分隔开,这样, 就可以通过比较直观的观测手段对两个部分的参数进行调整,但是,这种方法的理论性肯定 不如使用四元数法和卡尔曼滤波,在一些特殊的情况下还可能出现问题,但是,由于卡尔曼 滤波器设计的难度,使用这种方法还是比较现实的。 控制算法: 德国人的控制算法的核心是对角速度做 PI 计算,P 的作用是使四轴能够产生对于外界干扰 的抵抗力矩,I 的作用是让四轴产生一个与角度成正比的抵抗力。 如果只有P 的作用,将四轴拿在手上就会发现,四轴能够抵抗外界的干扰力矩的作用,而且 这个抵抗力非常快速,只要手妄图改变四轴的转速,四轴就会产生一个抵抗力矩,但是,如 果用手将四轴扳过一个角度,则四轴无法自己回到水平的角度位置,这就需要I 的调节作用。 对角速度做I (积分)预算实际得到的就是角度,德国人四轴里面用的也是角度值,如果四 轴有一个倾斜角度,那么四轴就会自己进行调整,直到四轴的倾角为零,它所产生的抵抗力 是与角度成正比的,但是,如果只有I 的作用,会使四轴迅速产生振荡,因此,必须将P 和 I 结合起来一起使用,这时候基本上就会得到德国四轴的效果了。 在对角速度进行了 PI 调节之后,德国人将操纵杆的值融合到结果中去,并对得到的新的值 有进行了一次PI 计算,这个积分参数很小,使用这个积分的作用因为,四轴在有一个非常 小的倾角的情况下产生的抵抗力矩很小,无法使四轴回到水平位置,这就会导致无论怎么手 动调节微调,四轴都很难做到悬停,会不停得做水

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档