IMU Sensor Linear Acceleration

Hi, I have got the IMU sensor to work with everything accept linear acceleration. For some reason when I request linear acceleration, I get positive and negative values for all three axis even when the robot is even moving forward -> there doesn’t seem to be any pattern to the values at all.

(34, -7, 31)
(-22, 30, 33)
(-28, 48, -26)

Hi @nielsenb

  • Please explain what platform (GoPiGo3, BrickPi, GrovePi, PivotPi) you have the IMU attached.
  • Please verify you have the Dexter Industries BNO055 based IMU
  • Please explain what port you have the IMU plugged into
  • Please explain what orientation to the platform you have the IMU (arrow up, component side facing forward?)
  • Please explain what operating system (Raspbian For Robots, DexterOS, pure Stretch, pure Buster)
  • Please explain what language you are working in (Python, Bloxter, Java, …)
  • Please explain what software you ran to obtain your results?

Here are some results running the IMU on my GoPiGo3:

  • start program sitting on floor
  • perform rolling-pitching-figure 8 until readings start scrolling
  • place back on floor
  • then pull forward for a foot or so
  • then let sit still and exit program
pi@Carl:~/Carl/Examples/imu/di_BNO055 $ ./calEzFull_z.py 

My example program for full calibration (NDOF SYS, Gyros, magnetometers, Accels)

and then reading the Dexter Industries IMU Sensor

Using mutex-protected, exception-tolerant SW I2C on GoPiGo3 port AD1

save initial mode
save initial units
Resetting BNO055
switch to config mode
write reset byte
check the chip ID
reset the device using the reset command
wait 650ms after reset for chip to be ready (recommended in datasheet)
set to normal power mode
default to internal oscillator
set temperature source to gyroscope, as it seems to be more accurate.
set the unit selection bits
set temperature source to gyroscope, as it seems to be more accurate.
restore mode
BNO055 Reset Complete
BNO055 Calibration Status (sys,gyro,acc,mag): (0,3,0,0)
BNO055 Calibration Status (sys,gyro,acc,mag): (3,3,0,2)
Euler Heading: 265.1 Roll: -12.2 Pitch:  83.2 | Linear Acc XYZ:  3.6  0.8  0.2 | Mag XYZ:   25.2  -25.6   -1.6 | Gyro XYZ:  -60.2  198.6   36.1 | Accel XYZ:    1.4   10.6    1.6 | Temp: 27.0C
Euler Heading: 236.2 Roll:   1.7 Pitch:  84.2 | Linear Acc XYZ:  0.1  0.7  0.0 | Mag XYZ:   18.2  -30.0    2.8 | Gyro XYZ:   39.1  -26.3   92.0 | Accel XYZ:    0.7   10.5    0.9 | Temp: 27.0C
Euler Heading: 231.8 Roll:  14.9 Pitch:  91.7 | Linear Acc XYZ: -0.7 -1.0  1.0 | Mag XYZ:    9.5  -32.5    4.4 | Gyro XYZ:   12.6  -78.1   41.1 | Accel XYZ:    1.9    8.2    0.5 | Temp: 27.0C

                                              ** 04-04-2020 10:51:21.162 **

next line shows higher Z acceleration, followed by roughly steady state motion

