kriswiner / ESP32

Arduino sketches for the ESP32
163 stars 46 forks source link

Problem gyro bias #16

Open exzibith opened 6 years ago

exzibith commented 6 years ago

hi kris,

on my last question on your thread issue https://github.com/kriswiner/MPU9250/issues/241 i used sketch MPU9250_MS5637_AHRS_t3.ino,

now i tried to used your sketch MPU9250_MS5637_AHRS.ino, link as below : https://github.com/kriswiner/ESP32/tree/master/MPU9250_MS5637

my question: are my sensor had broken? because i tried with ESP32 sketch i got something wrong with my gyro bias (dps) (i put sensor on flat surface and steady position), i tried calibration about 3 times, with same problem. can you help me or explain what should i do? are the gyro bias can affected the real time gyro data?

Test 1 Scanning... I2C device found at address 0x0C ! I2C device found at address 0x68 ! done

MPU9250 9-axis motion sensor... MPU9250 I AM 73 I should be 73 MPU9250 is online... x-axis self test: acceleration trim within : -0.2% of factory value y-axis self test: acceleration trim within : 0.2% of factory value z-axis self test: acceleration trim within : 0.9% of factory value x-axis self test: gyration trim within : -0.4% of factory value y-axis self test: gyration trim within : -0.3% of factory value z-axis self test: gyration trim within : 0.3% of factory value Calibrate gyro and accel accel biases (mg) 30.09 31.01 -18.98 gyro biases (dps) 3.03 0.00 -0.98 MPU9250 initialized for active data mode.... AK8963 I AM 48 I should be 48 AK8963 initialized for active data mode.... Mag Calibration: Wave device in a figure eight until done! Mag Calibration done! AK8963 mag biases (mG) 219.92 1031.42 -736.31 AK8963 mag scale (mG) 0.60 1.56 1.46 X-Axis sensitivity adjustment value 1.16 Y-Axis sensitivity adjustment value 1.17 Z-Axis sensitivity adjustment value 1.13

Test 2 Scanning... I2C device found at address 0x0C ! I2C device found at address 0x68 ! done

MPU9250 9-axis motion sensor... MPU9250 I AM 73 I should be 73 MPU9250 is online... x-axis self test: acceleration trim within : -0.3% of factory value y-axis self test: acceleration trim within : 0.2% of factory value z-axis self test: acceleration trim within : 0.8% of factory value x-axis self test: gyration trim within : -0.5% of factory value y-axis self test: gyration trim within : -0.2% of factory value z-axis self test: gyration trim within : 0.2% of factory value Calibrate gyro and accel accel biases (mg) 35.52 29.66 -13.92 gyro biases (dps) 3.03 0.10 -0.97 MPU9250 initialized for active data mode.... AK8963 I AM 48 I should be 48 AK8963 initialized for active data mode.... Mag Calibration: Wave device in a figure eight until done! Mag Calibration done! AK8963 mag biases (mG) 207.70 1012.09 -719.38 AK8963 mag scale (mG) 0.59 1.57 1.49 X-Axis sensitivity adjustment value 1.16 Y-Axis sensitivity adjustment value 1.17 Z-Axis sensitivity adjustment value 1.13

Test 3 Scanning... I2C device found at address 0x0C ! I2C device found at address 0x68 ! done

MPU9250 9-axis motion sensor... MPU9250 I AM 73 I should be 73 MPU9250 is online... x-axis self test: acceleration trim within : -0.3% of factory value y-axis self test: acceleration trim within : 0.1% of factory value z-axis self test: acceleration trim within : 0.7% of factory value x-axis self test: gyration trim within : -0.5% of factory value y-axis self test: gyration trim within : -0.2% of factory value z-axis self test: gyration trim within : 0.3% of factory value Calibrate gyro and accel accel biases (mg) 27.77 32.84 -17.46 gyro biases (dps) 3.06 0.06 -0.96 MPU9250 initialized for active data mode.... AK8963 I AM 48 I should be 48 AK8963 initialized for active data mode.... Mag Calibration: Wave device in a figure eight until done! Mag Calibration done! AK8963 mag biases (mG) 237.37 998.03 -722.77 AK8963 mag scale (mG) 0.60 1.33 1.70 X-Axis sensitivity adjustment value 1.16 Y-Axis sensitivity adjustment value 1.17 Z-Axis sensitivity adjustment value 1.13

