Zero-calibration vs. Zero-G calibration?

I’ve been so focussed on sensor calibration and specifically accelerometer calibration, that I may be missing the blindingly obvious.  As I’ve said many times, I simply cannot believe that any of the off-the-shelf quads out there bother with sensor calibration to anything like the extent I am, and yet there are commercial UAV’s out there which can hover at a fixed height without lateral drift.

It’s the fact these exist that’s stopping me from accepting that HoG is as good as she can be.

So what if I abandon calibration, and instead just rely on the Butterworth filters to track drifting offsets in the accelerometers?  That code is there currently, working in parallel with the calibration code, and seemingly working well to manage vertical drift despite this being the axis with the least reliable calibration of the sensors.  So what would happen if I throw away all my calibration code and just use the Butterworth filters to extract the accelerometer offsets?  The answer is this:

Zero-G calibration vs. Zero-calibration from Andy Baker on Vimeo.

Not perfect, but at the same time, not much different from the calibrated flights, and possibly actually slightly better.  The wind was picking up at this point making life hard.  I also think there are some extensions I can add since the angle calculations still are using the raw values in this flight, and that’s almost certainly the reason for the drift to the right.  If I can use the Butterworth gravity offset readings to correct the angles also, I think I can get even better performance against drift.

2 thoughts on “Zero-calibration vs. Zero-G calibration?

  1. Great blog. Was wondering, how do you calibrate your ESCs to the max/min PWM since you don’t have an RC transmitter?

    • Short answer is I don’t – all the ESCs I’ve used have PWM of 1ms (min) – 2ms (max) – it seems to be a standard and just work.

      When I start the code, the pulses are 1ms, and this stops the ESCs beeping. About 1.5ms is roughly a hover speed, but that doesn’t need calibration – the sensors will track that.

      I _think_ the calibration is only needed to match the RC transmitter so that the min and max of the RC transmitter match the min and max of the ESC. But that’s just a guess.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.