Merge pull request #11810 from DusKing1/switch-case-cleanup
[betaflight.git] / docs / IntegratedYaw.md
blob130ce7b2d0238c1ee021107abcbcf91d63eb0f32
1 # Integrated Yaw
3 ## Overview
5 Integrated Yaw is a feature which corrects a fundamental issue with quad control: while the pitch and roll axis are controlled by the thrust differentials the props generate yaw is different. Yaw gyro changes happen primarily due to inertia when the RPM of the motors change. A constant acceleration of yaw requires a constant rate of increase/decrease in the RPM of the yaw motor pairs.
7 This means that on Yaw I has the effect of P and P the effect of D. FF is a control element that adds impetus based on the acceleration in setpoint rate.
9 This results in several issues on yaw. Typically yaw will react very fast initially, then fall back and catch up again over time.
11 Integrated Yaw fixes this by integrating the output of the yaw pid before applying them to the mixer. This normalizes the way the pids work. You can now tune as any other axis. It requires use of absolute control since no I is needed with Integrated Yaw. 
14 ## Setup
16 From Betaflight 4.1.0 / Betaflight configurator 10.6.0 on Integrated Yaw can be set up in configurator, in the 'PID Tuning' tab.
18 As a fallback, these are the CLI commands to enable it:
20 ```
21 set use_integrated_yaw=on
22 set iterm_rotation=off
23 set abs_control_gain=10
24 set p_yaw=30
25 set d_yaw=20
26 set i_yaw=0
27 set f_yaw=60
28 ```
30 The yaw pids serve as starting point and might need adjustment. Make sure I is low or zero since significant I leads to strong oscillations. Pitch and roll might require slight retuning - primarily reducing I a bit since absolute control acts similar to a second I term.
32 **To be noted:**
34 If `i_yaw` is not set to `0`, then the following additional command is needed:
36 ```
37 set iterm_relax=RPY
38 ```