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
ConstantHeadingDepthController Class Reference

A position controller that keeps a constant heading while attempting to keep a certain distance from the feedback position. More...

#include <constant_heading_depth_controller.h>

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

Public Member Functions

 ConstantHeadingDepthController ()
 Constructor with default configuration. More...
 
 ConstantHeadingDepthController (ConstantHeadingDepthControllerConfig config)
 Constructor which takes a configuration. More...
 
virtual ~ConstantHeadingDepthController ()
 Destructor. More...
 
- Public Member Functions inherited from Controller< PositionYaw, Position, VelocityYawRate >
virtual bool run (PositionYawsensor_data, VelocityYawRate &control)
 Run the control loop and return control arguments. More...
 
ControllerStatus isConverged (PositionYawsensor_data)
 Check if controller is converged. More...
 
virtual void setGoal (Positiongoal)
 set the goal condition for the controller. Should use internal locking as the run function can be called from a separate thread More...
 
virtual Position 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, Position goal, VelocityYawRate &control)
 Run the control loop. Uses a velocity controller to keep a desired distance from a tracked point. More...
 
virtual ControllerStatus isConvergedImplementation (PositionYaw sensor_data, Position goal)
 Check if controller converged. More...
 

Protected Attributes

ConstantHeadingDepthControllerConfig config_
 Controller configuration. More...
 

Detailed Description

A position controller that keeps a constant heading while attempting to keep a certain distance from the feedback position.

Constructor & Destructor Documentation

ConstantHeadingDepthController::ConstantHeadingDepthController ( )
inline

Constructor with default configuration.

ConstantHeadingDepthController::ConstantHeadingDepthController ( ConstantHeadingDepthControllerConfig  config)
inline

Constructor which takes a configuration.

virtual ConstantHeadingDepthController::~ConstantHeadingDepthController ( )
inlinevirtual

Destructor.

Member Function Documentation

ControllerStatus ConstantHeadingDepthController::isConvergedImplementation ( PositionYaw  sensor_data,
Position  goal 
)
protectedvirtual

Check if controller converged.

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

Implements Controller< PositionYaw, Position, VelocityYawRate >.

bool ConstantHeadingDepthController::runImplementation ( PositionYaw  sensor_data,
Position  goal,
VelocityYawRate control 
)
protectedvirtual

Run the control loop. Uses a velocity controller to keep a desired distance from a tracked point.

Parameters
sensor_dataCurrent direction vector multiplied times distance
goalGoal direction vector multiplied times distance
controlVelocity command to send to hardware
Returns
True if Controller is successful in running

Implements Controller< PositionYaw, Position, VelocityYawRate >.

Member Data Documentation

ConstantHeadingDepthControllerConfig ConstantHeadingDepthController::config_
protected

Controller configuration.


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