以下是个人学习陀螺仪结算算法时做的笔记,文末会附带有个人对Mahony算法的理解,仅代表个人看法!!
理解:在计算时,涉及到的有两类值:实际值和理论值。我个人认为Mahony算法实际上是向理论值的靠拢,来倒推一遍:最后的姿态由四元数算出,而四元数的更新又由角速度算出,这个角速度是通过加速度计的误差通过PI补偿器补偿得到的,即这个角速度更趋近于“理论值”;加速度计的误差也是实际值和理论值的误差,而不是理论值和实际值的误差(这里可能有些乱,往下看看就好说咧)!我们来看误差的计算,首先,实际的加速度计和理论的加速度计都是向量,求误差就是求外积,那么向量外积的计算公式:
细心的同学可能发现:两个向量换了位置算外积得到的结果是不一样的!刚好差了一个负号!(即实际值与理论值的误差,而不是理论值与实际值的误差!)
结合Mahony算法的误差补偿算式:
即,所算的误差为=实际值-理论值。
再仔细想想这个过程,将上述文字倒着看,整体上是不是就是实际值向理论值的靠拢呢?
以上即为个人对Mahony算法理解,如果有不同的理解,请在评论区告诉我【花花】【花花】