综合技术
直播中

刘丰标

7年用户 1040经验值
私信 关注
[问答]

state->acc.z利用旋转矩阵求的加速度无论将四轴怎么放置静止时输出减去重力加速度都为0吗?

我是直接利用dmp库里的四元数的,公式是根据原子求解state->acc.z的来算的:
accel_z=2*(q1q3-q0q2)*accel[0]+2*(q0q1+q2q3)*accel[1]+(q0q0-q1q1-q2q2+q3q3)accel[2];
还未减去重力加速度,量程是8G,水平静止时用这个公式算出来的重力加速度和直接用dmp读取的Z轴重力加速度值accel[2]差不多如图,左边是accel_z,右边是accel[2]

然后将飞机倾斜至90度静止,dmp读取的Z轴重力加速度值accel[2]应为与重力加速度垂直所以应该是0了,accel_z是通过旋转矩阵得到的所以应该还是有重力加速度的值,但是结果却如图:

accel_z不但不是接近重力加速度,反而差不多是负的重力加速度值,请问这是为什么呢?

回帖(3)

石飞鹏

2019-5-31 10:22:28
dmp不太清楚,但我们MiniFly静止状态(无论飞机如何放置)下,四元数互补滤波出来的重力 方向加速度都是1G左右
举报

王帅

2019-5-31 10:28:45
我感觉你这个好像还没标定
举报

张锐

2019-5-31 10:46:22
什么意思?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分