搜索
bottom↓
回复: 13

惯性导航算法中四元微分方程中的问题

[复制链接]

出0入0汤圆

发表于 2015-1-17 10:50:05 | 显示全部楼层 |阅读模式
最近在MFC中搭建了OPENGL环境打算写了姿态解算的小程序,阅读了《捷联惯导算法心得》,对我这种新手很有帮助,那么问题来了

在帖子中,四元数更新算法是这样的

然而,在下面的代码实现部分是这样的

q0 = q0 + (-q1*gx - q2*gy - q3*gz)*halfT;

q1 = q1 + (q0*gx + q2*gz - q3*gy)*halfT;

q2 = q2 + (q0*gy - q1*gz + q3*gx)*halfT;

q3 = q3 + (q0*gz + q1*gy - q2*gx)*halfT;

我们那个公式中得出来的q(n+1)是指后一个时刻的四元数,假设用这个代码来实现的话,q0算出来是没问题,但是计算q1的时候,这个时候的q0就已经是更新后的q0了,即q(0+T),那么这么算下来q2和q3都不是严格意义上的q2和q3了,

难道这么算的话对整个姿态解算的影响不怎么大么?

我翻开我大学同学做四轴的代码,发现他也是这样写的,貌似也能飞的样子。

大家怎么看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-1-17 11:13:54 | 显示全部楼层
四元素的公式有多种表达方式 ,只是变换了一下 !

出0入0汤圆

 楼主| 发表于 2015-1-17 12:10:07 | 显示全部楼层
qs6361036 发表于 2015-1-17 11:13
四元素的公式有多种表达方式 ,只是变换了一下 !

也许是我没有表达明白,我的意思是问如果代码这么写的话,那么计算出来的就不是这个公式想表达的结果了

出0入0汤圆

发表于 2015-1-17 18:53:37 | 显示全部楼层
楼主,你的理解是正确的。这个代码确实有这个问题,只是很多人直接拿来用,也不问为什么

出0入0汤圆

发表于 2015-1-17 18:59:09 | 显示全部楼层
刚煜 发表于 2015-1-17 12:10
也许是我没有表达明白,我的意思是问如果代码这么写的话,那么计算出来的就不是这个公式想表达的结果了 ...


他算完第一条q0,在第二条中q1右边出现的q0,其实就是q(0+1)啊,语句是顺序执行的,他用q0地址空间放q0的新数据

出0入0汤圆

 楼主| 发表于 2015-1-17 20:13:57 | 显示全部楼层
kingway00 发表于 2015-1-17 18:53
楼主,你的理解是正确的。这个代码确实有这个问题,只是很多人直接拿来用,也不问为什么 ...

嗯 看来就是这样,也有可能按照顺序这么算其实与并行计算出来的结果也相差不大,有待考证

出0入0汤圆

 楼主| 发表于 2015-1-17 20:15:34 | 显示全部楼层
NJ8888 发表于 2015-1-17 18:59
他算完第一条q0,在第二条中q1右边出现的q0,其实就是q(0+1)啊,语句是顺序执行的,他用q0地址空间放q0 ...

嗯是的,所以这个q0已经是更新后的了q0,就是后一时刻的q0,用这个后一时刻的q0来算后一时刻的q1就不是上面那个公式想表达的:用前一时刻的q0来算出后一时刻的q1

出0入0汤圆

发表于 2015-1-17 22:27:57 | 显示全部楼层
刚煜 发表于 2015-1-17 20:13
嗯 看来就是这样,也有可能按照顺序这么算其实与并行计算出来的结果也相差不大,有待考证 ...

非也。你把互补滤波去掉,你就知道差别了。之所以你同学的四轴能飞,是因为互补滤波帮他把各种误差滤掉了

出0入0汤圆

发表于 2015-1-18 00:16:13 来自手机 | 显示全部楼层
不懂帮顶~

出0入0汤圆

 楼主| 发表于 2015-1-18 09:54:48 | 显示全部楼层
kingway00 发表于 2015-1-17 22:27
非也。你把互补滤波去掉,你就知道差别了。之所以你同学的四轴能飞,是因为互补滤波帮他把各种误差滤掉了 ...

原来如此,我去学习学习互补滤波

出0入0汤圆

发表于 2015-1-18 19:26:37 | 显示全部楼层
角速度方向定义不一样所以由正负差别。一样的,一阶龙格库塔发跟新姿态就是这一时刻的量等于上一时刻量加上微分量

出0入0汤圆

发表于 2015-1-18 19:27:48 | 显示全部楼层
。。我理解错了。。从来就没发现这问题。。。

出0入0汤圆

发表于 2016-1-10 01:29:23 | 显示全部楼层
楼主问了个号问题,我刚好也遇到这个疑惑刚好看到了!嘻嘻!

出0入0汤圆

发表于 2016-1-12 14:08:41 | 显示全部楼层
mark 学习中
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 08:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表