Data Value : ax = -1.77 ay = -4.03 az = 997.19 mg gx = 0.11 gy = 0.06 gz = -0.10 deg/s mx = -27 my = 69 mz = 37 mG q0 = 0.98 qx = -0.00 qy = -0.00 qz = -0.21 Gyro temperature is 29.0 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 349.24, -0.18, -0.27 Grav_x, Grav_y, Grav_z: 4.78, -3.13, 999.98 mg Lin_ax, Lin_ay, Lin_az: -6.55, -0.90, -2.79 mg sumCount = 1010 sum = 0.56 rate = 1805.74 Hz ax = -3.11 ay = -1.83 az = 998.11 mg gx = 0.05 gy = 0.07 gz = -0.09 deg/s mx = -27 my = 48 mz = 37 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.22 Gyro temperature is 29.0 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 348.58, -0.03, 0.02 Grav_x, Grav_y, Grav_z: -0.36, -0.57, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -2.76, -1.26, -1.89 mg sumCount = 1010 sum = 0.56 rate = 1788.88 Hz ax = -1.10 ay = -3.23 az = 1001.83 mg gx = 0.05 gy = 0.03 gz = -0.04 deg/s mx = -34 my = 38 mz = 27 mG q0 = 0.98 qx = -0.00 qy = -0.00 qz = -0.22 Gyro temperature is 29.0 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 348.44, -0.08, -0.12 Grav_x, Grav_y, Grav_z: 2.04, -1.44, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -3.14, -1.80, 1.83 mg sumCount = 1010 sum = 0.56 rate = 1803.98 Hz ax = -0.98 ay = -5.07 az = 992.43 mg gx = 0.05 gy = 0.13 gz = -0.08 deg/s mx = -33 my = 56 mz = 29 mG q0 = 0.98 qx = -0.00 qy = -0.00 qz = -0.21 Gyro temperature is 29.0 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 349.01, -0.16, -0.26 Grav_x, Grav_y, Grav_z: 4.56, -2.84, 999.99 mg Lin_ax, Lin_ay, Lin_az: -5.53, -2.23, -7.55 mg sumCount = 1010 sum = 0.56 rate = 1788.88 Hz

kriswiner commented 6 years ago

What exactly is the problem?

After applying the gyro biases, what is your gyro data read when flat and motionless?

On Mon, Mar 26, 2018 at 9:04 PM, exzibith notifications@github.com wrote:

hi kris,

on my last question on your thread issue kriswiner/MPU9250#241 https://github.com/kriswiner/MPU9250/issues/241 i used sketch MPU9250_MS5637_AHRS_t3.ino,

now i tried to used your sketch MPU9250_MS5637_AHRS.ino, link as below : https://github.com/kriswiner/ESP32/tree/master/MPU9250_MS5637

my question: are my sensor had broken? because i tried with ESP32 sketch i got something wrong with my gyro bias (dps) (i put sensor on flat surface and steady position), i tried calibration about 3 times, with same problem. can you help me or explain what should i do? are the gyro bias can affected the real time gyro data?

Test 1 Scanning... I2C device found at address 0x0C ! I2C device found at address 0x68 ! done

