0

我正在使用 Jeff 库从 MPU6050 获取旋转数据。但有个问题 ! 杰夫·利伯

Jeff 代码进行 0 到 360 度输出。这意味着我们没有 361 度!和更多。在我的项目中,我需要自由旋转。例如 800 度或 -1250 度....

我想这部分库必须更改:

uint8_t MPU6050::dmpGetYawPitchRoll(float *data, Quaternion *q, VectorFloat *gravity) {
    // yaw: (about Z axis)
    data[0] = atan2(2*q -> x*q -> y - 2*q -> w*q -> z, 2*q -> w*q -> w + 2*q -> x*q -> x - 1);
    // pitch: (nose up/down, about Y axis)
    data[1] = atan(gravity -> x / sqrt(gravity -> y*gravity -> y + gravity -> z*gravity -> z));
    // roll: (tilt left/right, about X axis)
    data[2] = atan(gravity -> y / sqrt(gravity -> x*gravity -> x + gravity -> z*gravity -> z));
    return 0;
}

但是我没有数学知识。:-[

请帮我这样做。非常感谢...

4

0 回答 0