chiying 发表于 2016-7-24 21:08:52

互补滤波中,不懂加表测姿态角与陀螺积分姿态角之间的...

程序中,该部分误差是通过陀螺测得角速度,不断计算当前四元数,然后表示成余弦矩阵,得到陀螺姿态角下的机体系中的重力单位向量表示a,加表测得当前的加速度向量在机体下的向量表示b,然后a与b叉乘,得到两种方式的姿态角误差?
请问
1.为啥这样叉乘得到的就是姿态角误差?
2.a与b叉乘后三个向量元素对应的是哪三个姿态角的误差?

wkllq1314 发表于 2016-7-25 09:47:36

1.可以了解叉乘定义就知道为什么是误差了
2.这得看你是怎么叉乘的

chiying 发表于 2016-7-26 18:07:59

wkllq1314 发表于 2016-7-25 09:47
1.可以了解叉乘定义就知道为什么是误差了
2.这得看你是怎么叉乘的

大概明白了一些,加速度计测量的重力向量a被单位化了,陀螺测量的体坐标系下的重力向量b也被单位化了,a叉乘b的模,为a模乘b模乘sin(theta),theta是向量a,b之间的夹角。结果是一个向量,其模为sin(theta)值,theta较小时,叉积约等于theta值。
所以叉积结果的模就是向量a和b的角度偏量。
在这里,隐含了一个条件就是在计算的时候把陀螺测量的体坐标系与加速度计的体坐标系重合了,如果两者实际上的坐标系重合,那么重力向量也重合,叉乘结果为零。如果两个坐标系有角偏差,那么人为将坐标系重合后表示出来的重力向量的角偏差大小与坐标系角偏差一致。
但是理解了向量叉积的模反映了角偏差量,还是不太理解叉积结果向量含有三个元素,做imu_update,时候,三个元素分别放大或者积分后去跟陀螺仪的三个角速度去做和,这三个元素为什么这么对应还不是太了解。请大神指点

chuck__chee 发表于 2016-7-27 00:16:28

X Y方向的差乘补偿到Z轴XZ方向的差乘补偿到Y轴 YZ方向的差乘补偿到 X轴

chuck__chee 发表于 2016-7-27 00:17:22

还有请问下 为什么我的pitch角度 最大值只有85度啊 而且接近85度的时候 ROLL变化非常快 你们有{:smile:}遇到这个问题吗

chiying 发表于 2016-7-27 10:42:35

chuck__chee 发表于 2016-7-27 00:16
X Y方向的差乘补偿到Z轴XZ方向的差乘补偿到Y轴 YZ方向的差乘补偿到 X轴

ok,昨天画了画图,对的是这样,谢谢!{:smile:} 刚入门,还在探索,碰到您这个问题再跟您讨论!

chuck__chee 发表于 2016-7-27 11:40:39

恩恩,我现在都不想输出欧拉角了,直接看四元数得了
页: [1]
查看完整版本: 互补滤波中,不懂加表测姿态角与陀螺积分姿态角之间的...