MAV'RIC
|
Velocity controller for hovering platforms. More...
#include <velocity_controller.hpp>
Classes | |
struct | args_t |
Required arguments. More... | |
struct | conf_t |
Velocity controller configuration. More... | |
Public Types | |
enum | control_frame_t { LOCAL_FRAME = 0, SEMILOCAL_FRAME = 1, BODY_FRAME = 2 } |
Reference frame in which the control is done. More... | |
Public Member Functions | |
Velocity_controller (const args_t &args, const conf_t &config) | |
Constructor. | |
bool | update (void) |
Main update function. | |
bool | set_command (const velocity_command_t &vel) |
Sets the input command. | |
bool | get_command (velocity_command_t &vel) const |
Returns the input command. | |
bool | get_output (attitude_command_t &att) const |
Returns the output command. | |
bool | get_output (thrust_command_t &thrust) const |
Returns the output command. | |
pid_controller_t & | get_pid_X (void) |
Gives acces to internal pid_controller. | |
pid_controller_t & | get_pid_Y (void) |
pid_controller_t & | get_pid_Z (void) |
Protected Member Functions | |
virtual bool | compute_attitude_and_thrust_from_desired_accel (const std::array< float, 3 > &accel_vector, attitude_command_t &attitude_command, thrust_command_t &thrust_command)=0 |
Computes attitude and thrust command based on desired acceleration. Depends on robot dynamics. | |
Protected Attributes | |
const AHRS & | ahrs_ |
Pointer to attitude estimation (input) | |
const INS & | ins_ |
Speed and position estimation (input) | |
velocity_command_t & | velocity_command_ |
Velocity command (input) | |
attitude_command_t & | attitude_command_ |
Attitude command (output) | |
thrust_command_t & | thrust_command_ |
Thrust command (output) | |
control_frame_t | control_frame_ |
Reference frame in which the control is don. | |
pid_controller_t | pid_ [3] |
PID controller for velocity along X, Y and Z in global frame. |
Velocity controller for hovering platforms.
Velocity_controller::Velocity_controller | ( | const args_t & | args, |
const conf_t & | config | ||
) |
Constructor.
args | Required arguments |
config | Configuration |
virtual bool Velocity_controller::compute_attitude_and_thrust_from_desired_accel | ( | const std::array< float, 3 > & | accel_vector, |
attitude_command_t & | attitude_command, | ||
thrust_command_t & | thrust_command | ||
) | [protected, pure virtual] |
Computes attitude and thrust command based on desired acceleration. Depends on robot dynamics.
accel_vector | Desired acceleration vectors (input) |
attitude_command | Attitude command (output) |
thrust_command | Thrust command (output) |
Implemented in Velocity_controller_copter, and Velocity_controller_holonomic.
bool Velocity_controller::get_command | ( | velocity_command_t & | vel | ) | const [virtual] |
Returns the input command.
command | Input command |
Implements Controller_1_to_2< velocity_command_t, attitude_command_t, thrust_command_t >.
bool Velocity_controller::get_output | ( | attitude_command_t & | att | ) | const [virtual] |
Returns the output command.
command | output command |
Implements Controller_1_to_2< velocity_command_t, attitude_command_t, thrust_command_t >.
bool Velocity_controller::get_output | ( | thrust_command_t & | thrust | ) | const [virtual] |
Returns the output command.
command | output command |
Implements Controller_1_to_2< velocity_command_t, attitude_command_t, thrust_command_t >.
pid_controller_t & Velocity_controller::get_pid_X | ( | void | ) |
Gives acces to internal pid_controller.
bool Velocity_controller::set_command | ( | const velocity_command_t & | vel | ) | [virtual] |
Sets the input command.
command | Input command |
Implements Controller_1_to_2< velocity_command_t, attitude_command_t, thrust_command_t >.
bool Velocity_controller::update | ( | void | ) | [virtual] |
Main update function.
Implements Controller_1_to_2< velocity_command_t, attitude_command_t, thrust_command_t >.