I am using a sensor unit (IMU with Arduino Uno) to measure car axle roll angles. The issue I am having is that the centrifugal/lateral acceleration acting on the sensor in banked corners when traveling at speed is throwing off the roll angles measured as the IMU can’t discern which way gravity is.
The solution, as used in fixed-wing UAV, appears to be calculating the lateral acceleration and compensating for it in the filter/algorithms/maths.
A fast way for me to implement this solution in my application would be to purchase flight controller hardware with ArduPlane firmware (which already incorporates the compensation) and use that as the sensor unit. Time is the critical factor for me, not money.
My understanding is that the compensation can be done using a speed measurement, usually taken from GPS, or with gyros and accelerometers only. My preference is with gyros and accelerometers only.
My questions are;
- Is there anything I’ve missed that would make using this as a sensor unit not feasible?
- Is a GPS unit, or other external speed measurement device, required for the compensation in ArduPlane?
2 over time, GPS (and magnetometer) which contribute to EKF, will prevent gyro drift and such. So yes. You should have GPS data. Will work for a good while without as well.
I came across this in the copter notes which refer to disabling GPS for indoor flying;
GPS does not work indoors and needs to be disabled. (no exceptions)
[Safe Indoor Flying Don’ts]
–Don’t use Auto* modes
- Auto Modes are ones that requires GPS i.e. Loiter, Position Hold, Guided, Auto
- Non-auto modes are Stabilize and Altitude Hold
That suggests that roll/pitch stabilization can take place without GPS, as you referred to. Do you have a general ballpark feel of how long it would continue to stabilize until GPS is needed again? Are we talking minutes, tens of minutes, hours etc?
I’d like to also add for reference that I require no positional functionality from the system, only to read accurate roll angles from the sensor+EKF. The path that the application road vehicle takes is long flat straights and long sweeping banked corners, at up to 50km/hr, so there is no fast dynamic changes in direction, other than bumps it goes over.
many hours, but that depends on vibrations and other sensor input. If you do not require very long operation between restarts, try with no GPS first.