|
APM:Libraries
|
Copter PID control class. More...
#include <AC_PID.h>
Classes | |
| struct | ac_pid_flags |
Public Member Functions | |
| AC_PID (float initial_p, float initial_i, float initial_d, float initial_imax, float initial_filt_hz, float dt, float initial_ff=0) | |
| void | set_dt (float dt) |
| void | set_input_filter_all (float input) |
| void | set_input_filter_d (float input) |
| float | get_pid () |
| float | get_pi () |
| float | get_p () |
| float | get_i () |
| float | get_d () |
| float | get_ff (float requested_rate) |
| void | reset_I () |
| void | reset_filter () |
| void | load_gains () |
| void | save_gains () |
| void | operator() (float p, float i, float d, float imaxval, float input_filt_hz, float dt, float ffval=0) |
| operator function call for easy initialisation More... | |
| AP_Float & | kP () |
| AP_Float & | kI () |
| AP_Float & | kD () |
| AP_Float & | filt_hz () |
| float | imax () const |
| float | get_filt_alpha () const |
| float | ff () const |
| void | kP (const float v) |
| void | kI (const float v) |
| void | kD (const float v) |
| void | imax (const float v) |
| void | filt_hz (const float v) |
| void | ff (const float v) |
| float | get_integrator () const |
| void | set_integrator (float i) |
| void | set_desired_rate (float desired) |
| const DataFlash_Class::PID_Info & | get_pid_info (void) const |
Static Public Attributes | |
| static const struct AP_Param::GroupInfo | var_info [] |
Protected Attributes | |
| AP_Float | _kp |
| AP_Float | _ki |
| AP_Float | _kd |
| AP_Float | _imax |
| AP_Float | _filt_hz |
| AP_Float | _ff |
| struct AC_PID::ac_pid_flags | _flags |
| float | _dt |
| float | _integrator |
| float | _input |
| float | _derivative |
| DataFlash_Class::PID_Info | _pid_info |
| AC_PID::AC_PID | ( | float | initial_p, |
| float | initial_i, | ||
| float | initial_d, | ||
| float | initial_imax, | ||
| float | initial_filt_hz, | ||
| float | dt, | ||
| float | initial_ff = 0 |
||
| ) |
|
inline |
| void AC_PID::filt_hz | ( | const float | v | ) |
| float AC_PID::get_d | ( | ) |
Definition at line 155 of file AC_PID.cpp.
Referenced by get_pid(), AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), loop(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl::rate_target_to_motor_pitch(), AC_AttitudeControl::rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl::rate_target_to_motor_yaw(), AC_PosControl::run_z_controller(), and AP_Winch_Servo::update().
| float AC_PID::get_ff | ( | float | requested_rate | ) |
Definition at line 162 of file AC_PID.cpp.
Referenced by AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl::rate_target_to_motor_pitch(), AC_AttitudeControl::rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), and AC_AttitudeControl::rate_target_to_motor_yaw().
| float AC_PID::get_filt_alpha | ( | ) | const |
Definition at line 217 of file AC_PID.cpp.
Referenced by imax(), AC_AttitudeControl::max_rate_step_bf_pitch(), AC_AttitudeControl::max_rate_step_bf_roll(), AC_AttitudeControl::max_rate_step_bf_yaw(), set_input_filter_all(), and set_input_filter_d().
| float AC_PID::get_i | ( | ) |
Definition at line 140 of file AC_PID.cpp.
Referenced by get_pi(), get_pid(), AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), loop(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl::rate_target_to_motor_pitch(), AC_AttitudeControl::rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl::rate_target_to_motor_yaw(), AC_PosControl::run_z_controller(), and AP_Winch_Servo::update().
|
inline |
Definition at line 76 of file AC_PID.h.
Referenced by AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl::rate_target_to_motor_pitch(), AC_AttitudeControl::rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl::rate_target_to_motor_yaw(), AC_PosControl::run_z_controller(), and AP_Winch_Servo::update().
| float AC_PID::get_p | ( | ) |
Definition at line 134 of file AC_PID.cpp.
Referenced by get_pi(), get_pid(), AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), loop(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl::rate_target_to_motor_pitch(), AC_AttitudeControl::rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl::rate_target_to_motor_yaw(), AC_PosControl::run_z_controller(), and AP_Winch_Servo::update().
| float AC_PID::get_pi | ( | ) |
| float AC_PID::get_pid | ( | ) |
|
inline |
Definition at line 82 of file AC_PID.h.
Referenced by AC_AttitudeControl::control_monitor_update().
|
inline |
Definition at line 64 of file AC_PID.h.
Referenced by loop(), and AC_PosControl::run_z_controller().
|
inline |
|
inline |
Definition at line 62 of file AC_PID.h.
Referenced by loop(), AC_AttitudeControl::max_rate_step_bf_pitch(), AC_AttitudeControl::max_rate_step_bf_roll(), and AC_AttitudeControl::max_rate_step_bf_yaw().
|
inline |
|
inline |
Definition at line 60 of file AC_PID.h.
Referenced by loop(), AC_AttitudeControl::max_rate_step_bf_pitch(), AC_AttitudeControl::max_rate_step_bf_roll(), and AC_AttitudeControl::max_rate_step_bf_yaw().
| void AC_PID::load_gains | ( | ) |
Definition at line 184 of file AC_PID.cpp.
Referenced by reset_filter().
| void AC_PID::operator() | ( | float | p, |
| float | i, | ||
| float | d, | ||
| float | imaxval, | ||
| float | input_filt_hz, | ||
| float | dt, | ||
| float | ffval = 0 |
||
| ) |
operator function call for easy initialisation
Overload the function call operator to permit easy initialisation.
Definition at line 205 of file AC_PID.cpp.
Referenced by reset_filter().
|
inline |
Definition at line 48 of file AC_PID.h.
Referenced by AR_AttitudeControl::get_steering_out_rate(), and AR_AttitudeControl::get_throttle_out_speed().
| void AC_PID::reset_I | ( | ) |
Definition at line 179 of file AC_PID.cpp.
Referenced by AC_AttitudeControl::relax_attitude_controllers(), and AC_AttitudeControl::reset_rate_controller_I_terms().
| void AC_PID::save_gains | ( | ) |
Definition at line 195 of file AC_PID.cpp.
Referenced by reset_filter().
|
inline |
Definition at line 80 of file AC_PID.h.
Referenced by AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl::rate_target_to_motor_pitch(), AC_AttitudeControl::rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl::rate_target_to_motor_yaw(), and AC_PosControl::run_z_controller().
| void AC_PID::set_dt | ( | float | dt | ) |
Definition at line 69 of file AC_PID.cpp.
Referenced by AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), and AC_PosControl::set_dt().
| void AC_PID::set_input_filter_all | ( | float | input | ) |
Definition at line 87 of file AC_PID.cpp.
Referenced by AR_AttitudeControl::get_steering_out_rate(), AR_AttitudeControl::get_throttle_out_speed(), loop(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl::rate_target_to_motor_yaw(), AC_PosControl::run_z_controller(), and AP_Winch_Servo::update().
| void AC_PID::set_input_filter_d | ( | float | input | ) |
Definition at line 112 of file AC_PID.cpp.
Referenced by AC_AttitudeControl::rate_target_to_motor_pitch(), and AC_AttitudeControl::rate_target_to_motor_roll().
|
inline |
Definition at line 77 of file AC_PID.h.
Referenced by AC_PosControl::init_takeoff(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), and AC_PosControl::relax_alt_hold_controllers().
|
protected |
Definition at line 106 of file AC_PID.h.
Referenced by get_d(), set_input_filter_all(), and set_input_filter_d().
|
protected |
Definition at line 103 of file AC_PID.h.
Referenced by get_filt_alpha(), get_i(), AC_HELI_PID::get_leaky_i(), operator()(), set_dt(), set_input_filter_all(), and set_input_filter_d().
|
protected |
|
protected |
Definition at line 94 of file AC_PID.h.
Referenced by filt_hz(), get_filt_alpha(), load_gains(), operator()(), and save_gains().
|
protected |
Referenced by AC_PID(), reset_filter(), set_input_filter_all(), and set_input_filter_d().
|
protected |
Definition at line 93 of file AC_PID.h.
Referenced by AC_PID(), get_i(), AC_HELI_PID::get_leaky_i(), imax(), load_gains(), operator()(), and save_gains().
|
protected |
Definition at line 105 of file AC_PID.h.
Referenced by get_i(), AC_HELI_PID::get_leaky_i(), get_p(), set_input_filter_all(), and set_input_filter_d().
|
protected |
Definition at line 104 of file AC_PID.h.
Referenced by get_i(), get_integrator(), AC_HELI_PID::get_leaky_i(), reset_I(), and set_integrator().
|
protected |
Definition at line 92 of file AC_PID.h.
Referenced by AC_PID(), get_d(), kD(), load_gains(), operator()(), and save_gains().
|
protected |
Definition at line 91 of file AC_PID.h.
Referenced by AC_PID(), get_i(), AC_HELI_PID::get_leaky_i(), kI(), load_gains(), operator()(), and save_gains().
|
protected |
Definition at line 90 of file AC_PID.h.
Referenced by AC_PID(), get_p(), kP(), load_gains(), operator()(), and save_gains().
|
protected |
Definition at line 108 of file AC_PID.h.
Referenced by AC_PID(), get_d(), get_ff(), get_i(), AC_HELI_PID::get_leaky_i(), get_p(), get_pid_info(), and set_desired_rate().
|
static |
1.8.13