I am building my first quad with pixracer controller and PX4 software hoping to play with PX4 code some time later. I do firmware development at work, but not related to flight control.
I looked through PX4 code, but it is extensive and I cannot navigate efficiently throught it yet
Maybe somebody can answer my questions or point me to the right place in the code.
What is actually calculated during quad sensor calibration procedure in PX4 + QGC ?
I am curios to know and also it might help to understand how sensitive the calibration procedure is.
- Gyro. QGC says hold the frame still so it is probably just reading gyro drift?
- Accelerometer. 6 different frame positions. I guess it can read the gravity vector values and maybe noise level, but how is it used later? Some parameters for EKF? Maybe just signal amplitude, i.e. max values for each axis…
- Magnetometer(s). I can see this one probably needs calibration more than other sensors. Maybe the code just reads max values during rotations or maybe it creates a more detailed map of coefficients for different positions…
How sensitive is the procedure to alignment errors ? Can you do it by just holding the frame in your hands? The frame is not exactly a cube with flat sides… it is not easy to hold the frame perfectly level when it is laying on one of the sides.
During magnetometer calibration, is it important to rotate the frame full 360 degrees for each position? Does it need to be well aligned (vertical or horisontal) during rotation?
i.e. is there any advantage in using some kind of turn table and vice that can hold the quad at eactly 0, 90, 180 degrees?