Hey guys, just kicking around a stability improvement idea in my head.  Thought I'd put it out to the group and get some opinions before I got whole hog on it.

A little background:
Some of you may be familiar with AeroQuad code.  I feel from a flying standpoint, they are much better at maintaining stability.  I think some of that has to do with the in flight levelling that they do.  Essentially, they do sensor calibration, on take off.  Assuming that all props are balanced, the craft will go up level, and the calibration will zeroes the accelerometer readings.
My proposal:
What I was thinking was to take this one step further.  Rather than just zeroing out the accelerometer readings on take off, I would run a motor calibration routine.  Since we all may have different motors and frame weights and sizes, and even within the same equipment there may be variance, the calibration routine would use the accelerometers to figure out the weight and power of the motors, and apply this to the stability routines.
The calibration would basically something like this:
1- Place the drone on level ground.
2- Start the motors at the lowest level, and sample the accelerometers.
3- Increase the motor speed, which sampling the accelerometers, and record the readings and pwm to the motors. (making sure that we don't get too high that we take off)
The result is that we now have a power to weight curve, and we now know how much motor power will result in how much force, as well as which motors are stronger than another.  We can now apply a correction vector to account for any motor or frame imbalance to the DCM matrix.  We can also predict what angle the drone will be when we apply roll and pitch, because we know how much force each motor can apply, and the weight of the drone.
What do you folks think?  Will this work, and increase stability and possibly improve the leans problem, which is due to no knowing the difference between inertial acceleration due to motor force, and gravity?(since we now know what force the motor applies for a particular pwm value)

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Are you trying to assess the vibration for some sort of nulling so the accelerometer readings don't need to be filtered so much before use?

    Vibration aside, if the frame doesn't physically move the the accelerometer readings will be constant.

    Strain sensors on the arms or some other way of measuring the force applied by the motors to the frame would be required to measure motor mechanical output with a stationary frame.

This reply was deleted.


Derrick Davies liked lisa TDrones's profile
xemone liked Max Gilson's profile
Aug 31
nick rymer left a comment on ArduCopter User Group
"I recently switched laptops and now have Windows 10. I installed Mission Planner on my laptop and plugged a mRo SiK Telemetry Radio into the USB port. The radio is not recognized on the com ports but is instead on the "Other Devices" tab in Device…"
Aug 20