Merge pull request #539 quat_transformations

Rotorcraft guidance fixes/improvements

So now horizontal guidance returns commands in north/east earth frame and doesn't already rotate it to body frame.
This allows for better handling of them in different controllers.

New and properly working transformations from earth commands to quaternions added.
No proper fixedpoint implementation so far... no change there compared to current master though.
Should still be done for efficiency.

Tested the int_quat stablizitation with this in simulation and it works perfectly as expected.

IMPORTANT: This does currently not have the feature to "add" roll/pitch setpoints via RC in nav/hover anymore.
Is that really used, instead of switching to manual if needed?
Instead you can give velocity commands in hover mode via RC.

Includes max bank improvements proposed in #546

Split PD and I-gain with separate max bank
no wind: integrator (trim attitude) = 0, PD maxbank = -20 to 20 extra: total: -20 to 20
huge wind: integrator (trim attitude) = 20, PD maxbank = -20 to 20 extra: total: 0 to 40
Put gain before integrator to get better insight in the saturation values
Reduce integration overshoots while increasing integration speed by adding the speed error as well
no speed error: integrate as before
counterproductive speed error, integrate faster
if the position error is already decreasing fast, no integrator is needed or it will overshoot

closes #539
This commit is contained in:
Felix Ruess
2013-10-11 15:36:22 +02:00
108 changed files with 497 additions and 570 deletions
-4
View File
@@ -181,10 +181,6 @@
<define name="HOVER_KP" value="500"/>
<define name="HOVER_KD" value="200"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.4"/>
</section>
-4
View File
@@ -178,10 +178,6 @@ LiPo/LiIo-Zellen: 2-3
<define name="HOVER_KP" value="500"/>
<define name="HOVER_KD" value="200"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
@@ -224,9 +224,7 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="ADAPT_NOISE_FACTOR" value="1.5"/>
</section>
@@ -198,9 +198,7 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
-2
View File
@@ -204,9 +204,7 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="ADAPT_NOISE_FACTOR" value="1.5"/>
</section>
@@ -174,10 +174,6 @@
<define name="HOVER_KP" value="283"/>
<define name="HOVER_KD" value="82"/>
<define name="HOVER_KI" value="13"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.655"/>
<define name="ADAPT_THROTTLE_ENABLED" value="FALSE"/>
</section>
@@ -156,10 +156,6 @@
<define name="HOVER_KP" value="531"/>
<define name="HOVER_KD" value="356"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.669"/>
</section>
@@ -158,10 +158,6 @@
<define name="HOVER_KP" value="400"/>
<define name="HOVER_KD" value="350"/>
<define name="HOVER_KI" value="144"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value="0.9"/>
</section>
@@ -140,10 +140,6 @@
<define name="HOVER_KP" value="281"/>
<define name="HOVER_KD" value="66"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value="0.9"/>
</section>
@@ -145,10 +145,6 @@
<define name="HOVER_KP" value="281"/>
<define name="HOVER_KD" value="66"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value="0.9"/>
</section>
@@ -233,10 +233,6 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
@@ -233,10 +233,6 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
-4
View File
@@ -81,10 +81,6 @@
<define name="HOVER_KP" value="425" />
<define name="HOVER_KD" value="200" />
<define name="HOVER_KI" value="125" />
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163" />
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000" />
<define name="NOMINAL_HOVER_THROTTLE" value="0.5"/>
<define name="ADAPT_THROTTLE_ENABLED" value="FALSE"/>
</section>
-4
View File
@@ -181,10 +181,6 @@ B2L -> CW
<define name="HOVER_KP" value="400"/>
<define name="HOVER_KD" value="350"/>
<define name="HOVER_KI" value="144"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/>
</section>
@@ -164,8 +164,6 @@
<define name="HOVER_KP" value="200"/>
<define name="HOVER_KD" value="175"/>
<define name="HOVER_KI" value="72"/>
<define name="RC_CLIMB_COEF" value ="163"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/>
</section>
-4
View File
@@ -178,10 +178,6 @@
<define name="HOVER_KP" value="830"/>
<define name="HOVER_KD" value="650"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!--define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/-->
</section>
-4
View File
@@ -139,10 +139,6 @@
<define name="HOVER_KP" value="830"/>
<define name="HOVER_KD" value="650"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!--define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/-->
</section>
-4
View File
@@ -146,10 +146,6 @@
<define name="HOVER_KP" value="830"/>
<define name="HOVER_KD" value="650"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!--define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/-->
</section>
-2
View File
@@ -172,8 +172,6 @@
<define name="HOVER_KP" value="200"/>
<define name="HOVER_KD" value="175"/>
<define name="HOVER_KI" value="72"/>
<define name="RC_CLIMB_COEF" value ="163"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- <define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.3"/> -->
</section>
-4
View File
@@ -174,10 +174,6 @@
<define name="HOVER_KP" value="830"/>
<define name="HOVER_KD" value="650"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!--define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/-->
</section>
-4
View File
@@ -135,10 +135,6 @@
<define name="HOVER_KP" value="400"/>
<define name="HOVER_KD" value="350"/>
<define name="HOVER_KI" value="144"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/>
</section>
-4
View File
@@ -138,10 +138,6 @@
<define name="HOVER_KP" value="400"/>
<define name="HOVER_KD" value="350"/>
<define name="HOVER_KI" value="144"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/>
</section>
@@ -135,10 +135,6 @@
<define name="HOVER_KP" value="400"/>
<define name="HOVER_KD" value="350"/>
<define name="HOVER_KI" value="144"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/>
</section>
-4
View File
@@ -138,10 +138,6 @@
<define name="HOVER_KP" value="400"/>
<define name="HOVER_KD" value="350"/>
<define name="HOVER_KI" value="144"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value ="0.9"/>
</section>
-4
View File
@@ -159,10 +159,6 @@
<define name="HOVER_KP" value="500"/>
<define name="HOVER_KD" value="200"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
-4
View File
@@ -158,10 +158,6 @@
<define name="HOVER_KP" value="500"/>
<define name="HOVER_KD" value="200"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.4"/>
</section>
@@ -205,9 +205,7 @@
<define name="HOVER_KP" value="120"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<define name="RC_CLIMB_COEF" value ="500"/>
<define name="RC_DESCENT_COEF" value ="200"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
@@ -208,9 +208,7 @@
<define name="HOVER_KP" value="120"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<define name="RC_CLIMB_COEF" value ="500"/>
<define name="RC_DESCENT_COEF" value ="200"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
@@ -24,8 +24,6 @@
<subsystem name="motor_mixing"/>
<define name="NO_RC_THRUST_LIMIT"/>
<define name="USE_RC_FP_BLOCK_SWITCHING"/>
<define name="USE_ATTITUDE_REF" value="0"/>
</firmware>
<modules main_freq="512">
@@ -106,6 +104,7 @@
<section name="AHRS" prefix="AHRS_">
<define name="PROPAGATE_LOW_PASS_RATES" value="1"/>
<define name="GRAVITY_HEURISTIC_FACTOR" value="30"/>
<define name="MAG_CORRECT_FREQUENCY" value="75"/>
<define name="H_X" value="0.3586845"/>
<define name="H_Y" value="0.0168651"/>
<define name="H_Z" value="0.933303"/>
@@ -144,35 +143,35 @@
<!-- setpoints -->
<define name="SP_MAX_PHI" value="45." unit="deg"/>
<define name="SP_MAX_THETA" value="45." unit="deg"/>
<define name="SP_MAX_R" value="90." unit="deg/s"/>
<define name="SP_MAX_R" value="50." unit="deg/s"/>
<define name="DEADBAND_A" value="0"/>
<define name="DEADBAND_E" value="0"/>
<define name="DEADBAND_R" value="250"/>
<!-- reference -->
<define name="REF_OMEGA_P" value="800" unit="deg/s"/>
<define name="REF_ZETA_P" value="0.85"/>
<define name="REF_MAX_P" value="400." unit="deg/s"/>
<define name="REF_MAX_PDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_P" value="450" unit="deg/s"/>
<define name="REF_ZETA_P" value="0.87"/>
<define name="REF_MAX_P" value="180." unit="deg/s"/>
<define name="REF_MAX_PDOT" value="RadOfDeg(400.)"/>
<define name="REF_OMEGA_Q" value="800" unit="deg/s"/>
<define name="REF_ZETA_Q" value="0.85"/>
<define name="REF_MAX_Q" value="400." unit="deg/s"/>
<define name="REF_MAX_QDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_Q" value="450" unit="deg/s"/>
<define name="REF_ZETA_Q" value="0.87"/>
<define name="REF_MAX_Q" value="180." unit="deg/s"/>
<define name="REF_MAX_QDOT" value="RadOfDeg(400.)"/>
<define name="REF_OMEGA_R" value="500" unit="deg/s"/>
<define name="REF_OMEGA_R" value="400" unit="deg/s"/>
<define name="REF_ZETA_R" value="0.85"/>
<define name="REF_MAX_R" value="90." unit="deg/s"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(180.)"/>
<define name="REF_MAX_R" value="70." unit="deg/s"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(360.)"/>
<!-- feedback -->
<define name="PHI_PGAIN" value="850"/>
<define name="PHI_DGAIN" value="400"/>
<define name="PHI_IGAIN" value="100"/>
<define name="PHI_PGAIN" value="1700"/>
<define name="PHI_DGAIN" value="500"/>
<define name="PHI_IGAIN" value="250"/>
<define name="THETA_PGAIN" value="850"/>
<define name="THETA_DGAIN" value="400"/>
<define name="THETA_IGAIN" value="100"/>
<define name="THETA_PGAIN" value="1700"/>
<define name="THETA_DGAIN" value="500"/>
<define name="THETA_IGAIN" value="250"/>
<define name="PSI_PGAIN" value="4000"/>
<define name="PSI_DGAIN" value="1500"/>
@@ -181,7 +180,7 @@
<!-- feedforward -->
<define name="PHI_DDGAIN" value="300"/>
<define name="THETA_DDGAIN" value="300"/>
<define name="PSI_DDGAIN" value="2000"/>
<define name="PSI_DDGAIN" value="5000"/>
</section>
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
@@ -190,16 +189,14 @@
<define name="MIN_ERR_ZD" value="SPEED_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_ZD" value="SPEED_BFP_OF_REAL( 10.)"/>
<define name="MAX_SUM_ERR" value="2000000"/>
<define name="REF_MIN_ZDD" value="-0.2*9.81"/> <!-- max descent acceleration -->
<define name="REF_MAX_ZDD" value="0.2*9.81"/> <!-- max climb acceleration -->
<define name="REF_MIN_ZD" value="-3."/> <!-- max descent speed -->
<define name="REF_MAX_ZD" value="3."/> <!-- max climb speed -->
<define name="HOVER_KP" value="120"/>
<define name="HOVER_KD" value="80"/>
<define name="REF_MIN_ZDD" value="-2.5"/> <!-- max climb acceleration -->
<define name="REF_MAX_ZDD" value=" 2.5"/> <!-- max descent acceleration -->
<define name="REF_MIN_ZD" value="-3."/> <!-- max climb speed -->
<define name="REF_MAX_ZD" value="3."/> <!-- max descent speed -->
<define name="ADAPT_INITIAL_HOVER_THROTTLE" value="0.35"/> <!-- initial takeoff throttle value -->
<define name="HOVER_KP" value="130"/>
<define name="HOVER_KD" value="120"/>
<define name="HOVER_KI" value="20"/>
<define name="RC_CLIMB_COEF" value ="500"/>
<define name="RC_DESCENT_COEF" value ="200"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
@@ -208,9 +205,8 @@
<define name="MAX_BANK" value="27" unit="deg"/>
<define name="REF_MAX_ACCEL" value="7."/> <!-- max reference horizontal acceleration in m/s2 -->
<define name="REF_MAX_SPEED" value="2."/> <!-- max reference horizontal speed in m/s -->
<define name="RC_SPEED_DEAD_BAND" value="200000"/>
<define name="PGAIN" value="100"/>
<define name="DGAIN" value="120"/>
<define name="DGAIN" value="220"/>
<define name="IGAIN" value="10"/>
<define name="AGAIN" value="10"/>
</section>
@@ -228,8 +224,8 @@
</section>
<section name="BAT">
<define name="CRITIC_BAT_LEVEL" value="13.0" unit="V"/>
<define name="LOW_BAT_LEVEL" value="13.2" unit="V"/>
<define name="CRITIC_BAT_LEVEL" value="14.0" unit="V"/>
<define name="LOW_BAT_LEVEL" value="14.2" unit="V"/>
<define name="MAX_BAT_LEVEL" value="16.8" unit="V"/>
</section>
@@ -193,9 +193,7 @@
<define name="HOVER_KP" value="120"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<define name="RC_CLIMB_COEF" value ="500"/>
<define name="RC_DESCENT_COEF" value ="200"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
-4
View File
@@ -157,10 +157,6 @@
<define name="HOVER_KP" value="500"/>
<define name="HOVER_KD" value="200"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.4"/>
<define name="ADAPT_THROTTLE_ENABLED" value="FALSE"/>
</section>
@@ -183,16 +183,13 @@
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.5"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="MAX_BANK" value="20" unit="deg"/>
<define name="USE_SPEED_REF" value="TRUE"/>
<define name="PGAIN" value="50"/>
<define name="DGAIN" value="100"/>
<define name="AGAIN" value="100"/>
@@ -186,10 +186,6 @@
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- NOMINAL_HOVER_THROTTLE sets a fixed value instead of the adaptive estimation -->
<!--define name="NOMINAL_HOVER_THROTTLE" value="0.5"/-->
</section>
@@ -175,10 +175,6 @@
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.5"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
</section>
@@ -158,10 +158,6 @@
<define name="HOVER_KP" value="276"/>
<define name="HOVER_KD" value="455"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value="160000"/>
<define name="GUIDANCE_V_NOMINAL_HOVER_THROTTLE" value="0.9"/>
</section>
@@ -183,10 +183,6 @@
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.5"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
</section>
@@ -208,9 +208,7 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="ADAPT_NOISE_FACTOR" value="1.5"/>
</section>
@@ -179,10 +179,6 @@
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- NOMINAL_HOVER_THROTTLE sets a fixed value instead of the adaptive estimation -->
<!--define name="NOMINAL_HOVER_THROTTLE" value="0.5"/-->
</section>
@@ -196,8 +196,6 @@ More information on the Quadshot can be found at transition-robotics.com -->
<define name="HOVER_KP" value="200"/>
<define name="HOVER_KD" value="175"/>
<define name="HOVER_KI" value="72"/>
<define name="RC_CLIMB_COEF" value ="163"/>
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value ="0.4"/>
<define name="ADAPT_THROTTLE_ENABLED" value="FALSE"/>
</section>
@@ -179,10 +179,6 @@
<define name="HOVER_KP" value="150"/>
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!--define name="NOMINAL_HOVER_THROTTLE" value="0.5"/-->
</section>
+2 -5
View File
@@ -219,16 +219,13 @@
<define name="HOVER_KP" value="120"/>
<define name="HOVER_KD" value="100"/>
<define name="HOVER_KI" value="20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.38"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="USE_REF" value="1"/>
<define name="APPROX_FORCE_BY_THRUST" value="TRUE"/>
<define name="USE_REF" value="TRUE"/>
<define name="MAX_BANK" value="30" unit="deg"/>
<define name="PGAIN" value="100"/>
<define name="DGAIN" value="100"/>
@@ -155,9 +155,7 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- <define name="INV_M" value="0.118"/> -->
</section>
@@ -188,10 +188,6 @@
<define name="HOVER_KP" value="200"/>
<define name="HOVER_KD" value="100"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
-4
View File
@@ -208,10 +208,6 @@
<define name="HOVER_KP" value="200"/>
<define name="HOVER_KD" value="100"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
-4
View File
@@ -179,10 +179,6 @@
<define name="HOVER_KP" value="200"/>
<define name="HOVER_KD" value="100"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
-4
View File
@@ -207,10 +207,6 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
-->
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
@@ -163,9 +163,7 @@
<define name="HOVER_KD" value="250"/>
<define name="HOVER_KI" value="100"/>
<!-- SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
@@ -181,9 +181,7 @@
<define name="HOVER_KD" value="250"/>
<define name="HOVER_KI" value="100"/>
<!-- SPEED_BFP_OF_REAL(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- SPEED_BFP_OF_REAL(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
</section>
@@ -153,10 +153,6 @@
<define name="HOVER_KP" value="500"/>
<define name="HOVER_KD" value="200"/>
<define name="HOVER_KI" value="100"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- <define name="INV_M" value ="0.2"/> -->
</section>
@@ -179,10 +179,6 @@
<define name="HOVER_KD" value="80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<!-- <define name="INV_M" value ="0.2"/> -->
</section>

Some files were not shown because too many files have changed in this diff Show More