Euler Heading: 279.3 Roll:  13.4 Pitch:  91.4 | Linear Acc XYZ: -2.3  0.5  2.3 | Mag XYZ:   12.2  -33.0   -0.2 | Gyro XYZ: -103.3 -254.1  -25.7 | Accel XYZ:   -0.1    9.7    2.0 | Temp: 27.0C
Euler Heading: 328.8 Roll:   1.4 Pitch:  86.9 | Linear Acc XYZ: -0.6 -0.7 -0.2 | Mag XYZ:    3.8  -29.7  -18.7 | Gyro XYZ:  -21.6  -53.1  -59.6 | Accel XYZ:   -0.4    9.2    0.3 | Temp: 27.0C
Euler Heading: 338.4 Roll:  -2.2 Pitch:  81.9 | Linear Acc XYZ:  0.4  0.5 -1.1 | Mag XYZ:    4.2  -28.1  -21.6 | Gyro XYZ:  -10.0   11.5   -1.2 | Accel XYZ:   -0.0    9.8    0.4 | Temp: 26.0C
Euler Heading: 340.0 Roll:  -1.8 Pitch:  86.9 | Linear Acc XYZ:  0.3 -0.0  0.0 | Mag XYZ:    6.0  -30.6  -20.1 | Gyro XYZ:   41.1   -5.1    6.0 | Accel XYZ:    0.0    9.9    0.4 | Temp: 26.0C
Euler Heading: 339.7 Roll:   0.7 Pitch:  91.2 | Linear Acc XYZ: -0.3 -0.2  0.6 | Mag XYZ:    4.1  -33.4  -15.7 | Gyro XYZ:  -10.1   -8.6   -4.8 | Accel XYZ:   -0.2    9.5    0.4 | Temp: 26.0C

and then this line may be showing the deceleration:

Euler Heading: 342.8 Roll:  -0.9 Pitch:  86.4 | Linear Acc XYZ:  1.7 -1.2 -2.4 | Mag XYZ:    6.2  -33.1  -17.7 | Gyro XYZ:   -6.3    1.7    1.6 | Accel XYZ:    0.1   10.8    2.2 | Temp: 26.0C
Euler Heading: 343.7 Roll:  -0.8 Pitch:  91.8 | Linear Acc XYZ: -0.4 -0.2  0.9 | Mag XYZ:    6.6  -34.1  -15.2 | Gyro XYZ:    3.1   -4.6    5.5 | Accel XYZ:    0.1    9.4    0.6 | Temp: 27.0C
Euler Heading: 343.8 Roll:  -0.6 Pitch:  92.0 | Linear Acc XYZ: -0.3 -0.4  0.0 | Mag XYZ:    5.2  -34.1  -14.1 | Gyro XYZ:   -1.7   -0.6    0.6 | Accel XYZ:   -0.1   10.0   -0.1 | Temp: 27.0C

                                              ** 04-04-2020 10:51:23.007 **

Euler Heading: 343.4 Roll:  -0.4 Pitch:  92.0 | Linear Acc XYZ:  0.9 -0.3  0.4 | Mag XYZ:    5.5  -34.5  -15.2 | Gyro XYZ:   -0.5    3.7    8.1 | Accel XYZ:    0.7    9.4   -0.4 | Temp: 27.0C
Euler Heading: 343.3 Roll:  -0.5 Pitch:  92.0 | Linear Acc XYZ:  0.1 -0.2 -0.2 | Mag XYZ:    5.9  -33.4  -15.2 | Gyro XYZ:   -0.2    0.7    0.5 | Accel XYZ:   -0.1    9.5   -0.4 | Temp: 27.0C
Euler Heading: 343.4 Roll:  -0.5 Pitch:  91.9 | Linear Acc XYZ: -0.1 -0.3  0.2 | Mag XYZ:    4.8  -34.8  -16.1 | Gyro XYZ:   -0.1   -0.2   -0.8 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 343.5 Roll:  -0.5 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    4.8  -34.1  -14.1 | Gyro XYZ:   -0.1    0.2    0.4 | Accel XYZ:    0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 343.7 Roll:  -0.5 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.0 | Mag XYZ:    4.8  -34.5  -15.7 | Gyro XYZ:   -0.1    0.0    0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 343.8 Roll:  -0.5 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    4.8  -34.8  -14.9 | Gyro XYZ:   -0.2    0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 343.6 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.0 | Mag XYZ:    5.5  -33.8  -14.9 | Gyro XYZ:   -0.1   -0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 343.9 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    5.2  -34.8  -14.9 | Gyro XYZ:    0.1    0.0   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 343.9 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    5.9  -34.5  -15.7 | Gyro XYZ:    0.0   -0.2    0.0 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 344.1 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.0 | Mag XYZ:    4.5  -33.8  -14.9 | Gyro XYZ:   -0.1    0.2    0.0 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    4.5  -34.8  -13.2 | Gyro XYZ:    0.0    0.1    0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    4.8  -34.5  -14.9 | Gyro XYZ:   -0.2    0.1    0.1 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.0 | Mag XYZ:    3.4  -34.8  -14.5 | Gyro XYZ:    0.0    0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    4.5  -35.2  -15.7 | Gyro XYZ:   -0.1    0.1    0.1 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    5.2  -34.1  -15.2 | Gyro XYZ:    0.1    0.0   -0.1 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    5.5  -34.1  -14.9 | Gyro XYZ:    0.2   -0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    4.8  -34.8  -14.1 | Gyro XYZ:   -0.2   -0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3 -0.0 | Mag XYZ:    5.2  -34.8  -14.5 | Gyro XYZ:    0.1    0.0    0.0 | Accel XYZ:   -0.0    9.5   -0.4 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    4.1  -34.1  -14.9 | Gyro XYZ:    0.0    0.0    0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    3.4  -34.5  -14.5 | Gyro XYZ:    0.1   -0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 27.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.1 -0.3 -0.0 | Mag XYZ:    3.7  -34.1  -14.5 | Gyro XYZ:    0.0    0.2    0.0 | Accel XYZ:   -0.1    9.5   -0.2 | Temp: 26.0C
Euler Heading: 344.5 Roll:  -0.4 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.2 | Mag XYZ:    5.2  -34.1  -15.7 | Gyro XYZ:    0.1    0.1   -0.3 | Accel XYZ:   -0.1    9.5   -0.1 | Temp: 26.0C
Euler Heading: 345.2 Roll:  -0.4 Pitch:  91.5 | Linear Acc XYZ:  0.1 -0.3  1.1 | Mag XYZ:    4.5  -33.0  -15.2 | Gyro XYZ:   -1.1  -11.1   -0.7 | Accel XYZ:   -0.0    9.5    0.5 | Temp: 26.0C
Euler Heading: 346.8 Roll:  -0.3 Pitch:  90.5 | Linear Acc XYZ: -0.3 -0.5  1.2 | Mag XYZ:    3.7  -34.5  -15.2 | Gyro XYZ:    0.1  -12.2   -0.1 | Accel XYZ:   -0.0    9.7    0.9 | Temp: 26.0C
Euler Heading: 346.4 Roll:  -0.4 Pitch:  90.2 | Linear Acc XYZ: -0.4  0.0 -0.5 | Mag XYZ:    3.0  -35.6  -13.0 | Gyro XYZ:   -1.7    9.6   -0.8 | Accel XYZ:   -0.3    9.2   -0.5 | Temp: 26.0C
Euler Heading: 344.6 Roll:  -0.4 Pitch:  90.6 | Linear Acc XYZ:  0.1 -0.3 -0.6 | Mag XYZ:    5.9  -37.0  -11.8 | Gyro XYZ:   -0.2    5.6    0.6 | Accel XYZ:    0.1    9.6   -0.6 | Temp: 26.0C
Euler Heading: 344.2 Roll:  -0.4 Pitch:  90.6 | Linear Acc XYZ: -0.1 -0.3  0.3 | Mag XYZ:    6.2  -38.5   -9.8 | Gyro XYZ:    0.1   -2.2    0.6 | Accel XYZ:   -0.4    9.4    0.1 | Temp: 26.0C
Euler Heading: 342.5 Roll:  -0.4 Pitch:  90.6 | Linear Acc XYZ: -0.1 -0.1  0.1 | Mag XYZ:    7.0  -41.4  -11.5 | Gyro XYZ:   -0.2    1.3   -0.1 | Accel XYZ:   -0.0    9.4   -0.1 | Temp: 26.0C
Euler Heading: 342.9 Roll:  -0.3 Pitch:  90.9 | Linear Acc XYZ: -0.1 -0.4 -0.2 | Mag XYZ:    8.8  -43.9  -12.2 | Gyro XYZ:    0.8   -2.2    0.9 | Accel XYZ:   -0.1    9.6   -0.4 | Temp: 26.0C

                                              ** 04-04-2020 10:51:29.722 **

