While trying to autotune our coaxial dualheli based on @bnsgeyersuggestion we were able to tune the FF along all three axes successfully but not the Rate P & D. Yaw rate P and D tuning was unsuccessful because frequency range got exceeded. Whereas for pitch the vehicle failed to level after some time toward the end of the tuning.
We currently use the intermeshing code to accomplish the motor mixing as suggested in this post.
Also I had another query,
We had to keep H_COL_MAX and MIN different for the upper and lower rotor to get a collective change of 10 deg from the blades. As one might notice from the parameters below, the travel (H_COL_MAX - H_COL_MIN) is different for both rotors 170 and 140 respectively.
Wouldn’t that introduce an error in cyclic, since there is no option to have a different cyclic between the upper and lower rotor or am I missing something?
H_COL2_MAX = 1670;(Lower Rotor)
H_COL2_MIN = 1500
H_COL_MAX = 1650
H_COL_MIN = 1510
It appears that it determined the Pitch and Roll FF correctly. As for your pitch rate P and D tuning, You did not let it finish. It had just determined what the gain limits were and was starting to tune the gains. It looks like you were making an input on the controls which stopped it from continuing the tune. It will continue to tune even though it gives you a failing to level error. it just waits until the vehicle levels. If you consistently are getting it then you may have to stop but in the pitch rate P and D log you only got this once
Where is your log for the roll rate P and D tuning?
For the yaw axis, I would recommend decreasing the AUTOTUNE_FRQ_MIN to 6 rad/s. Be sure to reset this to 10 rad/s if you go back to tune the pitch and roll axes again. The yaw axis needs the frequency to be lower in order to capture the data it needs to determine the limits of the gains.
It might, but I don’t think that is as critical because cyclic for both rotors moves in the same direction to produce pitch and roll motion. It would be more critical if there was some sort of control that required differential cyclic (which there isn’t).