ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
relative_pose_controller.h
Go to the documentation of this file.
1 #pragma once
4 #include "pose_controller_config.pb.h"
5 
6 #include <tuple>
7 
8 #include <tf/tf.h>
9 
15  : public Controller<std::tuple<tf::Transform, tf::Transform>, tf::Transform,
16  tf::Transform> {
17 public:
21  RelativePoseController(PoseControllerConfig config) : config_(config) {}
26 
27 protected:
37  virtual bool
38  runImplementation(std::tuple<tf::Transform, tf::Transform> sensor_data,
39  tf::Transform goal, tf::Transform &control);
49  std::tuple<tf::Transform, tf::Transform> sensor_data, tf::Transform goal);
50 
51 private:
55  PoseControllerConfig config_;
56 };
Base Controller class.
Definition: base_controller.h:18
RelativePoseController(PoseControllerConfig config)
Constructor.
Definition: relative_pose_controller.h:21
Status of the controller.
Definition: controller_status.h:10
virtual ControllerStatus isConvergedImplementation(std::tuple< tf::Transform, tf::Transform > sensor_data, tf::Transform goal)
Check if controller converged.
Definition: relative_pose_controller.cpp:11
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...
Definition: relative_pose_controller.cpp:4
A pose controller that keeps a pose relative to some feedback pose.
Definition: relative_pose_controller.h:14
virtual ~RelativePoseController()
Destructor.
Definition: relative_pose_controller.h:25