自动驾驶坐标系变换:欧拉角法

初识飞行器,第一个绕不开又让人觉得无比头疼的就是坐标轴的定义以及它们之间的变换。

自动驾驶坐标系变换:欧拉角法_第1张图片两个坐标系之间的转换,在飞行动力学中主要有欧拉角法和四元数法等等。

本次主要学习欧拉角法,
自动驾驶坐标系变换:欧拉角法_第2张图片分别分析两个向量:
在这里插入图片描述
整理成紧凑形式:
在这里插入图片描述
如果我们这时候再加上一条垂直屏幕向外的Oz轴,上面的步骤我们可以描述成绕 Oz轴逆时针旋转\theta角,那么上述的式子就可以扩维成
在这里插入图片描述
读者们可以自行按照这个步骤推导一下顺时针旋转情况下的变换矩阵。

在三维环境下,也就有三个轴的旋转,根据坐标轴转换顺序的不同,这三个矩阵按不同顺序相乘可以分别获得不同的最终坐标系变换矩阵

自动驾驶坐标系变换:欧拉角法_第3张图片下面给出三个轴旋转的基元旋转矩阵,以上所有的公式都是从这些基元旋转矩阵推出的:(Tips:实际计算时需注意顺时针或逆时针旋转)
绕X轴的旋转变换矩阵为:在这里插入图片描述
绕Y轴的旋转变换矩阵为:在这里插入图片描述
绕Z轴的旋转变换矩阵为:在这里插入图片描述
按照飞行器建模时常用的Z-Y-X旋转顺序,经过验算,与上图中的答案相同。

在这里插入图片描述

    %% 计算ZYX旋转顺序下的坐标系变换矩阵 syms cx sx cy sy cz sz 
    Rx = [1 0 0; 0 cx -sx; 0 sx cx]; 
    Ry = [cy 0 sy; 0 1 0; -sy 0 cy]; 
    Rz = [cz -sz 0; sz cz 0; 0 0 1]; 
    Rz * Ry * Rx 
     
     
    --------运行以上程序-------- 
     
    ans = 
    [ cy*cz, cz*sx*sy - cx*sz, sx*sz + cx*cz*sy] 
    [ cy*sz, cx*cz + sx*sy*sz, cx*sy*sz - cz*sx] 
    [ -sy, cy*sx, cx*cy]

你可能感兴趣的:(自动驾驶,自动驾驶,机器学习,python)