mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-05 15:12:09 +08:00
change h_ctl_roll_igain to positive (only stabilization_adaptive)
This commit is contained in:
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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."/>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user