Difference in Drift when using Phidget Control Panel vs. Python

Any hardware type questions or problems for all other Phidget devices.
Post Reply
MikahB
Fresh meat
Posts: 1
Joined: Sat Feb 19, 2022 10:58 am
Contact:

Difference in Drift when using Phidget Control Panel vs. Python

Post by MikahB »

Have been working with a MOTO109 and now a couple MOTO110 9-dof IMUs. The documentation is pretty clear on the fact that there are two algorithm options: IMU and AHRS, and that in IMU mode the parameters (for AHRS) are ignored.

My confusion comes from the fact that when in IMU mode on Phidget Control Panel, I can watch drift (specifically heading drift) settle out once the sensors are up to temp, etc. It does drift, but it might drift 0.1 degrees in 30 minutes. It seems like tweaking AHRS parms, even with it in IMU mode, impacts the values I see in the Control Panel and lets me minimize drift.

In Python, though, I get almost 0.2 degrees heading drift in 5 minutes. It's possible that - because I can't chart the output from the heading value in the Phidget Control Panel - I'm just better able to quantify the drift with Python, but even just watching it run you can see more drift with Python than in the Control Panel.

Here's my startup routine in Python trying to minimize drift:

- Connect to Spatial and TemperatureSensor objects
- Enable heat
- Wait for sensor temp to equalize (at 45 or 50C depending on model)
- Reset gyro
- Reset algorithm
- Start reading

Should I be doing something different? Our environment is subject to occasionally fairly significant magnetic interference which makes anything using the magnetometer unpredictable, so IMU is our preference for now.
fraser
Engineering
Posts: 138
Joined: Thu Nov 19, 2009 4:41 pm
Contact:

Re: Difference in Drift when using Phidget Control Panel vs. Python

Post by fraser »

Regarding the IMU vs AHRS, the difference is that the Magnetometer is ignored for the calculations, however, non-magnetometer-based AHRS parameters can still be set to affect your device while in IMU.

It is possible that your set parameters are different while in python, which could affect the amount of drift you see. That's just my initial guess.
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests