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

A pose controller that keeps a pose relative to some feedback pose. More...

#include <relative_pose_controller.h>

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

Public Member Functions

 RelativePoseController (PoseControllerConfig config)
 Constructor. More...
 
virtual ~RelativePoseController ()
 Destructor. More...
 
- Public Member Functions inherited from Controller< std::tuple< tf::Transform, tf::Transform >, tf::Transform, tf::Transform >
virtual bool run (std::tuple< tf::Transform, tf::Transform >sensor_data, tf::Transform &control)
 Run the control loop and return control arguments. More...
 
ControllerStatus isConverged (std::tuple< tf::Transform, tf::Transform >sensor_data)
 Check if controller is converged. More...
 
virtual void setGoal (tf::Transformgoal)
 set the goal condition for the controller. Should use internal locking as the run function can be called from a separate thread More...
 
virtual tf::Transform 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 (std::tuple< tf::Transform, tf::Transform > sensor_data, tf::Transform goal, tf::Transform &control)
 Run the control loop. Uses a pose controller to keep a desired pose relative to a tracked pose. More...
 
virtual ControllerStatus isConvergedImplementation (std::tuple< tf::Transform, tf::Transform > sensor_data, tf::Transform goal)
 Check if controller converged. More...
 

Detailed Description

A pose controller that keeps a pose relative to some feedback pose.

Constructor & Destructor Documentation

RelativePoseController::RelativePoseController ( PoseControllerConfig  config)
inline

Constructor.

virtual RelativePoseController::~RelativePoseController ( )
inlinevirtual

Destructor.

Member Function Documentation

ControllerStatus RelativePoseController::isConvergedImplementation ( std::tuple< tf::Transform, tf::Transform >  sensor_data,
tf::Transform  goal 
)
protectedvirtual

Check if controller converged.

Parameters
sensor_dataCurrent control pose and tracked pose
goalGoal relative pose in tracked pose frame
Returns
controller status that contains an enum and debug information.

Implements Controller< std::tuple< tf::Transform, tf::Transform >, tf::Transform, tf::Transform >.

bool RelativePoseController::runImplementation ( std::tuple< tf::Transform, tf::Transform >  sensor_data,
tf::Transform  goal,
tf::Transform &  control 
)
protectedvirtual

Run the control loop. Uses a pose controller to keep a desired pose relative to a tracked pose.

Parameters
sensor_dataPose of controlled point and pose of tracked pose
goalGoal relative pose in tracked pose frame
controlPose command
Returns
True if controller is successful in running

Implements Controller< std::tuple< tf::Transform, tf::Transform >, tf::Transform, tf::Transform >.


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