ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
VelocityBasedPositionController Class Reference

A position controller that sends velocity commands to the hardware. More...

#include <velocity_based_position_controller.h>

Inheritance diagram for VelocityBasedPositionController:
Inheritance graph
[legend]
Collaboration diagram for VelocityBasedPositionController:
Collaboration graph
[legend]

Public Member Functions

 VelocityBasedPositionController ()
 Constructor with default configuration. More...
 
 VelocityBasedPositionController (VelocityBasedPositionControllerConfig config)
 Constructor which takes a configuration. More...
 
virtual ~VelocityBasedPositionController ()
 Destructor. More...
 
- Public Member Functions inherited from Controller< PositionYaw, PositionYaw, VelocityYaw >
virtual bool run (PositionYawsensor_data, VelocityYaw &control)
 Run the control loop and return control arguments. More...
 
ControllerStatus isConverged (PositionYawsensor_data)
 Check if controller is converged. More...
 
virtual void setGoal (PositionYawgoal)
 set the goal condition for the controller. Should use internal locking as the run function can be called from a separate thread More...
 
virtual PositionYaw getGoal () const
 get the goal condition for the controller. Should use internal locking as the run function can be called from a separate thread More...
 
virtual ~Controller ()
 Destructor. More...
 

Protected Member Functions

virtual bool runImplementation (PositionYaw sensor_data, PositionYaw goal, VelocityYaw &control)
 Run the control loop. Uses a velocity controller to achieve the desired position. More...
 
virtual ControllerStatus isConvergedImplementation (PositionYaw sensor_data, PositionYaw goal)
 Check if velocity based position controller converged. More...
 

Protected Attributes

VelocityBasedPositionControllerConfig config_
 Controller configuration. More...
 

Detailed Description

A position controller that sends velocity commands to the hardware.

Constructor & Destructor Documentation

VelocityBasedPositionController::VelocityBasedPositionController ( )
inline

Constructor with default configuration.

VelocityBasedPositionController::VelocityBasedPositionController ( VelocityBasedPositionControllerConfig  config)
inline

Constructor which takes a configuration.

virtual VelocityBasedPositionController::~VelocityBasedPositionController ( )
inlinevirtual

Destructor.

Member Function Documentation

ControllerStatus VelocityBasedPositionController::isConvergedImplementation ( PositionYaw  sensor_data,
PositionYaw  goal 
)
protectedvirtual

Check if velocity based position controller converged.

Parameters
sensor_dataCurrent position yaw
goalGoal position yaw
Returns
controller status that contains an enum and debug information.

Implements Controller< PositionYaw, PositionYaw, VelocityYaw >.

bool VelocityBasedPositionController::runImplementation ( PositionYaw  sensor_data,
PositionYaw  goal,
VelocityYaw control 
)
protectedvirtual

Run the control loop. Uses a velocity controller to achieve the desired position.

Parameters
sensor_dataCurrent position
goalGoal position
controlVelocity command to send to hardware
Returns
true if velocity command to reach goal is found

Implements Controller< PositionYaw, PositionYaw, VelocityYaw >.

Member Data Documentation

VelocityBasedPositionControllerConfig VelocityBasedPositionController::config_
protected

Controller configuration.


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