How to methodically tune (almost) any multicopter using ArduCopter 4.4.x

@MartyMcFly the estimation example on 14_pid_adjustment.param file is for your particular use. It should reduce the time you need in autotune.

1 Like

Thank you so much you are A super star,you will be mentioned in dispatches ,have a great day Amilcarlucas and plenty of fun

@MartyMcFly have you already performed the autotune on your taycan?
If yes, ignore that file.

1 Like

yes but will look at your one as well and compare and thank you

Nice. Can you send me all your intermediate .param files (except 03_imu_temperature_calibration_results.param, 11_mp_setup_mandatory_hardware.param and 20_inflight_magnetometer_fit_results.param) in a .zip file, I would like to see the differences as well?

Is there another way to anonymize a log file? MP hidden anon log function seems like never stable before.

PSC_ACCZ_I to 2 x MOT_THST_HOVER
PSC_ACCZ_P to MOT_THST_HOVER

I like to know if there is a similar approach for PSC_ACCZ_n like the ATC_ACCEL_n_MAX?

Is it safe for the flight control to set it automatically if the formula is safe like the MOT_HOVER_LEARN?

ATC_ACCEL_P_MAX x (min_TOW / max_TOW)
ATC_ACCEL_R_MAX x (min_TOW / max_TOW)
ATC_ACCEL_Y_MAX x (min_TOW / max_TOW)

1 Like

No, currently there is not. It does make some sense, but I would need to look at the code to give you an answer.

2 Likes

Hi, amilcarlucas!
I’m very appreciative of this awesome guide! But I can’t understand this case: in the file “11_mp_setup_mandatory_hardware.param” ATC_ACCEL_P_MAX,193500. But in the documentation, this range is 0 - 180000. And ATC_ACCEL_P_MAX more than 180000… And the same situation with ATC_ACCEL_R_MAX,193500
Please explain to me why these values are so high. I’m stuck in this step(((

That specific file is for illustration purposes only, read the instructions carefully. I explicitly say to not edit it and to not load it.

There are three such files, that you shouldn’t edit, nor use. I hope you know which three I am referring to. Or should I add another paragraph explaining that a second time in more detail?

1 Like

Assuming the innermost angle rate control loop is performing correctly, and that the second level angle control loop is doing OK. Below are the default Loiter parameters, 12.5m/s (LOIT_SPEED) is way too fast for big craft with space constraints for example. what are the recommendations to tune? Just lower the LOIT_SPEED, for example to 250, and leave the rest at it is or users should lower it proportionally, for example including LOIT_ACC_MAX, LOIT_BRK_ACCEL, LOIT_BRK_JERK.

LOIT_ACC_MAX,500
LOIT_ANG_MAX,0
LOIT_BRK_ACCEL,250
LOIT_BRK_DELAY,1
LOIT_BRK_JERK,500
LOIT_SPEED,1250

Do you find 12.5m/s too fast?
What you can do is lower the LOIT parameters, even below the default limits, to suit your preference.
(I also think that LOIT_BRK_DELAY shoyld be set to 0, even all developers are suggesting 0.3 or 0.4 :cold_face:)

1 Like

It really depends on the vehicle and your requirements. But so far we always set LOIT_BRK_DELAY,0.1 or 0. It has to be iteratively tested.

2 Likes

Looks like you reached file 41. Nice. What do you think of the tune? Does it feel responsive?

2 Likes

Thank you for your answer. Yes, I know about these three files) I very carefully read your guide. But do we need to make temperature calibration for CubeOrange+ ? I think this calibration was made in factory… Or do I wrong?

2 Likes

ATC_ACCEL_P_MAX (and other parameters) can be outside of the range for small vehicles or for really big ones. That is not an issue.

No, I talked to a ProfiCNC employee and the calibration is done in the factory, but not saved to the flight controller. So it will not have any effect. So you need to do it again, and save the results to a file like I explained. Then you can even reuse it if you need to reset the parameters at some point.

2 Likes

Thank you, I will do this calibration!

1 Like

Yes, the biggest drone we ever built is a 1.88m wheelbase drone, so in a small country with limited flying space, is too fast.
Seem like from the reply and MP GUI, besides break delay, I should keep the rest to the default value and only bring down the speed and break delay.

Is the outermost position control loop referring to the PSC_n parameters in the image below? MP GUI only exposes these few PSC values, PSC_POSXY_P, ATC_INPUT_TC, PSC_VELXY_D, PSC_VELXY_I, PSC_VELXY_P, PSC_VELXY_IMAX.

In most of our previous drone configurations before this tuning guide, we keep PSC_n to the default values, except PSC_ACCZ_I to 2 x MOT_THST_HOVER, PSC_ACCZ_P to MOT_THST_HOVER.

How common and rare do users need to change these PSC_n parameters? If after autotune, under Loiter flight mode, the drone twitch during mid stick, do we change these PSC_n values? If not, what should we do next? What other possible causes? Will a wrong set of Loiter parameters configuration cause the drone to twitch? The seasoned pilot feels the autotune parameters are okay under alt-hold flight mode for the 23-inch quad 1.2m wheelbase drone.

PSC_ACCZ_D
PSC_ACCZ_FF
PSC_ACCZ_FLTD
PSC_ACCZ_FLTE
PSC_ACCZ_FLTT
PSC_ACCZ_I # 2 x MOT_THST_HOVER
PSC_ACCZ_IMAX
PSC_ACCZ_P # MOT_THST_HOVER
PSC_ACCZ_SMAX
PSC_ANGLE_MAX
PSC_JERK_XY
PSC_JERK_Z
PSC_POSXY_P
PSC_POSZ_P
PSC_VELXY_D
PSC_VELXY_FF
PSC_VELXY_FLTD
PSC_VELXY_FLTE
PSC_VELXY_I
PSC_VELXY_IMAX
PSC_VELXY_P
PSC_VELZ_D
PSC_VELZ_FF
PSC_VELZ_FLTD
PSC_VELZ_FLTE
PSC_VELZ_I
PSC_VELZ_IMAX
PSC_VELZ_P

we shall try these below values with the rest of the PSC values keep to the default except PSC_ACCZ_I and PSC_ACCZ_P. I hope is not due to Limit Cycle Detection issue, currently, all n_SMAX are zero. no other PSC values are mentioned in diatone_taycan_mxc.zip suggested to change.
LOIT_BRK_ACCEL,500
LOIT_BRK_DELAY,0.05
LOIT_BRK_JERK,4000
LOIT_SPEED,250
PSC_VELXY_FF,0.85

1 Like

Those are very good questions @Jai.GAY . Thanks. I’ll answer them when I’m back to the office. It’s a lot of questions and I need a proper keyboard (currently mobile :iphone:)

1 Like

No, you start with those, test, and then iteratively set the others described in the 41_position_controller.param.

Yes, all PSC_n parameters. Both exposed and not exposed in MP GUI.

Yes, that is what most users need. But if you want performance you do need to tune them properly.

The vehicle will only oscillate in loiter flight mode in rough winds or when autotune did not worked.
Autotune works best with no wind. So my guess is that your autotune did not work well because of this.

Yes, it will.