APM:Libraries
|
#include <AC_AttitudeControl.h>
Public Member Functions | |
AC_AttitudeControl (AP_AHRS_View &ahrs, const AP_Vehicle::MultiCopter &aparm, AP_Motors &motors, float dt) | |
virtual | ~AC_AttitudeControl () |
AC_P & | get_angle_roll_p () |
AC_P & | get_angle_pitch_p () |
AC_P & | get_angle_yaw_p () |
virtual AC_PID & | get_rate_roll_pid ()=0 |
virtual AC_PID & | get_rate_pitch_pid ()=0 |
virtual AC_PID & | get_rate_yaw_pid ()=0 |
float | get_accel_roll_max () const |
float | get_accel_roll_max_radss () const |
void | set_accel_roll_max (float accel_roll_max) |
void | save_accel_roll_max (float accel_roll_max) |
float | get_accel_pitch_max () const |
float | get_accel_pitch_max_radss () const |
void | set_accel_pitch_max (float accel_pitch_max) |
void | save_accel_pitch_max (float accel_pitch_max) |
float | get_accel_yaw_max () const |
float | get_accel_yaw_max_radss () const |
void | set_accel_yaw_max (float accel_yaw_max) |
void | save_accel_yaw_max (float accel_yaw_max) |
void | set_input_tc (float input_tc) |
void | relax_attitude_controllers () |
void | reset_rate_controller_I_terms () |
void | set_attitude_target_to_current_attitude () |
void | set_yaw_target_to_current_heading () |
void | shift_ef_yaw_target (float yaw_shift_cd) |
void | inertial_frame_reset () |
void | input_quaternion (Quaternion attitude_desired_quat) |
virtual void | input_euler_angle_roll_pitch_euler_rate_yaw (float euler_roll_angle_cd, float euler_pitch_angle_cd, float euler_yaw_rate_cds) |
virtual void | input_euler_angle_roll_pitch_yaw (float euler_roll_angle_cd, float euler_pitch_angle_cd, float euler_yaw_angle_cd, bool slew_yaw) |
void | input_euler_rate_roll_pitch_yaw (float euler_roll_rate_cds, float euler_pitch_rate_cds, float euler_yaw_rate_cds) |
virtual void | input_rate_bf_roll_pitch_yaw (float roll_rate_bf_cds, float pitch_rate_bf_cds, float yaw_rate_bf_cds) |
void | input_rate_bf_roll_pitch_yaw_2 (float roll_rate_bf_cds, float pitch_rate_bf_cds, float yaw_rate_bf_cds) |
void | input_rate_bf_roll_pitch_yaw_3 (float roll_rate_bf_cds, float pitch_rate_bf_cds, float yaw_rate_bf_cds) |
virtual void | input_angle_step_bf_roll_pitch_yaw (float roll_angle_step_bf_cd, float pitch_angle_step_bf_cd, float yaw_angle_step_bf_cd) |
virtual void | rate_controller_run ()=0 |
void | euler_rate_to_ang_vel (const Vector3f &euler_rad, const Vector3f &euler_rate_rads, Vector3f &ang_vel_rads) |
bool | ang_vel_to_euler_rate (const Vector3f &euler_rad, const Vector3f &ang_vel_rads, Vector3f &euler_rate_rads) |
void | use_sqrt_controller (bool use_sqrt_cont) |
Vector3f | get_att_target_euler_cd () const |
float | get_att_error_angle_deg () const |
void | rate_bf_roll_target (float rate_cds) |
void | rate_bf_pitch_target (float rate_cds) |
void | rate_bf_yaw_target (float rate_cds) |
float | max_rate_step_bf_roll () |
float | max_rate_step_bf_pitch () |
float | max_rate_step_bf_yaw () |
float | max_angle_step_bf_roll () |
float | max_angle_step_bf_pitch () |
float | max_angle_step_bf_yaw () |
Vector3f | rate_bf_targets () const |
void | bf_feedforward (bool enable_or_disable) |
void | bf_feedforward_save (bool enable_or_disable) |
bool | get_bf_feedforward () |
void | accel_limiting (bool enable_or_disable) |
virtual void | update_althold_lean_angle_max (float throttle_in)=0 |
virtual void | set_throttle_out (float throttle_in, bool apply_angle_boost, float filt_cutoff)=0 |
void | set_throttle_out_unstabilized (float throttle_in, bool reset_attitude_control, float filt_cutoff) |
float | get_throttle_in () const |
float | angle_boost () const |
float | get_althold_lean_angle_max () const |
float | lean_angle_max () const |
void | input_shaping_rate_predictor (Vector2f error_angle, Vector2f &target_ang_vel, float dt) const |
void | ang_vel_limit (Vector3f &euler_rad, float ang_vel_roll_max, float ang_vel_pitch_max, float ang_vel_yaw_max) const |
Vector3f | euler_accel_limit (Vector3f euler_rad, Vector3f euler_accel) |
void | thrust_heading_rotation_angles (Quaternion &att_to_quat, const Quaternion &att_from_quat, Vector3f &att_diff_angle, float &thrust_vec_dot) |
void | attitude_controller_run_quat () |
virtual void | parameter_sanity_check () |
virtual bool | is_throttle_mix_min () const |
virtual void | set_throttle_mix_min () |
virtual void | set_throttle_mix_man () |
virtual void | set_throttle_mix_max () |
virtual void | set_throttle_mix_value (float value) |
virtual float | get_throttle_mix (void) const |
virtual void | use_flybar_passthrough (bool passthrough, bool tail_passthrough) |
virtual void | use_leaky_i (bool leaky_i) |
virtual void | set_hover_roll_trim_scalar (float scalar) |
virtual void | passthrough_bf_roll_pitch_rate_yaw (float roll_passthrough, float pitch_passthrough, float yaw_rate_bf_cds) |
virtual void | set_inverted_flight (bool inverted) |
void | control_monitor_log (void) |
float | control_monitor_rms_output_roll (void) const |
float | control_monitor_rms_output_roll_P (void) const |
float | control_monitor_rms_output_roll_D (void) const |
float | control_monitor_rms_output_pitch_P (void) const |
float | control_monitor_rms_output_pitch_D (void) const |
float | control_monitor_rms_output_pitch (void) const |
float | control_monitor_rms_output_yaw (void) const |
Static Public Member Functions | |
static float | sqrt_controller (float error, float p, float second_ord_lim, float dt) |
static float | stopping_point (float first_ord_mag, float p, float second_ord_lim) |
static float | input_shaping_angle (float error_angle, float smoothing_gain, float accel_max, float target_ang_vel, float dt) |
static float | input_shaping_ang_vel (float target_ang_vel, float desired_ang_vel, float accel_max, float dt) |
Static Public Attributes | |
static const struct AP_Param::GroupInfo | var_info [] |
Protected Member Functions | |
Vector3f | update_ang_vel_target_from_att_error (Vector3f attitude_error_rot_vec_rad) |
float | rate_target_to_motor_roll (float rate_actual_rads, float rate_target_rads) |
float | rate_target_to_motor_pitch (float rate_actual_rads, float rate_target_rads) |
virtual float | rate_target_to_motor_yaw (float rate_actual_rads, float rate_target_rads) |
virtual float | get_roll_trim_rad () |
float | get_slew_yaw_rads () |
void | control_monitor_filter_pid (float value, float &rms_P) |
void | control_monitor_update (void) |
Protected Attributes | |
AP_Float | _slew_yaw |
AP_Float | _ang_vel_roll_max |
AP_Float | _ang_vel_pitch_max |
AP_Float | _ang_vel_yaw_max |
AP_Float | _accel_roll_max |
AP_Float | _accel_pitch_max |
AP_Float | _accel_yaw_max |
AP_Int8 | _rate_bf_ff_enabled |
AP_Int8 | _angle_boost_enabled |
AC_P | _p_angle_roll |
AC_P | _p_angle_pitch |
AC_P | _p_angle_yaw |
AP_Float | _angle_limit_tc |
AP_Float | _input_tc |
float | _dt |
Vector3f | _attitude_target_euler_angle |
Vector3f | _attitude_target_euler_rate |
Quaternion | _attitude_target_quat |
Vector3f | _attitude_target_ang_vel |
Vector3f | _rate_target_ang_vel |
Quaternion | _attitude_ang_error |
float | _thrust_error_angle |
float | _throttle_in = 0.0f |
float | _angle_boost |
bool | _use_sqrt_controller |
float | _althold_lean_angle_max = 0.0f |
float | _throttle_rpy_mix_desired |
float | _throttle_rpy_mix |
const AP_AHRS_View & | _ahrs |
const AP_Vehicle::MultiCopter & | _aparm |
AP_Motors & | _motors |
struct { | |
float rms_roll_P | |
float rms_roll_D | |
float rms_pitch_P | |
float rms_pitch_D | |
float rms_yaw | |
} | _control_monitor |
bool | _inverted_flight |
Definition at line 45 of file AC_AttitudeControl.h.
|
inline |
|
inlinevirtual |
Definition at line 67 of file AC_AttitudeControl.h.
void AC_AttitudeControl::accel_limiting | ( | bool | enable_or_disable | ) |
Definition at line 882 of file AC_AttitudeControl.cpp.
Referenced by get_bf_feedforward().
void AC_AttitudeControl::ang_vel_limit | ( | Vector3f & | euler_rad, |
float | ang_vel_roll_max, | ||
float | ang_vel_pitch_max, | ||
float | ang_vel_yaw_max | ||
) | const |
Definition at line 683 of file AC_AttitudeControl.cpp.
Referenced by attitude_controller_run_quat(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_quaternion(), input_shaping_rate_predictor(), and lean_angle_max().
bool AC_AttitudeControl::ang_vel_to_euler_rate | ( | const Vector3f & | euler_rad, |
const Vector3f & | ang_vel_rads, | ||
Vector3f & | euler_rate_rads | ||
) |
Definition at line 764 of file AC_AttitudeControl.cpp.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), and set_yaw_target_to_current_heading().
|
inline |
void AC_AttitudeControl::attitude_controller_run_quat | ( | ) |
Definition at line 526 of file AC_AttitudeControl.cpp.
Referenced by input_angle_step_bf_roll_pitch_yaw(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), and lean_angle_max().
|
inline |
Definition at line 206 of file AC_AttitudeControl.h.
|
inline |
Definition at line 209 of file AC_AttitudeControl.h.
|
protected |
Definition at line 14 of file ControlMonitor.cpp.
Referenced by control_monitor_update().
void AC_AttitudeControl::control_monitor_log | ( | void | ) |
float AC_AttitudeControl::control_monitor_rms_output_pitch | ( | void | ) | const |
Definition at line 81 of file ControlMonitor.cpp.
float AC_AttitudeControl::control_monitor_rms_output_pitch_D | ( | void | ) | const |
Definition at line 97 of file ControlMonitor.cpp.
float AC_AttitudeControl::control_monitor_rms_output_pitch_P | ( | void | ) | const |
Definition at line 89 of file ControlMonitor.cpp.
float AC_AttitudeControl::control_monitor_rms_output_roll | ( | void | ) | const |
Definition at line 57 of file ControlMonitor.cpp.
float AC_AttitudeControl::control_monitor_rms_output_roll_D | ( | void | ) | const |
Definition at line 73 of file ControlMonitor.cpp.
float AC_AttitudeControl::control_monitor_rms_output_roll_P | ( | void | ) | const |
Definition at line 65 of file ControlMonitor.cpp.
float AC_AttitudeControl::control_monitor_rms_output_yaw | ( | void | ) | const |
Definition at line 105 of file ControlMonitor.cpp.
|
protected |
Definition at line 25 of file ControlMonitor.cpp.
Referenced by AC_AttitudeControl_Sub::rate_controller_run(), and AC_AttitudeControl_Multi::rate_controller_run().
Definition at line 706 of file AC_AttitudeControl.cpp.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), and lean_angle_max().
void AC_AttitudeControl::euler_rate_to_ang_vel | ( | const Vector3f & | euler_rad, |
const Vector3f & | euler_rate_rads, | ||
Vector3f & | ang_vel_rads | ||
) |
Definition at line 750 of file AC_AttitudeControl.cpp.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), and set_yaw_target_to_current_heading().
|
inline |
Definition at line 88 of file AC_AttitudeControl.h.
|
inline |
Definition at line 89 of file AC_AttitudeControl.h.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), input_shaping_rate_predictor(), and update_ang_vel_target_from_att_error().
|
inline |
Definition at line 78 of file AC_AttitudeControl.h.
|
inline |
Definition at line 79 of file AC_AttitudeControl.h.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), input_shaping_rate_predictor(), and update_ang_vel_target_from_att_error().
|
inline |
Definition at line 98 of file AC_AttitudeControl.h.
|
inline |
Definition at line 99 of file AC_AttitudeControl.h.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), and update_ang_vel_target_from_att_error().
float AC_AttitudeControl::get_althold_lean_angle_max | ( | ) | const |
Definition at line 903 of file AC_AttitudeControl.cpp.
Referenced by angle_boost(), and AC_PosControl::run_xy_controller().
|
inline |
Definition at line 71 of file AC_AttitudeControl.h.
|
inline |
Definition at line 70 of file AC_AttitudeControl.h.
|
inline |
|
inline |
Definition at line 173 of file AC_AttitudeControl.h.
|
inline |
Definition at line 170 of file AC_AttitudeControl.h.
Referenced by AC_WPNav::get_yaw(), and AC_Loiter::init_target().
|
inline |
|
pure virtual |
Implemented in AC_AttitudeControl_Heli, AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Referenced by control_monitor_update(), get_angle_yaw_p(), max_rate_step_bf_pitch(), rate_target_to_motor_pitch(), relax_attitude_controllers(), and reset_rate_controller_I_terms().
|
pure virtual |
Implemented in AC_AttitudeControl_Heli, AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Referenced by control_monitor_update(), get_angle_yaw_p(), max_rate_step_bf_roll(), rate_target_to_motor_roll(), relax_attitude_controllers(), and reset_rate_controller_I_terms().
|
pure virtual |
Implemented in AC_AttitudeControl_Heli, AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Referenced by control_monitor_update(), get_angle_yaw_p(), max_rate_step_bf_yaw(), rate_target_to_motor_yaw(), relax_attitude_controllers(), and reset_rate_controller_I_terms().
|
inlineprotectedvirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 315 of file AC_AttitudeControl.h.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), and input_euler_angle_roll_pitch_yaw().
|
inlineprotected |
Definition at line 318 of file AC_AttitudeControl.h.
Referenced by input_euler_angle_roll_pitch_yaw().
|
inline |
Definition at line 227 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi.
Definition at line 279 of file AC_AttitudeControl.h.
void AC_AttitudeControl::inertial_frame_reset | ( | ) |
Definition at line 735 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
|
virtual |
Definition at line 501 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
|
virtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 244 of file AC_AttitudeControl.cpp.
Referenced by AC_AttitudeControl_Heli::input_euler_angle_roll_pitch_euler_rate_yaw(), and set_yaw_target_to_current_heading().
|
virtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 295 of file AC_AttitudeControl.cpp.
Referenced by AC_AttitudeControl_Heli::input_euler_angle_roll_pitch_yaw(), and set_yaw_target_to_current_heading().
void AC_AttitudeControl::input_euler_rate_roll_pitch_yaw | ( | float | euler_roll_rate_cds, |
float | euler_pitch_rate_cds, | ||
float | euler_yaw_rate_cds | ||
) |
Definition at line 353 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
void AC_AttitudeControl::input_quaternion | ( | Quaternion | attitude_desired_quat | ) |
Definition at line 210 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
|
virtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 395 of file AC_AttitudeControl.cpp.
Referenced by AC_AttitudeControl_Heli::input_rate_bf_roll_pitch_yaw(), and set_yaw_target_to_current_heading().
void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_2 | ( | float | roll_rate_bf_cds, |
float | pitch_rate_bf_cds, | ||
float | yaw_rate_bf_cds | ||
) |
Definition at line 432 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_3 | ( | float | roll_rate_bf_cds, |
float | pitch_rate_bf_cds, | ||
float | yaw_rate_bf_cds | ||
) |
Definition at line 455 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
|
static |
Definition at line 651 of file AC_AttitudeControl.cpp.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_rate_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), input_shaping_angle(), and lean_angle_max().
|
static |
Definition at line 641 of file AC_AttitudeControl.cpp.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_quaternion(), input_shaping_rate_predictor(), and lean_angle_max().
void AC_AttitudeControl::input_shaping_rate_predictor | ( | Vector2f | error_angle, |
Vector2f & | target_ang_vel, | ||
float | dt | ||
) | const |
Definition at line 664 of file AC_AttitudeControl.cpp.
Referenced by lean_angle_max(), and AC_Loiter::set_pilot_desired_acceleration().
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Definition at line 272 of file AC_AttitudeControl.h.
|
inline |
Definition at line 236 of file AC_AttitudeControl.h.
Referenced by AC_WPNav::AC_WPNav(), AC_Loiter::get_angle_max_cd(), AC_PosControl::get_lean_angle_max_cd(), and AC_Loiter::sanity_check_params().
|
inline |
|
inline |
|
inline |
float AC_AttitudeControl::max_rate_step_bf_pitch | ( | ) |
Definition at line 981 of file AC_AttitudeControl.cpp.
Referenced by max_angle_step_bf_pitch(), and rate_bf_yaw_target().
float AC_AttitudeControl::max_rate_step_bf_roll | ( | ) |
Definition at line 973 of file AC_AttitudeControl.cpp.
Referenced by max_angle_step_bf_roll(), and rate_bf_yaw_target().
float AC_AttitudeControl::max_rate_step_bf_yaw | ( | ) |
Definition at line 989 of file AC_AttitudeControl.cpp.
Referenced by max_angle_step_bf_yaw(), and rate_bf_yaw_target().
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Definition at line 269 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 291 of file AC_AttitudeControl.h.
|
inline |
|
inline |
|
inline |
Definition at line 203 of file AC_AttitudeControl.h.
Referenced by DataFlash_Class::Log_Write_Rate().
|
inline |
|
pure virtual |
Implemented in AC_AttitudeControl_Multi, AC_AttitudeControl_Heli, and AC_AttitudeControl_Sub.
Referenced by set_yaw_target_to_current_heading().
|
protected |
Definition at line 836 of file AC_AttitudeControl.cpp.
Referenced by AC_AttitudeControl_Sub::rate_controller_run(), and AC_AttitudeControl_Multi::rate_controller_run().
|
protected |
Definition at line 813 of file AC_AttitudeControl.cpp.
Referenced by AC_AttitudeControl_Sub::rate_controller_run(), and AC_AttitudeControl_Multi::rate_controller_run().
|
protectedvirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 859 of file AC_AttitudeControl.cpp.
Referenced by AC_AttitudeControl_Sub::rate_controller_run(), and AC_AttitudeControl_Multi::rate_controller_run().
void AC_AttitudeControl::relax_attitude_controllers | ( | ) |
Definition at line 162 of file AC_AttitudeControl.cpp.
Referenced by set_input_tc(), and set_throttle_out_unstabilized().
void AC_AttitudeControl::reset_rate_controller_I_terms | ( | ) |
Definition at line 178 of file AC_AttitudeControl.cpp.
Referenced by set_input_tc().
|
inline |
Definition at line 95 of file AC_AttitudeControl.h.
|
inline |
Definition at line 85 of file AC_AttitudeControl.h.
|
inline |
Definition at line 105 of file AC_AttitudeControl.h.
|
inline |
Definition at line 92 of file AC_AttitudeControl.h.
|
inline |
Definition at line 82 of file AC_AttitudeControl.h.
|
inline |
Definition at line 102 of file AC_AttitudeControl.h.
|
inline |
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 288 of file AC_AttitudeControl.h.
|
inline |
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 294 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Definition at line 276 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Definition at line 277 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Definition at line 275 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Multi.
Definition at line 278 of file AC_AttitudeControl.h.
|
pure virtual |
Implemented in AC_AttitudeControl_Heli, AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Referenced by get_bf_feedforward(), and AC_PosControl::run_z_controller().
void AC_AttitudeControl::set_throttle_out_unstabilized | ( | float | throttle_in, |
bool | reset_attitude_control, | ||
float | filt_cutoff | ||
) |
Definition at line 150 of file AC_AttitudeControl.cpp.
Referenced by get_bf_feedforward().
|
inline |
void AC_AttitudeControl::shift_ef_yaw_target | ( | float | yaw_shift_cd | ) |
Definition at line 726 of file AC_AttitudeControl.cpp.
Referenced by set_yaw_target_to_current_heading().
|
static |
Definition at line 910 of file AC_AttitudeControl.cpp.
Referenced by AC_Loiter::calc_desired_velocity(), AC_Avoid::get_max_speed(), input_shaping_angle(), lean_angle_max(), AC_PosControl::run_z_controller(), and update_ang_vel_target_from_att_error().
|
static |
Definition at line 945 of file AC_AttitudeControl.cpp.
Referenced by lean_angle_max().
void AC_AttitudeControl::thrust_heading_rotation_angles | ( | Quaternion & | att_to_quat, |
const Quaternion & | att_from_quat, | ||
Vector3f & | att_diff_angle, | ||
float & | thrust_vec_dot | ||
) |
Definition at line 584 of file AC_AttitudeControl.cpp.
Referenced by attitude_controller_run_quat(), and lean_angle_max().
|
pure virtual |
Implemented in AC_AttitudeControl_Heli, AC_AttitudeControl_Multi, and AC_AttitudeControl_Sub.
Referenced by get_bf_feedforward().
|
protected |
Definition at line 783 of file AC_AttitudeControl.cpp.
Referenced by attitude_controller_run_quat(), input_rate_bf_roll_pitch_yaw_3(), and AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw().
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 282 of file AC_AttitudeControl.h.
|
inlinevirtual |
Reimplemented in AC_AttitudeControl_Heli.
Definition at line 285 of file AC_AttitudeControl.h.
|
inline |
Definition at line 164 of file AC_AttitudeControl.h.
|
protected |
Definition at line 332 of file AC_AttitudeControl.h.
Referenced by accel_limiting(), get_accel_pitch_max(), get_accel_pitch_max_radss(), save_accel_pitch_max(), and set_accel_pitch_max().
|
protected |
Definition at line 329 of file AC_AttitudeControl.h.
Referenced by accel_limiting(), get_accel_roll_max(), get_accel_roll_max_radss(), save_accel_roll_max(), and set_accel_roll_max().
|
protected |
Definition at line 335 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::AC_AttitudeControl_Sub(), accel_limiting(), get_accel_yaw_max(), get_accel_yaw_max_radss(), save_accel_yaw_max(), and set_accel_yaw_max().
|
protected |
Definition at line 406 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), AC_AttitudeControl_Sub::get_throttle_boosted(), AC_AttitudeControl_Multi::get_throttle_boosted(), inertial_frame_reset(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::integrate_bf_rate_error_to_angle_errors(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), AC_AttitudeControl_Sub::rate_controller_run(), AC_AttitudeControl_Heli::rate_controller_run(), AC_AttitudeControl_Multi::rate_controller_run(), relax_attitude_controllers(), set_attitude_target_to_current_attitude(), and set_yaw_target_to_current_heading().
|
protected |
Definition at line 397 of file AC_AttitudeControl.h.
Referenced by get_althold_lean_angle_max(), AC_AttitudeControl_Sub::update_althold_lean_angle_max(), AC_AttitudeControl_Multi::update_althold_lean_angle_max(), and AC_AttitudeControl_Heli::update_althold_lean_angle_max().
|
protected |
Definition at line 325 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_quaternion(), and input_shaping_rate_predictor().
|
protected |
Definition at line 324 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_quaternion(), and input_shaping_rate_predictor().
|
protected |
Definition at line 326 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), and input_quaternion().
|
protected |
Definition at line 390 of file AC_AttitudeControl.h.
Referenced by angle_boost(), AC_AttitudeControl_Sub::get_throttle_boosted(), AC_AttitudeControl_Multi::get_throttle_boosted(), AC_AttitudeControl_Sub::set_throttle_out(), AC_AttitudeControl_Multi::set_throttle_out(), AC_AttitudeControl_Heli::set_throttle_out(), and set_throttle_out_unstabilized().
|
protected |
Definition at line 341 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::get_throttle_boosted(), and AC_AttitudeControl_Multi::get_throttle_boosted().
|
protected |
Definition at line 349 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::update_althold_lean_angle_max(), AC_AttitudeControl_Multi::update_althold_lean_angle_max(), and AC_AttitudeControl_Heli::update_althold_lean_angle_max().
|
protected |
Definition at line 407 of file AC_AttitudeControl.h.
Referenced by lean_angle_max().
|
protected |
Definition at line 380 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), inertial_frame_reset(), and input_rate_bf_roll_pitch_yaw_3().
|
protected |
Definition at line 373 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), input_angle_step_bf_roll_pitch_yaw(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::integrate_bf_rate_error_to_angle_errors(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), and relax_attitude_controllers().
|
protected |
Definition at line 359 of file AC_AttitudeControl.h.
Referenced by get_att_target_euler_cd(), inertial_frame_reset(), input_angle_step_bf_roll_pitch_yaw(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), relax_attitude_controllers(), and set_yaw_target_to_current_heading().
|
protected |
Definition at line 364 of file AC_AttitudeControl.h.
Referenced by input_angle_step_bf_roll_pitch_yaw(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), and input_rate_bf_roll_pitch_yaw_3().
|
protected |
Definition at line 368 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), inertial_frame_reset(), input_angle_step_bf_roll_pitch_yaw(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), relax_attitude_controllers(), set_attitude_target_to_current_attitude(), and shift_ef_yaw_target().
struct { ... } AC_AttitudeControl::_control_monitor |
Referenced by control_monitor_log(), control_monitor_rms_output_pitch(), control_monitor_rms_output_pitch_D(), control_monitor_rms_output_pitch_P(), control_monitor_rms_output_roll(), control_monitor_rms_output_roll_D(), control_monitor_rms_output_roll_P(), control_monitor_rms_output_yaw(), and control_monitor_update().
|
protected |
Definition at line 355 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::integrate_bf_rate_error_to_angle_errors(), max_rate_step_bf_pitch(), max_rate_step_bf_roll(), max_rate_step_bf_yaw(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), AC_AttitudeControl_Sub::update_althold_lean_angle_max(), AC_AttitudeControl_Multi::update_althold_lean_angle_max(), AC_AttitudeControl_Heli::update_althold_lean_angle_max(), update_ang_vel_target_from_att_error(), AC_AttitudeControl_Sub::update_throttle_rpy_mix(), and AC_AttitudeControl_Multi::update_throttle_rpy_mix().
|
protected |
Definition at line 352 of file AC_AttitudeControl.h.
Referenced by input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_quaternion(), input_shaping_rate_predictor(), and set_input_tc().
|
protected |
Definition at line 427 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Heli::input_euler_angle_roll_pitch_euler_rate_yaw(), AC_AttitudeControl_Heli::input_euler_angle_roll_pitch_yaw(), and AC_AttitudeControl_Heli::set_inverted_flight().
|
protected |
Definition at line 408 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::get_throttle_avg_max(), AC_AttitudeControl_Multi::get_throttle_avg_max(), max_rate_step_bf_pitch(), max_rate_step_bf_roll(), max_rate_step_bf_yaw(), AC_AttitudeControl_Heli::rate_bf_to_motor_roll_pitch(), AC_AttitudeControl_Sub::rate_controller_run(), AC_AttitudeControl_Heli::rate_controller_run(), AC_AttitudeControl_Multi::rate_controller_run(), rate_target_to_motor_pitch(), rate_target_to_motor_roll(), AC_AttitudeControl_Heli::rate_target_to_motor_yaw(), rate_target_to_motor_yaw(), AC_AttitudeControl_Sub::set_throttle_out(), AC_AttitudeControl_Multi::set_throttle_out(), AC_AttitudeControl_Heli::set_throttle_out(), and set_throttle_out_unstabilized().
|
protected |
Definition at line 345 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::AC_AttitudeControl_Sub(), get_angle_pitch_p(), input_shaping_rate_predictor(), max_angle_step_bf_pitch(), and update_ang_vel_target_from_att_error().
|
protected |
Definition at line 344 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::AC_AttitudeControl_Sub(), get_angle_roll_p(), input_shaping_rate_predictor(), max_angle_step_bf_roll(), and update_ang_vel_target_from_att_error().
|
protected |
Definition at line 346 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::AC_AttitudeControl_Sub(), get_angle_yaw_p(), max_angle_step_bf_yaw(), thrust_heading_rotation_angles(), and update_ang_vel_target_from_att_error().
|
protected |
Definition at line 338 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), bf_feedforward(), bf_feedforward_save(), get_bf_feedforward(), input_euler_angle_roll_pitch_euler_rate_yaw(), input_euler_angle_roll_pitch_yaw(), input_euler_rate_roll_pitch_yaw(), input_quaternion(), input_rate_bf_roll_pitch_yaw(), and input_shaping_rate_predictor().
|
protected |
Definition at line 377 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), input_rate_bf_roll_pitch_yaw_2(), input_rate_bf_roll_pitch_yaw_3(), AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw(), rate_bf_pitch_target(), rate_bf_roll_target(), rate_bf_targets(), rate_bf_yaw_target(), AC_AttitudeControl_Sub::rate_controller_run(), AC_AttitudeControl_Heli::rate_controller_run(), AC_AttitudeControl_Multi::rate_controller_run(), and relax_attitude_controllers().
|
protected |
Definition at line 321 of file AC_AttitudeControl.h.
Referenced by get_slew_yaw_rads().
|
protected |
Definition at line 386 of file AC_AttitudeControl.h.
Referenced by get_throttle_in(), AC_AttitudeControl_Sub::set_throttle_out(), AC_AttitudeControl_Multi::set_throttle_out(), AC_AttitudeControl_Heli::set_throttle_out(), set_throttle_out_unstabilized(), AC_AttitudeControl_Sub::update_althold_lean_angle_max(), AC_AttitudeControl_Multi::update_althold_lean_angle_max(), and AC_AttitudeControl_Heli::update_althold_lean_angle_max().
|
protected |
Definition at line 403 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::get_throttle_avg_max(), AC_AttitudeControl_Multi::get_throttle_avg_max(), AC_AttitudeControl_Multi::get_throttle_mix(), AC_AttitudeControl_Sub::is_throttle_mix_min(), AC_AttitudeControl_Multi::is_throttle_mix_min(), AC_AttitudeControl_Multi::set_throttle_mix_value(), AC_AttitudeControl_Sub::update_throttle_rpy_mix(), and AC_AttitudeControl_Multi::update_throttle_rpy_mix().
|
protected |
Definition at line 400 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl_Sub::set_throttle_mix_man(), AC_AttitudeControl_Multi::set_throttle_mix_man(), AC_AttitudeControl_Sub::set_throttle_mix_max(), AC_AttitudeControl_Multi::set_throttle_mix_max(), AC_AttitudeControl_Sub::set_throttle_mix_min(), AC_AttitudeControl_Multi::set_throttle_mix_min(), AC_AttitudeControl_Multi::set_throttle_mix_value(), AC_AttitudeControl_Sub::update_throttle_rpy_mix(), and AC_AttitudeControl_Multi::update_throttle_rpy_mix().
|
protected |
Definition at line 383 of file AC_AttitudeControl.h.
Referenced by attitude_controller_run_quat(), get_att_error_angle_deg(), and AC_AttitudeControl_Heli::passthrough_bf_roll_pitch_rate_yaw().
|
protected |
Definition at line 394 of file AC_AttitudeControl.h.
Referenced by update_ang_vel_target_from_att_error(), and use_sqrt_controller().
float AC_AttitudeControl::rms_pitch_D |
Definition at line 418 of file AC_AttitudeControl.h.
float AC_AttitudeControl::rms_pitch_P |
Definition at line 417 of file AC_AttitudeControl.h.
float AC_AttitudeControl::rms_roll_D |
Definition at line 416 of file AC_AttitudeControl.h.
float AC_AttitudeControl::rms_roll_P |
Definition at line 415 of file AC_AttitudeControl.h.
float AC_AttitudeControl::rms_yaw |
Definition at line 419 of file AC_AttitudeControl.h.
|
static |
Definition at line 297 of file AC_AttitudeControl.h.
Referenced by AC_AttitudeControl().