PX4 Firmware
PX4 Autopilot Software http://px4.io
ECL_RollController Class Reference

#include <ecl_roll_controller.h>

Inheritance diagram for ECL_RollController:
Collaboration diagram for ECL_RollController:

Public Member Functions

 ECL_RollController ()=default
 
 ~ECL_RollController ()=default
 
float control_attitude (const struct ECL_ControlData &ctl_data) override
 
float control_euler_rate (const struct ECL_ControlData &ctl_data) override
 
float control_bodyrate (const struct ECL_ControlData &ctl_data) override
 
- Public Member Functions inherited from ECL_Controller
 ECL_Controller ()
 
virtual ~ECL_Controller ()=default
 
void set_time_constant (float time_constant)
 
void set_k_p (float k_p)
 
void set_k_i (float k_i)
 
void set_k_ff (float k_ff)
 
void set_integrator_max (float max)
 
void set_max_rate (float max_rate)
 
void set_bodyrate_setpoint (float rate)
 
float get_rate_error ()
 
float get_desired_rate ()
 
float get_desired_bodyrate ()
 
float get_integrator ()
 
void reset_integrator ()
 

Additional Inherited Members

- Protected Member Functions inherited from ECL_Controller
float constrain_airspeed (float airspeed, float minspeed, float maxspeed)
 
- Protected Attributes inherited from ECL_Controller
uint64_t _last_run
 
float _tc
 
float _k_p
 
float _k_i
 
float _k_ff
 
float _integrator_max
 
float _max_rate
 
float _last_output
 
float _integrator
 
float _rate_error
 
float _rate_setpoint
 
float _bodyrate_setpoint
 

Detailed Description

Definition at line 54 of file ecl_roll_controller.h.

Constructor & Destructor Documentation

◆ ECL_RollController()

ECL_RollController::ECL_RollController ( )
default

◆ ~ECL_RollController()

ECL_RollController::~ECL_RollController ( )
default

Member Function Documentation

◆ control_attitude()

float ECL_RollController::control_attitude ( const struct ECL_ControlData ctl_data)
overridevirtual

◆ control_bodyrate()

float ECL_RollController::control_bodyrate ( const struct ECL_ControlData ctl_data)
overridevirtual

Implements ECL_Controller.

Definition at line 62 of file ecl_roll_controller.cpp.

References ECL_Controller::_bodyrate_setpoint, ECL_Controller::_integrator, ECL_Controller::_integrator_max, ECL_Controller::_k_ff, ECL_Controller::_k_i, ECL_Controller::_k_p, ECL_Controller::_last_output, ECL_Controller::_last_run, ECL_Controller::_rate_error, ECL_ControlData::airspeed_max, ECL_ControlData::airspeed_min, ECL_ControlData::body_x_rate, ECL_ControlData::body_z_rate, math::constrain(), dt, ecl_absolute_time, ecl_elapsed_time, f(), ISFINITE, ECL_ControlData::lock_integrator, math::max(), math::min(), ECL_ControlData::pitch, ECL_ControlData::scaler, and ECL_ControlData::yaw_rate_setpoint.

Referenced by control_euler_rate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ control_euler_rate()

float ECL_RollController::control_euler_rate ( const struct ECL_ControlData ctl_data)
overridevirtual

Implements ECL_Controller.

Definition at line 118 of file ecl_roll_controller.cpp.

References ECL_Controller::_bodyrate_setpoint, control_bodyrate(), ECL_ControlData::pitch, ECL_ControlData::roll_rate_setpoint, ECL_Controller::set_bodyrate_setpoint(), and ECL_ControlData::yaw_rate_setpoint.

Here is the call graph for this function:

The documentation for this class was generated from the following files: