Copter: simplify roll-pitch stabilize controller
remove check of whether to freeze i term when attitude is less than 5 degrees from horizontal. I terms have been moved to the rate controllers.
This commit is contained in:
parent
82c604dd67
commit
0b29754920
@ -9,19 +9,11 @@ get_stabilize_roll(int32_t target_angle)
|
||||
// limit the error we're feeding to the PID
|
||||
target_angle = constrain_int32(target_angle, -4500, 4500);
|
||||
|
||||
// convert to desired Rate:
|
||||
int32_t target_rate = g.pi_stabilize_roll.get_p(target_angle);
|
||||
|
||||
int16_t i_stab;
|
||||
if(labs(ahrs.roll_sensor) < 500) {
|
||||
target_angle = constrain_int32(target_angle, -500, 500);
|
||||
i_stab = g.pi_stabilize_roll.get_i(target_angle, G_Dt);
|
||||
}else{
|
||||
i_stab = g.pi_stabilize_roll.get_integrator();
|
||||
}
|
||||
// convert to desired rate
|
||||
int32_t target_rate = g.pi_stabilize_roll.get_pi(target_angle, G_Dt);
|
||||
|
||||
// set targets for rate controller
|
||||
set_roll_rate_target(target_rate+i_stab, EARTH_FRAME);
|
||||
set_roll_rate_target(target_rate, EARTH_FRAME);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -33,19 +25,11 @@ get_stabilize_pitch(int32_t target_angle)
|
||||
// limit the error we're feeding to the PID
|
||||
target_angle = constrain_int32(target_angle, -4500, 4500);
|
||||
|
||||
// convert to desired Rate:
|
||||
int32_t target_rate = g.pi_stabilize_pitch.get_p(target_angle);
|
||||
|
||||
int16_t i_stab;
|
||||
if(labs(ahrs.pitch_sensor) < 500) {
|
||||
target_angle = constrain_int32(target_angle, -500, 500);
|
||||
i_stab = g.pi_stabilize_pitch.get_i(target_angle, G_Dt);
|
||||
}else{
|
||||
i_stab = g.pi_stabilize_pitch.get_integrator();
|
||||
}
|
||||
// convert to desired rate
|
||||
int32_t target_rate = g.pi_stabilize_pitch.get_pi(target_angle, G_Dt);
|
||||
|
||||
// set targets for rate controller
|
||||
set_pitch_rate_target(target_rate + i_stab, EARTH_FRAME);
|
||||
set_pitch_rate_target(target_rate, EARTH_FRAME);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user