Euler Heading: 343.1 Roll:  -0.6 Pitch:  92.1 | Linear Acc XYZ: -0.2 -0.5 -1.5 | Mag XYZ:    8.5  -47.1  -14.2 | Gyro XYZ:   -0.2    2.6   -0.6 | Accel XYZ:   -0.3    9.3   -1.9 | Temp: 26.0C
Euler Heading: 342.5 Roll:  -0.6 Pitch:  92.1 | Linear Acc XYZ: -0.1 -0.2 -0.0 | Mag XYZ:    9.5  -47.5  -14.2 | Gyro XYZ:    0.2    0.2   -1.1 | Accel XYZ:   -0.2    9.5   -0.3 | Temp: 26.0C
Euler Heading: 339.7 Roll:  -0.6 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.9  -46.7  -14.2 | Gyro XYZ:    0.1   -0.1   -0.4 | Accel XYZ:   -0.1    9.5   -0.1 | Temp: 26.0C
Euler Heading: 337.6 Roll:  -0.6 Pitch:  91.9 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.9  -46.7  -13.0 | Gyro XYZ:    0.0   -0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 335.9 Roll:  -0.5 Pitch:  91.8 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    8.5  -46.2  -14.2 | Gyro XYZ:    0.1    0.0   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 334.6 Roll:  -0.5 Pitch:  91.8 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:    9.5  -47.1  -13.0 | Gyro XYZ:   -0.1    0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 333.0 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.5  -46.7  -15.0 | Gyro XYZ:   -0.1    0.0   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 332.0 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.6  -46.0  -13.8 | Gyro XYZ:   -0.1    0.0    0.0 | Accel XYZ:   -0.0    9.5   -0.1 | Temp: 26.0C
Euler Heading: 331.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.5  -46.2  -14.2 | Gyro XYZ:    0.0   -0.2    0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 331.1 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    8.8  -46.7  -13.4 | Gyro XYZ:    0.1    0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 330.2 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.2  -45.7  -13.5 | Gyro XYZ:    0.0   -0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 330.1 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.6  -46.0  -14.7 | Gyro XYZ:    0.0    0.2   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 329.4 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.6  -46.2  -14.7 | Gyro XYZ:   -0.1    0.1   -0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 328.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   11.0  -46.7  -14.2 | Gyro XYZ:    0.0    0.1    0.1 | Accel XYZ:   -0.1    9.5   -0.2 | Temp: 26.0C
Euler Heading: 328.4 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.2  -46.0  -13.8 | Gyro XYZ:   -0.2   -0.1    0.0 | Accel XYZ:   -0.1    9.5   -0.3 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   11.7  -44.9  -13.4 | Gyro XYZ:    0.1   -0.1   -0.1 | Accel XYZ:   -0.1    9.5   -0.2 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.2  -46.2  -14.2 | Gyro XYZ:    0.1    0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 327.7 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    9.9  -46.2  -14.6 | Gyro XYZ:    0.0   -0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.2  -46.0  -13.4 | Gyro XYZ:   -0.2   -0.1    0.0 | Accel XYZ:   -0.1    9.5   -0.2 | Temp: 27.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.9  -47.5  -14.2 | Gyro XYZ:    0.0   -0.1   -0.1 | Accel XYZ:   -0.1    9.5   -0.3 | Temp: 27.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.1 -0.3  0.1 | Mag XYZ:   10.2  -46.7  -13.8 | Gyro XYZ:   -0.1   -0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.1 | Temp: 27.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.9  -46.2  -13.4 | Gyro XYZ:    0.0   -0.1    0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 27.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    9.5  -46.7  -13.8 | Gyro XYZ:   -0.1   -0.2    0.0 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.6  -46.0  -14.2 | Gyro XYZ:   -0.2    0.1    0.1 | Accel XYZ:   -0.0    9.5   -0.2 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.6  -45.7  -14.2 | Gyro XYZ:    0.1    0.0    0.1 | Accel XYZ:   -0.1    9.5   -0.3 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.0 | Mag XYZ:    9.2  -45.7  -14.6 | Gyro XYZ:    0.1   -0.1    0.1 | Accel XYZ:   -0.1    9.5   -0.2 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:    9.9  -46.7  -13.4 | Gyro XYZ:    0.1    0.1    0.0 | Accel XYZ:   -0.0    9.5   -0.1 | Temp: 26.0C
Euler Heading: 327.8 Roll:  -0.5 Pitch:  91.7 | Linear Acc XYZ:  0.0 -0.3  0.1 | Mag XYZ:   10.6  -46.7  -13.0 | Gyro XYZ:    0.1   -0.3    0.0 | Accel XYZ:   -0.0    9.5   -0.3 | Temp: 26.0C
^C
Cntrl-C detected. Exiting..

