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.
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.
That's the big question I have. Is the accelerometer a force gauge? Just sitting no force than just gravity, it can read 9.81. If I apply a force in the z direction opposite to gravity, then the z component of the accelerometer reading will go down, right?
My idea is to map the pwm value applied to the attached motors to the force measured by the accelerometer. Once we know this, then also knowing the flying weight of the drone will actually allow me to calculate the angle of the drone relative to the pwm values applied to the motors. It will help to cancel out any inertial forces in the air due to motor thrust. Ultimately, to fix the drifting issues, called the "leans".
The accelerometers can be imagined as measuring the force on a little test mass inside the device package. If the accelerometer doesn't move the mass experiences no force change.
You can test this easily:
Start up your APM and connect to the Planner. Go to the Flight Data tab and then select the Status tab below the HUD.
Watch the values for ax, ay, az. These are the accelerometer outputs. You can also monitor ax, ay, az on the tuning graph.
While the airframe is sitting on the floor, push down on it. If the az value increases then the accelerometer is measuring force on the frame.
Or, pull up on one of the motors, but not enough to lift the frame from the floor. You could even hold it down with one hand and pull up on a motor with the other. Do you see significant changes in the accelerometer readings?
You're right. So only movement can be measured. So, any motor calibration will have to be in the air or while it's sitting on something that can allow it to move with motor thrust. This might be safer than calibrating in the air. Or maybe tethered drone.