|
楼主 |
发表于 2016-7-5 10:34:08
|
显示全部楼层
// compute reference direction of flux
hx = 2*mx*(0.5f - q2q2 - q3q3) + 2*my*(q1q2 - q0q3) + 2*mz*(q1q3 + q0q2);
hy = 2*mx*(q1q2 + q0q3) + 2*my*(0.5f - q1q1 - q3q3) + 2*mz*(q2q3 - q0q1);
hz = 2*mx*(q1q3 - q0q2) + 2*my*(q2q3 + q0q1) + 2*mz*(0.5f - q1q1 - q2q2);
bx = sqrt((hx*hx) + (hy*hy));
bz = hz;
wx = 2*bx*(0.5 - q2q2 - q3q3) + 2*bz*(q1q3 - q0q2);
wy = 2*bx*(q1q2 - q0q3) + 2*bz*(q0q1 + q2q3);
wz = 2*bx*(q0q2 + q1q3) + 2*bz*(0.5 - q1q1 - q2q2);
它把磁传感器的读数通过捷联矩阵转到平台坐标系后,并求出合磁场在水平面的投影和在坚直z轴两个向量后,再把这两个向量通过捷联矩阵的逆矩阵求出固连在机体坐标上的磁传感器的读数,最后再与实际传感器的读数差来修正陀螺仪,这样的思路的科学性在哪里呢?
个人觉得,它这样是不是起不到修正作用,反而引入了截断误差呢
hx,hy,hz是在水平坐标系下的值。
bx,bz是原合磁场知量在水平面和坚直平面的投影。
然后又用这两个向量通过逆矩阵求机体坐标下的值,而这做觉得本身就会引入较大误差的。
它然后是想用磁传感器的读数与wx,wy,wz的叉积来修正陀螺的零偏。
|
|