change h_ctl_roll_igain to positive (only stabilization_adaptive)

This commit is contained in:
Felix Ruess
2011-11-29 22:44:29 +01:00
parent 556bbec4b6
commit e08ca58298
22 changed files with 26 additions and 26 deletions
+1 -1
View File
@@ -190,7 +190,7 @@
<define name="ROLL_RATE_GAIN" value="850"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-00"/>
<define name="ROLL_IGAIN" value="00"/>
<define name="PITCH_IGAIN" value="-500"/>
</section>
@@ -197,7 +197,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="9000."/>
<define name="ROLL_RATE_GAIN" value="3000."/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="ROLL_KFFA" value="-500"/>
<define name="ROLL_KFFD" value="-500"/>
@@ -197,7 +197,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="9000."/>
<define name="ROLL_RATE_GAIN" value="3000."/>
<define name="ROLL_IGAIN" value="-0"/>
<define name="ROLL_IGAIN" value="0"/>
<define name="ROLL_KFFA" value="0"/>
<define name="ROLL_KFFD" value="0"/>
+1 -1
View File
@@ -174,7 +174,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="6000."/>
<define name="ROLL_RATE_GAIN" value="1000."/>
<define name="ROLL_IGAIN" value="-400."/>
<define name="ROLL_IGAIN" value="400."/>
<define name="ROLL_KFFA" value="0"/>
<define name="ROLL_KFFD" value="0"/>
+1 -1
View File
@@ -158,7 +158,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="5900"/>
<define name="ROLL_RATE_GAIN" value="2900"/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="ROLL_KFFA" value="-500"/>
<define name="ROLL_KFFD" value="-500"/>
@@ -174,7 +174,7 @@ on<!DOCTYPE airframe SYSTEM "airframe.dtd">
<define name="ROLL_RATE_GAIN" value="2923.72900391"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-5000"/>
<define name="ROLL_IGAIN" value="5000"/>
</section>
<section name="NAV">
@@ -157,7 +157,7 @@
<define name="ROLL_RATE_GAIN" value="1527.7779541"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="PITCH_IGAIN" value="-500"/>
</section>
@@ -155,7 +155,7 @@
<define name="ROLL_KFFP" value="-500"/>
<define name="ROLL_KFFD" value="0"/>
<define name="ROLL_IGAIN" value="-5000"/>
<define name="ROLL_IGAIN" value="5000"/>
</section>
<section name="NAV">
@@ -159,7 +159,7 @@
<define name="ROLL_RATE_GAIN" value="2500"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-00"/>
<define name="ROLL_IGAIN" value="00"/>
<define name="PITCH_IGAIN" value="-500"/>
</section>
@@ -161,7 +161,7 @@
<define name="ROLL_RATE_GAIN" value="1779.66101074"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="PITCH_IGAIN" value="-500"/>
</section>
+1 -1
View File
@@ -162,7 +162,7 @@
<define name="ROLL_RATE_GAIN" value="2700"/>
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="PITCH_IGAIN" value="-500"/>
</section>
+1 -1
View File
@@ -182,7 +182,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="8500."/>
<define name="ROLL_RATE_GAIN" value="2400."/>
<define name="ROLL_IGAIN" value="-0."/>
<define name="ROLL_IGAIN" value="0."/>
<define name="ROLL_KFFA" value="0"/>
<define name="ROLL_KFFD" value="0"/>
+1 -1
View File
@@ -185,7 +185,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="8500."/>
<define name="ROLL_RATE_GAIN" value="2400."/>
<define name="ROLL_IGAIN" value="-0."/>
<define name="ROLL_IGAIN" value="0."/>
<define name="ROLL_KFFA" value="0"/>
<define name="ROLL_KFFD" value="0"/>
+1 -1
View File
@@ -172,7 +172,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="3553.89208984"/>
<define name="ROLL_RATE_GAIN" value="0."/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="ROLL_KFFA" value="-500"/>
<define name="ROLL_KFFD" value="-500"/>
+1 -1
View File
@@ -198,7 +198,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="3800."/>
<define name="ROLL_RATE_GAIN" value="500."/>
<define name="ROLL_IGAIN" value="-150."/>
<define name="ROLL_IGAIN" value="150."/>
<define name="ROLL_KFFA" value="0"/>
<define name="ROLL_KFFD" value="0"/>
+1 -1
View File
@@ -315,7 +315,7 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation
<define name="ROLL_RATE_GAIN" value="1500"/>
<!-- only for stabilization adaptive -->
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
<define name="ROLL_KFFA" value="0."/>
<define name="ROLL_KFFD" value="0."/>
+1 -1
View File
@@ -189,7 +189,7 @@
<define name="ROLL_ATTITUDE_GAIN" value="5847.45800781"/>
<define name="ROLL_RATE_GAIN" value="2923.72900391"/>
<define name="ROLL_IGAIN" value="-5000"/>
<define name="ROLL_IGAIN" value="5000"/>
<define name="ROLL_KFFA" value="500"/>
<define name="ROLL_KFFD" value="0"/>
+1 -1
View File
@@ -156,7 +156,7 @@
<!--define name="ROLL_RATE_GAIN" value="1500"/-->
<define name="ROLL_KFF" value="-500"/>
<define name="ROLL_IGAIN" value="-500"/>
<define name="ROLL_IGAIN" value="500"/>
</section>
<section name="NAV">
+1 -1
View File
@@ -9,7 +9,7 @@
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_roll_Kffd" module="stabilization/stabilization_adaptive" shortname="roll_Kffd"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_pitch_Kffa" module="stabilization/stabilization_adaptive" shortname="pitch_Kffa"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_pitch_Kffd" module="stabilization/stabilization_adaptive" shortname="pitch_Kffd"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_roll_igain" module="stabilization/stabilization_adaptive" handler="SetRollIGain"/>
<dl_setting MAX="5000" MIN="0" STEP="10" VAR="h_ctl_roll_igain" module="stabilization/stabilization_adaptive" handler="SetRollIGain"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_pitch_igain" module="stabilization/stabilization_adaptive" handler="SetPitchIGain"/>
</dl_settings>
</dl_settings>
+1 -1
View File
@@ -9,7 +9,7 @@
<dl_settings NAME="attitude">
<dl_setting MAX="15000" MIN="0" STEP="250" VAR="h_ctl_roll_attitude_gain" shortname="roll_pgain" param="H_CTL_ROLL_ATTITUDE_GAIN" module="stabilization/stabilization_attitude"/>
<dl_setting MAX="15000" MIN="0" STEP="250" VAR="h_ctl_roll_rate_gain" shortname="roll_dgain" param="H_CTL_ROLL_RATE_GAIN"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_roll_igain" shortname="roll_igain" param="H_CTL_ROLL_IGAIN" handler="SetRollIGain"/>
<dl_setting MAX="5000" MIN="0" STEP="10" VAR="h_ctl_roll_igain" shortname="roll_igain" param="H_CTL_ROLL_IGAIN" handler="SetRollIGain"/>
<dl_setting MAX="25000" MIN="0" STEP="250" VAR="h_ctl_pitch_pgain" shortname="pitch_pgain" param="H_CTL_PITCH_PGAIN"/>
<dl_setting MAX="50000" MIN="0" STEP="250" VAR="h_ctl_pitch_dgain" shortname="pitch_dgain" param="H_CTL_PITCH_DGAIN"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_pitch_igain" shortname="pitch_igain" param="H_CTL_PITCH_IGAIN" handler="SetPitchIGain"/>
+1 -1
View File
@@ -9,7 +9,7 @@
<dl_settings NAME="attitude">
<dl_setting MAX="15000" MIN="0" STEP="250" VAR="h_ctl_roll_attitude_gain" shortname="roll_pgain" param="H_CTL_ROLL_ATTITUDE_GAIN" module="stabilization/stabilization_attitude"/>
<dl_setting MAX="15000" MIN="0" STEP="250" VAR="h_ctl_roll_rate_gain" shortname="roll_dgain" param="H_CTL_ROLL_RATE_GAIN"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_roll_igain" shortname="roll_igain" param="H_CTL_ROLL_IGAIN" handler="SetRollIGain"/>
<dl_setting MAX="5000" MIN="0" STEP="10" VAR="h_ctl_roll_igain" shortname="roll_igain" param="H_CTL_ROLL_IGAIN" handler="SetRollIGain"/>
<dl_setting MAX="25000" MIN="0" STEP="250" VAR="h_ctl_pitch_pgain" shortname="pitch_pgain" param="H_CTL_PITCH_PGAIN"/>
<dl_setting MAX="50000" MIN="0" STEP="250" VAR="h_ctl_pitch_dgain" shortname="pitch_dgain" param="H_CTL_PITCH_DGAIN"/>
<dl_setting MAX="0" MIN="-5000" STEP="10" VAR="h_ctl_pitch_igain" shortname="pitch_igain" param="H_CTL_PITCH_IGAIN" handler="SetPitchIGain"/>
@@ -159,7 +159,7 @@ void h_ctl_init( void ) {
h_ctl_roll_setpoint = 0.;
h_ctl_roll_attitude_gain = ABS(H_CTL_ROLL_ATTITUDE_GAIN);
h_ctl_roll_rate_gain = ABS(H_CTL_ROLL_RATE_GAIN);
h_ctl_roll_igain = H_CTL_ROLL_IGAIN;
h_ctl_roll_igain = ABS(H_CTL_ROLL_IGAIN);
h_ctl_roll_sum_err = 0;
h_ctl_roll_Kffa = H_CTL_ROLL_KFFA;
h_ctl_roll_Kffd = H_CTL_ROLL_KFFD;
@@ -299,9 +299,9 @@ inline static void h_ctl_roll_loop( void ) {
h_ctl_roll_sum_err = 0.;
}
else {
if (h_ctl_roll_igain < 0.) {
if (h_ctl_roll_igain > 0.) {
h_ctl_roll_sum_err += err * H_CTL_REF_DT;
BoundAbs(h_ctl_roll_sum_err, (- H_CTL_ROLL_SUM_ERR_MAX / h_ctl_roll_igain));
BoundAbs(h_ctl_roll_sum_err, H_CTL_ROLL_SUM_ERR_MAX / h_ctl_roll_igain);
} else {
h_ctl_roll_sum_err = 0.;
}
@@ -312,13 +312,13 @@ inline static void h_ctl_roll_loop( void ) {
+ h_ctl_roll_Kffd * h_ctl_ref_roll_rate
- cmd_fb
+ h_ctl_roll_rate_gain * d_err
- h_ctl_roll_igain * h_ctl_roll_sum_err
+ h_ctl_roll_igain * h_ctl_roll_sum_err
+ v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
// float cmd = h_ctl_roll_Kffa * h_ctl_ref_roll_accel
// + h_ctl_roll_Kffd * h_ctl_ref_roll_rate
// + h_ctl_roll_attitude_gain * err
// + h_ctl_roll_rate_gain * d_err
// - h_ctl_roll_igain * h_ctl_roll_sum_err
// + h_ctl_roll_igain * h_ctl_roll_sum_err
// + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
//
cmd /= airspeed_ratio2;