【发布时间】:2016-02-02 11:31:42
【问题描述】:
对于一个学校项目,我们有一个 mpu 9150(陀螺仪/加速度计/磁力计(?)),我们想要为它获得 Roll/Pitch/Yaw/Heading。
我使用了作为库中示例的代码,但它只为我们提供了该格式的原始数据:ax/ay/az/gx/gy/gz/mx/my/mz。这不是我们想要的。
到目前为止,我设法通过以下 sn-p 获得滚动和俯仰:
roll = atan2(ay, az)+PI;
pitch = atan2(-ax, az)+PI;
// Convert everything from radians to degrees:
pitch *= 180.0 / PI;
roll *= 180.0 / PI;
我读到我必须使用磁力计来获得偏航,但我不知道我需要什么公式。
在示例代码中也有这个sn-p,也许这就是我需要使用的全部,或者有人知道我可以使用的其他功能/方法吗?
// read raw accel/gyro measurements from device
accelgyro.getMotion9(&ax, &ay, &az, &gx, &gy, &gz, &mx, &my, &mz);
// these methods (and a few others) are also available
//accelgyro.getAcceleration(&ax, &ay, &az);
//accelgyro.getRotation(&gx, &gy, &gz);
我使用 I2Cdev 和 MPU6050 库
另一个问题是,我还能从传感器中得到什么?是否可以得到它的高度或高度差?
感谢您的帮助。
【问题讨论】:
标签: arduino accelerometer gyroscope magnetometer