MPU9250 9-axis motion sensor... MPU9250 I AM 73 I should be 73 MPU9250 is online... x-axis self test: acceleration trim within : -0.2% of factory value y-axis self test: acceleration trim within : 0.2% of factory value z-axis self test: acceleration trim within : 0.9% of factory value x-axis self test: gyration trim within : -0.4% of factory value y-axis self test: gyration trim within : -0.3% of factory value z-axis self test: gyration trim within : 0.3% of factory value Calibrate gyro and accel accel biases (mg) 30.09 31.01 -18.98 gyro biases (dps) 3.03 0.00 -0.98 MPU9250 initialized for active data mode.... AK8963 I AM 48 I should be 48 AK8963 initialized for active data mode.... Mag Calibration: Wave device in a figure eight until done! Mag Calibration done! AK8963 mag biases (mG) 219.92 1031.42 -736.31 AK8963 mag scale (mG) 0.60 1.56 1.46 X-Axis sensitivity adjustment value 1.16 Y-Axis sensitivity adjustment value 1.17 Z-Axis sensitivity adjustment value 1.13

Test 2 Scanning... I2C device found at address 0x0C ! I2C device found at address 0x68 ! done

MPU9250 9-axis motion sensor... MPU9250 I AM 73 I should be 73 MPU9250 is online... x-axis self test: acceleration trim within : -0.3% of factory value y-axis self test: acceleration trim within : 0.2% of factory value z-axis self test: acceleration trim within : 0.8% of factory value x-axis self test: gyration trim within : -0.5% of factory value y-axis self test: gyration trim within : -0.2% of factory value z-axis self test: gyration trim within : 0.2% of factory value Calibrate gyro and accel accel biases (mg) 35.52 29.66 -13.92 gyro biases (dps) 3.03 0.10 -0.97 MPU9250 initialized for active data mode.... AK8963 I AM 48 I should be 48 AK8963 initialized for active data mode.... Mag Calibration: Wave device in a figure eight until done! Mag Calibration done! AK8963 mag biases (mG) 207.70 1012.09 -719.38 AK8963 mag scale (mG) 0.59 1.57 1.49 X-Axis sensitivity adjustment value 1.16 Y-Axis sensitivity adjustment value 1.17 Z-Axis sensitivity adjustment value 1.13

Test 3 Scanning... I2C device found at address 0x0C ! I2C device found at address 0x68 ! done

MPU9250 9-axis motion sensor... MPU9250 I AM 73 I should be 73 MPU9250 is online... x-axis self test: acceleration trim within : -0.3% of factory value y-axis self test: acceleration trim within : 0.1% of factory value z-axis self test: acceleration trim within : 0.7% of factory value x-axis self test: gyration trim within : -0.5% of factory value y-axis self test: gyration trim within : -0.2% of factory value z-axis self test: gyration trim within : 0.3% of factory value Calibrate gyro and accel accel biases (mg) 27.77 32.84 -17.46 gyro biases (dps) 3.06 0.06 -0.96 MPU9250 initialized for active data mode.... AK8963 I AM 48 I should be 48 AK8963 initialized for active data mode.... Mag Calibration: Wave device in a figure eight until done! Mag Calibration done! AK8963 mag biases (mG) 237.37 998.03 -722.77 AK8963 mag scale (mG) 0.60 1.33 1.70 X-Axis sensitivity adjustment value 1.16 Y-Axis sensitivity adjustment value 1.17 Z-Axis sensitivity adjustment value 1.13

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kriswiner/ESP32/issues/16, or mute the thread https://github.com/notifications/unsubscribe-auth/AGY1qp12fI7y0rnmn_EuzzJEfs2ZPtfOks5tibpJgaJpZM4S8QRR .

exzibith commented 6 years ago

on my last question, you tell me any something wrong with my gyro data.

Gyro at rest (no motion) should be much less that 1

After applying the gyro biases, what is your gyro data read when flat and motionless?

i am not applying gyro bias, i was use calibration with wave figure 8.

this is result, i put on flat surface & motionless.

are my result calibration is right?

ax = -0.43 ay = -0.98 az = 1001.04 mg gx = 0.12 gy = -0.06 gz = -0.08 deg/s mx = -26 my = 64 mz = 51 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.19 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 351.38, -0.02, 0.17 Grav_x, Grav_y, Grav_z: -2.94, -0.27, 1000.00 mg Lin_ax, Lin_ay, Lin_az: 2.52, -0.71, 1.04 mg sumCount = 1010 sum = 0.56 rate = 1803.96 Hz ax = -2.44 ay = -2.01 az = 1001.83 mg gx = 0.11 gy = 0.02 gz = 0.02 deg/s mx = -28 my = 69 mz = 71 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.20 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 350.75, -0.04, 0.07 Grav_x, Grav_y, Grav_z: -1.16, -0.67, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -1.28, -1.34, 1.83 mg sumCount = 1010 sum = 0.56 rate = 1789.74 Hz

