美文网首页
姿态解算

姿态解算

作者: Zerxoi | 来源:发表于2017-08-06 00:35 被阅读0次

    介绍

    实际上就是获取物体绕3个轴旋转的角度(欧拉角),Roll(x),Pitch(y),Yaw(z)。


    Flight_dynamics

    IMU(Inertial measurement unit)

    陀螺仪

    陀螺仪可以感知物体在旋转时绕各轴转的角速度,精度虽然可靠,积分存在漂移现象

    加速度计

    加速度计感知物体所受的加速度在各轴上的分量,物体静止时则只感知竖直向下的重力加速度,可以根据重力加速度在各轴分量求解欧拉角,但如果存在外力干扰则无法求解。

    更多:
    1.加速度计和陀螺仪指南
    2.A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications.

    磁力计

    磁力计与加速度计相似,但是感知的不是加速度,而是地磁场方向在各轴上的分量。由于不同地区的地磁场方向不同,参照向量并不像加速度计一样方便选取,因此不能直接用于求解姿态角,同时也使得校准很麻烦。又因为地磁场很小,因此地磁计易受外界磁场干扰


    数学工具

    数学不好,不会走远,我对此深信不疑。

    坐标系

    地理坐标系
    地球坐标系又叫做地理坐标系,是固定不变的。正北,正东,正向上构成了这个坐标系的X,Y,Z轴,我们用坐标系N表示。


    物体坐标系
    待测物体上固定着一个坐标系,我们一般称之为物体坐标系。

    四元数

    表示3维向量在空间中的旋转
    链接:
    [1].Understanding Quaternions
    [2].Quaternion
    [3].Transformations using Quaternions

    旋转矩阵

    表示任意维度向量的线性变换
    链接:
    [1].线性代数的本质

    一阶龙格-库塔法

    链接:
    [1].Runge–Kutta methods


    分析

    概括

    在理想情况下,完全可以使用陀螺仪获得3个欧拉角,但是因为漂移现象的存在,这并不现实;因此需要加速度计修正陀螺仪数据,从而消除漂移,但是加速度计无法感知Z轴的旋转;因此需要地磁计来获取绕Z轴的旋转角度。

    四元数和旋转矩阵都能表示对3维空间向量的旋转。对于同一个变换,若将二者用同一形式表示(无论是四元数转换成旋转矩阵,还是旋转矩阵变成四元数),二者相同。
    向量


    四元数


    向量纯四元数形式

    运算

    Step 1

    静止时(无外力干扰),根据我提坐标系上的重力加速度分量与世界坐标系的关系获取初始欧拉角,再将欧拉角转换成四元数。
    参考资料:
    Conversion Euler to Quaternion
    代码:

    Roll=atan2(Ay,-Az);
    Pitch=atan2(-1*Ax,-1*Az);
    Yaw=0;
    
    Q0=cos(0.5 * Roll) * cos(0.5 * Pitch) * cos(0.5 * Yaw) + sin(0.5 * Roll) * sin(0.5 * Pitch) * sin(0.5 * Yaw);
    Q1=sin(0.5 * Roll) * cos(0.5 * Pitch) * cos(0.5 * Yaw) - cos(0.5 * Roll) * sin(0.5 * Pitch) * sin(0.5 * Yaw);
    Q2=cos(0.5 * Roll) * sin(0.5 * Pitch) * cos(0.5 * Yaw) + sin(0.5 * Roll) * cos(0.5 * Pitch) * sin(0.5 * Yaw);
    Q3=cos(0.5 * Roll) * cos(0.5 * Pitch) * sin(0.5 * Yaw) -sin(0.5 * Roll) * sin(0.5 * Pitch) * cos(0.5 * Yaw);
    

    Step 2

    注释
    Q:四元数
    eg.[qw,qx,qy,qz]T
    V:向量
    eg1. [x,y,z]T
    eg2.G [0,0,1]T
    C:旋转矩阵
    Qv: 向量V的四元数形式
    三维向量[x,y,z]T的纯四元数形式为[0,x,y,z]T
    Cq:四元数的旋转矩阵形式
    Vb:物体坐标系下的向量V
    Vn:世界坐标系下的向量V


    :从世界坐标系转换到物体坐标系的旋转矩阵
    :从物体坐标系转换到世界坐标系的旋转矩阵

    将下式转化成矩阵形式
    Q * Qv * Q-1
    Cq * Vb = Cn * Vb = G

    [1].Transformations using Quaternions
    [2].Conversion Quaternion to Matrix

    01: 02: 03: 04: 05: 06:

    07: ![][07]

    [07]: http://latex.codecogs.com/svg.latex?f\left(\left[\frac{1+\left{x,y\right}}{\left(\frac{x}{y}+\frac{y}{x}\right)\left(u+1\right)}+a\right]^{3/2}\right)

    相关文章

      网友评论

          本文标题:姿态解算

          本文链接:https://www.haomeiwen.com/subject/eyxglxtx.html