中级会员
- 积分
- 218
- 金钱
- 218
- 注册时间
- 2020-4-18
- 在线时间
- 59 小时
|
unsigned char BS004_IMU_Update(float ax,float ay,float az,float gx,float gy,float gz) //ËÄÔaêyμÃÅ·à-½Ç
{
float norm;//ê¸á¿μÄÄ£
float vx, vy, vz;//μ±Ç°×Ë쬼ÆËãμÃà′μÄÖØá|ÔúèyÖáéÏμÄ·Öá¿
float ex, ey, ez; //μ±Ç°×Ë쬼ÆËãμÃà′μÄÖØá|¼óËù¶èÔúèyÖáéÏμÄ·Öá¿
//
//Ô2μã2©ê¿:ËÄÔaêy3Ë·¨ÔËËã
float q0q0 = q0 * q0;
float q0q1 = q0 * q1;
float q0q2 = q0 * q2;
float q1q1 = q1 * q1;
float q1q3 = q1 * q3;
float q2q2 = q2 * q2;
float q2q3 = q2 * q3;
float q3q3 = q3 * q3;
if(ax*ay*az==0)//′|óú×ÔóéÂäìå×′ì¬ê±2»½øDD×Ë쬽aËã »á2úéú·ÖĸÎTÇî′óμÄÇé¿ö
return 0;
//Ô2μã2©ê¿:1éò»»ˉ′|àí
norm = sqrt(ax*ax + ay*ay + az*az);
if(norm==0) return 0;
ax = ax / norm;//±ä¸üá¿3ìò22»DèòaDT¸ÄKP2Îêy ÔúÕaàï1éò»»ˉ
ay = ay / norm;
az = az / norm;
//
//Ô2μã2©ê¿:½¨á¢D¡ËÄÖá×ø±êÏμ
vx = 2*(q1q3 - q0q2);
vy = 2*(q0q1 + q2q3);
vz = q0q0 - q1q1 - q2q2 + q3q3;
。。。。。。。。。。。。。
、、、、、、、、、
}
大神们 这个 输入的参数 是处理过的寄存器原始数据吗 那又是如何处理的呢
|
|