update credits
[librepilot.git] / shared / uavobjectdefinition / systemidentsettings.xml
blobb86e8e963cf242bc3381bd53a4af3b38c4929fdc
1 <xml>
2     <object name="SystemIdentSettings" singleinstance="true" settings="true" category="Control">
3         <description>The input to and results of the PID tuning.</description>
4         <field name="Tau" units="ln(sec)" type="float" elements="1" defaultvalue="-4.0" description="Measured delay between inner loop and detected gyro response"/>
5         <!-- Beta default values 10.0 10.0 7.0 so that SystemIdent mode can be run without AutoTune -->
6         <field name="Beta" units="" type="float" elementnames="Roll,Pitch,Yaw" defaultvalue="10.0,10.0,7.0" description="(Natural log of) Measured control gain"/>
7         <!-- The following comments come from / are extrapolated from various TauLabs / dRonin sources. -->
8         <!-- TL / dRonin requires you to adjust two sliders, one called RateDamp and the other called RateNoise. -->
9         <!-- They have documented that certain pairings of damp and noise go together well. -->
10         <!-- The LP code uses these "known good pairs" to weld the damp and noise scales together into the SmoothQuick slider. -->
11         <!-- When using the SmoothQuick slider you automatically get an interpolated matching pair of damp and noise. -->
12         <!-- So be aware that these comments refer to the TL/dRronin slider names. -->
13         <!-- -->
14         <!-- Decrease damping to make your aircraft response more rapidly. Increase it for more stability. -->
15         <!-- Increasing noise (sensitivity) will make your aircraft respond more rapidly, but will cause twitches due to noise. -->
16         <!-- Use RateDamp 130 with RateNoise 08 for very smooth flight. -->
17         <!-- Use RateDamp 110 with RateNoise 10 for default flight. -->
18         <!-- Use RateDamp 100 with RateNoise 13 for very snappy flight. -->
19         <!-- RateNoise is [0,30] default 10. -->
20         <!-- RateDamp is [50,150] default 110. -->
21         <!-- per https://github.com/d-ronin/dRonin/pull/811/files change min ratedamp to 85. -->
22         <!-- So RateDamp is [85,150] default 110. -->
23         <!-- Extrapolated multiplicatively: -->
24         <!-- Use RateDamp 153.636363636 with RateNoise 06.4 for very very smooth flight. -->
25         <!-- Use RateDamp  90.909090909 with RateNoise 16.9 for very very snappy flight. -->
26         <!-- Extrapolated additively: -->
27         <!-- Use RateDamp 150 with RateNoise 06 for very very smooth flight. -->
28         <!-- Use RateDamp  90 with RateNoise 16 for very very snappy flight. -->
29         <!-- use additive so the piecewise algorithm will give the exact recommended pairs at 25%, 50%, and 75% of slider -->
30         <!-- -->
31         <!-- So the following 6 fields set up the SmoothQuick slider using 3 known good damp and noise pairings. -->
32         <!-- You can adjust just one end of SmoothQuick by changing e.g. the DampMin and NoiseMax pairing. -->
33         <!-- You can maintain the known good ratio to simply extend or shrink the SmoothQuick scale. -->
34         <!-- You can change the known good ratio e.g. if you find that the quick end of SmoothQuick tends to oscillate. -->
35         <!-- You can change the default PIDs by changing the "center" values DampRate and NoiseRate. -->
36         <!-- You can change the whole SmoothQuick slider uniformly by e.g. multiplying all Damp* fields by .75 -->
37         <!-- You can shift the whole SmoothQuick slider up or down -->
38         <!-- etc! -->
39         <!-- on the SmoothQuick value scale of [-1,+1]: -->
40         <!-- the default SmoothQuick value of 0.0 gives recommended default damp and rate for normal flight -->
41         <!-- a SmoothQuick value of -0.5 gives the recommended damp and rate for very smooth flight -->
42         <!-- a SmoothQuick value of +0.5 gives the recommended damp and rate for very quick flight -->
43         <!-- a SmoothQuick value of -1.0 is extrapolated to give very very smooth flight while still being inside the range of sane values-->
44         <!-- a SmoothQuick value of +1.0 is extrapolated to give very very quick flight while still being inside the range of sane values-->
45         <!-- other values of SmoothQuick are interpolated or extrapolated from these -->
46         <field name="DampMin" units="" type="uint8" elements="1" defaultvalue="90" description="Setting: Part of smoothquick slider (expert)"/>
47         <field name="DampRate" units="" type="uint8" elements="1" defaultvalue="110" description="Setting: Part of smoothquick slider (expert)"/>
48         <field name="DampMax" units="" type="uint8" elements="1" defaultvalue="150" description="Setting: Part of smoothquick slider (expert)"/>
49         <field name="NoiseMin" units="" type="uint8" elements="1" defaultvalue="6" description="Setting: Part of smoothquick slider (expert)"/>
50         <field name="NoiseRate" units="" type="uint8" elements="1" defaultvalue="10" description="Setting: Part of smoothquick slider (expert)"/>
51         <field name="NoiseMax" units="" type="uint8" elements="1" defaultvalue="16" description="Setting: Part of smoothquick slider (expert)"/>
52         <field name="CalculateYaw" units="" type="enum" elements="1" options="False,TrueLimitToRatio,TrueIgnoreLimit" defaultvalue="TrueLimitToRatio" description="Setting: Whether to calculate yaw and whether to use YawToRollPitchPIDRatio"/>
53         <!-- Mateuze quad needs yaw P to be at most 2.6 times roll/pitch P to avoid yaw oscillation -->
54         <!-- Cliff sluggish 500 quad thinks that yaw P should be about 5.8 times roll/pitch P, but can easily (and better) live with 2.6 -->
55         <field name="YawToRollPitchPIDRatioMin" units="" type="float" elements="1" defaultvalue="1.0" description="Setting: Yaw PID will be at least this times Pitch PID (if enabled)"/>
56         <field name="YawToRollPitchPIDRatioMax" units="" type="float" elements="1" defaultvalue="2.5" description="Setting: Yaw PID will be at most this times Pitch PID (if enabled)"/>
57         <field name="DerivativeFactor" units="" type="float" elements="1" defaultvalue="1.0" limits="%BE:0:1" description="Setting: Multiplicative factor. If you have D term oscillations, reduce it toward zero and it will reduce PID D terms."/>
58         <field name="OuterLoopKpSoftClamp" units="" type="float" elements="1" defaultvalue="6.5" limits="%BE:0:100" description="Setting: Change this to change the outer loop Kp and Ki limiting"/>
59         <field name="DestinationPidBank" units="bank#" type="enum" elements="1" options="Bank1,Bank2,Bank3" defaultvalue="Bank3" description="Setting: Which bank the calculated PIDs will be stored in after tuning"/>
60         <field name="TuningDuration" units="s" type="uint8" elements="1" defaultvalue="60" limits="%BI:0" description="Setting: Duration of the tuning motions (expert)"/>
61         <field name="ThrustControl" units="" type="enum" elements="1" options="Manual,AltitudeVario" defaultvalue="Manual" description="Setting: Manual is direct control, AltitudeVario helps to maintain altitude"/>
62         <!-- SmoothQuickSource: the smooth vs. quick PID selector -->
63         <!-- accessory0 -> accessory3 transmitter knobs works as expected, with full left being smoothest (-1) and full right being quickest (+1) -->
64         <!-- FMSToggle 3, 5, and 7 positions rount robin selectors -->
65         <!-- incremented by quickly double toggling the fms 3 times (starting outside autotune mode -->
66         <!-- with each double toggle going into and back out of autotune) to go to the next position -->
67         <!-- 3 stops means stops at 0, then +1, then -1 then back to 0 -->
68         <!-- 5 stops means stops at 0, +0.5, +1, -1, -0.5 the 3 middle values (-0.5, 0, +0.5) are exactly those that are recommended for smooth, normal, and quick responses-->
69         <!-- 7 stops means stops at 0, +0.33, +0.66, +1, -1, -0.66, -0.33 -->
70         <field name="SmoothQuickSource" units="" type="enum" elements="1" options="Disabled,Accessory0,Accessory1,Accessory2,Accessory3,FMSToggle3pos,FMSToggle5pos,FMSToggle7pos" defaultvalue="FMSToggle5pos" description="Setting: Choose Accessory or FMS 3x toggle method with 3, 5, 7 positions"/>
71         <field name="SmoothQuickValue" units="" type="float" elements="1" defaultvalue="0.0" description="Remembers the value of the FMS 3x toggle (-1 to +1 range)"/>
72         <field name="DisableSanityChecks" units="bool" type="enum" elements="1" options="False,True" defaultvalue="False" description="Setting: Debugging tool (expert)"/>
73         <field name="GyroReadTimeAverage" units="s" type="float" elements="1" defaultvalue="0.001" description="Measured delay from gyro read to inner loop"/>
74         <field name="Complete" units="bool" type="enum" elements="1" options="False,True" defaultvalue="False" description="Automatically set True for a good complete tune or False for incomplete or bad"/>
75         <access gcs="readwrite" flight="readwrite"/>
76         <telemetrygcs acked="true" updatemode="onchange" period="0"/>
77         <telemetryflight acked="true" updatemode="onchange" period="0"/>
78         <logging updatemode="manual" period="0"/>
79     </object>
80 </xml>