1

I'm using minIMU-9 https://www.pololu.com/product/1268 and I want to read pitch, roll and yaw angles. I applied this library https://github.com/pololu/minimu-9-ahrs-arduino but there is a slope when sensor is not moving or vibrating. How can i fix or compensate this. The y axis is angle in degree and x axis is time in seconds

Pitch

Pitch

Roll

Roll

Yaw

Yaw

2
  • Have you estimated the offset values vector and updated it in code?
    – brtiberio
    Dec 8, 2015 at 15:04
  • yes i did. You can see values coming towards from 0
    – acs
    Dec 8, 2015 at 16:26

1 Answer 1

1

I suppose "at desktop readings" means you have your sensor resting on the desktop so you where looking for a constant output value over the time. Well, there are some mechanical limitations about gyroscope's accuracy, resolution and external factor like temperature that make noisy or non-sense readings.

What you are obtaining from this library is a calculated orientation that carries or accumulate an error over time. Basically there is not a perfect algorithm to calculate orientation as at MEM's scale electrons still moving due to temperature and other radiations.

Solution depends on your application scenario: if your sensor will be most the time quite, maybe just mathematical compensate with inverted slope (about 4-5 degrees per minute) and look for more rapid changes to determine movement. If your application will be on constant move maybe it is not required any compensation. Trade off must be considered if both scenarios will take place on your application. Anyway, reading measures on your actual application will give you more clue on how to handle this.

Below the L3GD20's mechanical characteristics

Gyro's mechanical characteristics

2
  • the sensor has internal temperature sensor so the gyro compansates temperature changes automaticaly.
    – acs
    Dec 8, 2015 at 16:27
  • even internal compensation is not perfect that's why datasheet has SoDr, OffDr and so on parameters.
    – eccker
    Dec 9, 2015 at 0:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.