ax = -0.85 ay = -1.22 az = 998.29 mg gx = 0.14 gy = -0.04 gz = 0.05 deg/s mx = -30 my = 74 mz = 51 mG q0 = 0.98 qx = -0.00 qy = -0.00 qz = -0.19 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 351.77, -0.05, -0.08 Grav_x, Grav_y, Grav_z: 1.41, -0.95, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -2.26, -0.27, -1.71 mg sumCount = 1010 sum = 0.56 rate = 1803.96 Hz ax = -2.69 ay = -0.24 az = 996.28 mg gx = 0.23 gy = -0.15 gz = 0.07 deg/s mx = -30 my = 59 mz = 41 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.20 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 351.14, 0.01, 0.06 Grav_x, Grav_y, Grav_z: -0.97, 0.17, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -1.71, -0.41, -3.72 mg sumCount = 1020 sum = 0.56 rate = 1807.46 Hz

ax = 0.12 ay = 0.73 az = 1002.81 mg gx = 0.20 gy = 0.10 gz = 0.00 deg/s mx = -49 my = 86 mz = 58 mG q0 = 0.97 qx = 0.00 qy = 0.00 qz = -0.25 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 345.07, 0.17, 0.41 Grav_x, Grav_y, Grav_z: -7.10, 2.95, 999.97 mg Lin_ax, Lin_ay, Lin_az: 7.22, -2.22, 2.84 mg sumCount = 1010 sum = 0.56 rate = 1803.96 Hz ax = 0.85 ay = 0.37 az = 999.15 mg gx = 0.17 gy = 0.02 gz = 0.10 deg/s mx = -49 my = 81 mz = 34 mG q0 = 0.97 qx = 0.00 qy = 0.00 qz = -0.26 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 343.69, 0.23, 0.42 Grav_x, Grav_y, Grav_z: -7.28, 4.00, 999.97 mg Lin_ax, Lin_ay, Lin_az: 8.14, -3.63, -0.82 mg sumCount = 1010 sum = 0.56 rate = 1805.72 Hz

kriswiner commented 6 years ago

gx = 0.12 gy = -0.06 gz = -0.08 deg/s

This looks fine, what's the problem?

Your mag needs calibration now.

On Mon, Mar 26, 2018 at 9:22 PM, exzibith notifications@github.com wrote:

on my last question, you tell me any something wrong with my gyro data.

Gyro at rest (no motion) should be much less that 1

are my result calibration is right?

ax = -0.43 ay = -0.98 az = 1001.04 mg gx = 0.12 gy = -0.06 gz = -0.08 deg/s mx = -26 my = 64 mz = 51 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.19 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 351.38, -0.02, 0.17 Grav_x, Grav_y, Grav_z: -2.94, -0.27, 1000.00 mg Lin_ax, Lin_ay, Lin_az: 2.52, -0.71, 1.04 mg sumCount = 1010 sum = 0.56 rate = 1803.96 Hz ax = -2.44 ay = -2.01 az = 1001.83 mg gx = 0.11 gy = 0.02 gz = 0.02 deg/s mx = -28 my = 69 mz = 71 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.20 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 350.75, -0.04, 0.07 Grav_x, Grav_y, Grav_z: -1.16, -0.67, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -1.28, -1.34, 1.83 mg sumCount = 1010 sum = 0.56 rate = 1789.74 Hz