Using my two Python3 scripts:


which imports:

One of the big problems is that measurable acceleration occurs when I start the pull, but then is reduced as I pull, then gets measurable in the negative direction as I stop the pull.

I have not messed with linear acceleration much yet, so I am very interested in your progress.

Also note that calibration does not determine the bias value and output only the corrected value. There is still lots to do.

Hi Cyclical,

thanks for the detailed reply - wow I didnt consider that acceleration would only be noticeable when starting or slowing down and would be relative to its current speed. For some reason, I assumed that a constant velocity would be a constant acceleration - friction but that not how the sensor would work. So I looked again at my data.

I think I’m getting the same results at you. I have the IMU sensor lying flat, so its my Y axis that is receiving a great deal of change. I multiplied my data by 100 so I could observe the results better.

So initially it goes up to 200 - 300 then goes down to -100 as it reaches a constant velocity. Then goes to small numbers.

I’m actually trying to observe a collision, with the idea that if the robot is trying to move forward but has stopped, then the robot needs to reverse. So maybe a strong value in the opposite direction would be a collision.

  • Please explain what platform (GoPiGo3, BrickPi, GrovePi, PivotPi) you have the IMU attached.

Im using a Brick Pi

  • Please verify you have the Dexter Industries BNO055 based IMU

Yes its the Dexter IMU sensor

  • Please explain what port you have the IMU plugged into

The IMU is connected to the one I2c port on the BrickPi 3

  • Please explain what orientation to the platform you have the IMU (arrow up, component side facing forward?)

Arrow is facing forward (Y-axis should be measure acceleration)

  • Please explain what operating system (Raspbian For Robots, DexterOS, pure Stretch, pure Buster)

Raspian for Robots

  • Please explain what language you are working in (Python, Bloxter, Java, …)

Python

  • Please explain what software you ran to obtain your results?

I used vscode to run my code. BrickPi code is here:

I do not know anything about the brick Pi, so you will need to research how the brick Pi handles the I2C communication. The Raspberry Pi hardware I2C will mess up royal communicating with the IMU, so the IMU needs to be plugged into a port that the brick Pi can implement software I2C (with clock stretching) and you must tell the software to use that port.

It seems like you are good. Your code is using the default port which is software i2c and since you are not seeing the chip I’d error, it means you have it plugged into the expected port.

Your IMU coding looks good with quick look.

I did some initial investigation on the various calibration status returns after restoring a saved calibration to try to eliminate having to perform cal every time. I was not seeing all cal status complete but got sidetracked and did not finish.

I also did not figure out how to set the offset values so that the heading was relative to the bot instead of mag north, and the x,y,z linear accel is zero when sitting still.