如此长的标题也是为难我了……
- 假设由运载体(比如手机)确定的坐标系为 b,惯导系统所采用的参考坐标为 n,则由 b 系到 n 系的坐标变换矩阵记为 Cnb 。如果存在 b 系内的一点 rb ,则其在 n 系内的坐标 rn=Cnb∗rb (* 号代表矩阵乘法,下同)。
- 假如中间存在多次旋转,比如 b -> 1 -> 2 -> n,则 Cnb=Cn2∗C21∗C1b
- 四元数是用来表示三维空间内的旋转的一种方法,可以参考 【Unity技巧】四元数(Quaternion)和旋转 和 彻底搞懂四元数。
- 如果用四元数来表示 b -> n 的旋转, rn=Q∗rb∗Q∗ (* 号代表四元数乘法,下同)。特别注意,其中 Q 表示 n -> b 的旋转四元数,即 Q=Qbn 。
- 如果经历 b -> 1 -> 2 -> n 的旋转,则所求四元数为 Qbn=Q1b∗Q21∗Qn2 。
- 另外,需要注意的是,描述旋转的四元数是规范化四元数,即 ||Q||=1 ,但是由于计算误差等因素,计算过程中四元数会逐渐失去规范化特征,因此若干次更新后,需要对四元数做规范化处理。