zouyf12 发表于 2013-5-2 11:21:52

四元数用于姿态旋转上有两种算法?(微分方程和乘法)

            这几天研究四元数解算姿态,发现论坛上面视乎提到两种方法,想请教一下它们的区别
第一种是“seanwood ”前辈发的方法:http://www.amobbs.com/thread-5492189-1-1.html。 里面用的四元数微分方程,这个方法也是《捷联惯性导航》书里提到的, 应用很简单,就是输入每个陀螺仪的角增了(角速度*采集间隔时间)。就可以更新姿态四元数,反解出欧拉角就可以直接用于控制。

第二种是“js200300953”前辈发的方法:http://blog.sina.com.cn/s/blog_81f1e26801016ub2.html。是四元数乘法, 个人理解这个方法应该是把新的旋转变成一个四元数,与之前姿态四元数做四元数乘法得到新的姿态四元数。 不过这个方法至今我也没理解怎么样把新的旋转变成一个四元数。

js200300953 发表于 2013-5-2 12:27:35

一阶微分就是四元数乘法。
其实是两条路:微分是代数方法,四元数乘法是几何方法。

zouyf12 发表于 2013-5-2 12:47:44

js200300953 发表于 2013-5-2 12:27 static/image/common/back.gif
一阶微分就是四元数乘法。
其实是两条路:微分是代数方法,四元数乘法是几何方法。 ...

      恩,原来是这样。    我又查了一下对于四元数乘法的相关资料,感觉大致过程是, 第一步和微分法一样,读陀螺仪得到3个轴角增量,然后把这个3个角增量做欧拉角转四元数变换,得到一个四元数,用这个四元数与之前的姿态四元数做四元数乘法,就达到更新之前四元数的目的,是不是这样的呢?   如果是的话,那不是比微分法多了一个步骤

js200300953 发表于 2013-5-2 13:06:54

zouyf12 发表于 2013-5-2 12:47 static/image/common/back.gif
恩,原来是这样。    我又查了一下对于四元数乘法的相关资料,感觉大致过程是, 第一步和微分 ...

陀螺输出的角增量是小角,可以用小角三角近似。

asha 发表于 2013-5-2 21:53:02

两种等价

zouyf12 发表于 2013-5-3 08:34:39

asha 发表于 2013-5-2 21:53 static/image/common/back.gif
两种等价

   就是不知道怎么相互换算

asha 发表于 2013-5-3 09:12:11

zouyf12 发表于 2013-5-3 08:34 static/image/common/back.gif
就是不知道怎么相互换算

四元数微分方程展开就是。
页: [1]
查看完整版本: 四元数用于姿态旋转上有两种算法?(微分方程和乘法)