ax = -0.85 ay = -1.22 az = 998.29 mg gx = 0.14 gy = -0.04 gz = 0.05 deg/s mx = -30 my = 74 mz = 51 mG q0 = 0.98 qx = -0.00 qy = -0.00 qz = -0.19 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 351.77, -0.05, -0.08 Grav_x, Grav_y, Grav_z: 1.41, -0.95, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -2.26, -0.27, -1.71 mg sumCount = 1010 sum = 0.56 rate = 1803.96 Hz ax = -2.69 ay = -0.24 az = 996.28 mg gx = 0.23 gy = -0.15 gz = 0.07 deg/s mx = -30 my = 59 mz = 41 mG q0 = 0.98 qx = 0.00 qy = -0.00 qz = -0.20 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 351.14, 0.01, 0.06 Grav_x, Grav_y, Grav_z: -0.97, 0.17, 1000.00 mg Lin_ax, Lin_ay, Lin_az: -1.71, -0.41, -3.72 mg sumCount = 1020 sum = 0.56 rate = 1807.46 Hz

ax = 0.12 ay = 0.73 az = 1002.81 mg gx = 0.20 gy = 0.10 gz = 0.00 deg/s mx = -49 my = 86 mz = 58 mG q0 = 0.97 qx = 0.00 qy = 0.00 qz = -0.25 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 345.07, 0.17, 0.41 Grav_x, Grav_y, Grav_z: -7.10, 2.95, 999.97 mg Lin_ax, Lin_ay, Lin_az: 7.22, -2.22, 2.84 mg sumCount = 1010 sum = 0.56 rate = 1803.96 Hz ax = 0.85 ay = 0.37 az = 999.15 mg gx = 0.17 gy = 0.02 gz = 0.10 deg/s mx = -49 my = 81 mz = 34 mG q0 = 0.97 qx = 0.00 qy = 0.00 qz = -0.26 Gyro temperature is 29.2 degrees C Digital temperature value = 20.00 C Digital temperature value = 68.00 F Digital pressure value = 0.00 mbar Altitude = 145366.45 feet Yaw, Pitch, Roll: 343.69, 0.23, 0.42 Grav_x, Grav_y, Grav_z: -7.28, 4.00, 999.97 mg Lin_ax, Lin_ay, Lin_az: 8.14, -3.63, -0.82 mg sumCount = 1010 sum = 0.56 rate = 1805.72 Hz

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kriswiner/ESP32/issues/16#issuecomment-376392669, or mute the thread https://github.com/notifications/unsubscribe-auth/AGY1qq1n2nuj30FFtdwRha4YcjyqwyQkks5tib6MgaJpZM4S8QRR .

exzibith commented 6 years ago

ok kris, thanks for evaluation.

Your mag needs calibration now.

there are my value data after calibration.

gx = 0.12 gy = -0.06 gz = -0.08 deg/s

should i do for calibration mag again?

======================================

then i have other question on motionless position, are result YAW is big value? but if i rotate or move i get YAW normal value again like as pitch & roll value

from my sample data:

Yaw, Pitch, Roll: 351.38, -0.02, 0.17

Yaw, Pitch, Roll: 350.75, -0.04, 0.07

Yaw, Pitch, Roll: 348.58, -0.03, 0.02

kriswiner commented 6 years ago

For properly calibrated sensors, Yaw goes from 0 to 360. What is your question?

On Tue, Mar 27, 2018 at 12:35 AM, exzibith notifications@github.com wrote:

ok kris, thanks for evaluation.

Your mag needs calibration now.

there are my value data after calibration.

gx = 0.12 gy = -0.06 gz = -0.08 deg/s

should i do for calibration mag again?

then i have other question on motionless position, are result YAW is big value? but if i rotate or move i get YAW normal value again like as pitch & roll value

from my sample data:

Yaw, Pitch, Roll: 351.38, -0.02, 0.17

Yaw, Pitch, Roll: 350.75, -0.04, 0.07

Yaw, Pitch, Roll: 348.58, -0.03, 0.02

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kriswiner/ESP32/issues/16#issuecomment-376426512, or mute the thread https://github.com/notifications/unsubscribe-auth/AGY1qsR44H3qJO9mQcK1WWCDza9Ok11gks5tieu2gaJpZM4S8QRR .