AutoTune did a good job on Roll and Pitch, but fails miserably on Yaw, asking for Manual Tune. Also on Yaw_D, which I tried for the first time, as all my previous work was on 4.3.x and older.
Besides post-flight log analisys, what’s there to look for during manual “rate_yaw_p” adjustment ?
Roll and Pitch are more visually striking when tuning rate_p and rate_d, but Yaw is less so.
Have you got a .bin log you can share.
Also point out if there’s something in particular that yaw is doing or not doing.
I’ve found a regular Yaw autotune can set the ATC_ACCEL_Y_MAX a little low, and it can usually safely be doubled, or at least rounded up somewhat.
EDIT: the other thing to look for is some yaw oscillations at arming, which could indicate wobbly landing gear, or Yaw P and I too high, even Yaw ANG P might be a bit high.
There is also the new Yaw D autotune - before starting it set the ATC_RAT_YAW_D term to 0.001 (but maybe that requirement/bug has been fixed)
Also there is Andys more manual method taken from his 7inch build blog and youtubes. It requires a basic Yaw P and I tune to already be in place I believe.
Yaw manual tune:
- autotune does not touch ATC_RAT_YAW_D, has to be tuned manually
- Set ATC_RAT_YAW_FLTD to optimal value from final autotune for roll/pitch
- Try values for ATC_RAT_YAW_D from 0.0001 in steps of 1000% until oscillation observed - so 0.0001, 0.001, 0.01, 0.1
- At oscillation reduce in steps of 10% until no oscillation - 0.1, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04, 0.03 and then reduce another 25% - 0.02
- Tune ATC_RAT_YAW_FLTD by changing and repeating manual process
- On the Chimera7 ATC_RAT_YAW_FLTD = 60 / ATC_RAT_YAW_D = 0.02 was found to give best balance
Yaw maximum acceleration:
- Remove acceleration constraints - ACRO_YAW_P = 15 or ACRO_YAW_RATE = 600 and ATC_ACCEL_Y_MAX = 0
- Do a fast yaw maneuver
- In the log measure the observed RATE.Y acceleration. Calculate acceleration from MAX(RATE.Y) - MIN(RATE.Y) / T. Multiply by 100 to get centidegrees/s/s and set ATC_ACCEL_Y_MAX to this value
- For the Chimera7 this resulted in ATC_ACCEL_Y_MAX = 72000
@xfacta what does the T indicates here?
T is time in seconds.
Some of that is probably old info now. My testing of Copter 4.6 Beta 2 did very good yaw autotunes, the best I’ve seen.
Typical Yaw tuning values as a starting point might be:
ATC_ANG_YAW_P around default or only slightly higher
ATC_RAT_YAW_D,0.005
ATC_RAT_YAW_I,0.05
ATC_RAT_YAW_P,0.5
PILOT_Y_EXPO,0.3
PILOT_Y_RATE,100
That D term might need to be lower, or leave it at 0.001 if there is any doubt.
This is just a guide, or values if you had to make a guess, not a hard rule.
Thank you, I usually prefer these parameter for my drones, its stable and good. If i want to tune angle manually what need to be done.
I start with the Initial Parameters config, maybe adjust yaw params as per above, then run Autotune and adjust ATC_ACCEL_Y_MAX if required.
Yaw rate could depend on the payload, so just examine logs to see if requirements are met.
Everything is in the tuning guide:
https://ardupilot.org/copter/docs/tuning-process-instructions.html