I have an not so ordinary quadcopter with TBS Discovery angles
The CoG is a bit back cause of heavy battery that I can't move more forward.
I have found a topic about how to deal with shifted CoG by measuring the vertical and horizontal distances from each motor to the new CoG.
There was a document CustomMultiCopterSWRequirements.xlsx from Forrest Frantz where was described how to perform these measures.
So, I've measured these distances like on the attached picture of my quad.
Filled in these values into the Forrest's document and got these values:
add_motor_raw(AP_MOTORS_MOT_1, -0.66, 0.75, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 1);
add_motor_raw(AP_MOTORS_MOT_2, 0.67, -0.60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 3);
add_motor_raw(AP_MOTORS_MOT_3, 0.66, 0.75, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 4);
add_motor_raw(AP_MOTORS_MOT_4, -0.67, -0.60, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 2);
Quad flew normally with these settings for couple of times, but one day problem came back and quad started to lean back and drift backwards too, about 15 degrees, as before.
Same behaviour on takeoff. Quad don't want to lift it's back without pushing pitch forward on the RC.
Quad can stay in almost stable hover only if I do some pitch forward.
I have tried to reset settings, to re-calibrate, to level it with "analog" bubble-level, to re-flash it, to clean eeprom, but still no effect of these changed values.
I have tried to deliberately make an syntax error in AP_MotorsQuad.cpp to make sure that the correct libraries are used during compilation of firmware.
There also were topics about AHRS_TRIM_X, AHRS_TRIM_Y parameters, but I've also tried to play with them and still no effect.
You can see in the attached log the PitchIn vs Pitch. I have had to push almost full pitch forward to deal with CoG.
Why the Arducopter don't "feel" that back is heavier than front during flight and don't make corrections?
Please help to find out what is happening.