|
姿态调整算法关键在于了解四个方面的联系:9轴数据(加速度计,陀螺仪,罗盘)——>四元数——>欧拉角——>电机调整。
9轴数据怎么变成四元数的,为什么变成四元数;四元数怎么变到欧拉角(航向角,横滚角,俯仰角);电机怎么根据欧拉角的信息反馈调整的。它们不是你手拿遥控器的那几根摇杆和按键就能解决的。我们不是产品的检验员!
通过2个小时的头脑风暴,我搞明白了中间的过程即“四元数——>欧拉角”。推算过程我实在不想说,公式不想码出来,但是我可以谈谈一些框架的东西,沿着这条思路去看那些公式就明白了。
首先,要理解这个概念:欧拉角——航向角,横滚角,俯仰角。欧拉角没有固定标准,我所说的只是其中之一,它基本是导航方面用到的一种欧拉角,这种标准叫什么ahrs标准。具体不是太明白其中的定义。我们只要搞清楚这三个角是怎么样的,头脑中有个概念。手伸出来可以比划就可以了。坐标系一般取东(X)、北(Y)、天(Z)。航向角(绕Z轴转动)、横滚角(绕Y轴转动)、俯仰角(绕X轴转动)。这就是伟大的欧拉角,还算简单吧。
其实姿态调整就跟牛顿力的分解差不多,这个就是分解成这三个角的旋转。你一开始得定一个基准,这个基准是以地面为平行的你的飞行器的那个平面上刚体的坐标系值。然后你把你得到的9个轴的信息通过算法变成四元数,通过四元数得到欧拉角,通过偏差你知道要调的量。
好啦,头脑中有这儿概念之后,详细的我们讨论四元数与欧拉角。我们先以航向角的变化为例,因为其他角的变化和这个是一样的,最后整合就是整体你的位置变化。
航向角度变化了Q度,此时不就有两个位置了嘛,从这个位置到那个位置我怎么通过一个数学表达式表示,这就是你需要解决的问题。这里我们加入两个坐标系:b系和R系,我这个字母表示,基本通用。R系和b系在一开始是一样的,因为是重合的,动了Q角度后,就是b系(原来的)变到了b系(现在的)。原来的b系和R系是一样的,那就是解决b系到R系的转变,投影的概念来了,投影就是这种转变的关系的数学表达了。好啦,这个时候我们就让那些学数学的去帮我们算吧。。。等他算好了我们就得到了这两个系要转变所通过的那个矩阵D了。这时候还不行,你得把这个矩阵里面的有些代表长度的和三角函数用4个算子表示其实就是1*sin(Q/2);l...,m...,n...,。这里的lmn是你绕的这个转轴的相对于R系的坐标。Q还是那个航向角。这样用这四个算子(q0,q1,q2,q3),替代的那个矩阵就是四元数矩阵了。可以看到有大小有角度,所以是矢量。然后又是学数学干的事。我们就得到了从一个平面怎么旋转到另一个平面上了。四元数相当于一种变换。它可以表示从一个坐标系转变到另一个坐标系的全部信息,为什么用它,它做变换要比你用三角函数做变换简单快捷的多。
OK,这就是我粗浅的理解!明天开始搞定九轴数据到四元数的具体做法! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|