ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
visual_servoing_controller_arm_connector.h
Go to the documentation of this file.
1 #pragma once
5 
6 #include <arm_parsers/arm_parser.h>
7 
8 #include <parsernode/parser.h>
9 
10 #include <tf/tf.h>
11 
18  std::tuple<tf::Transform, tf::Transform>, tf::Transform,
19  tf::Transform> {
20 public:
25  parsernode::Parser &drone_hardware,
26  ArmParser &arm_hardware,
27  RelativePoseController &controller,
28  tf::Transform camera_transform,
29  tf::Transform arm_transform)
31  drone_hardware_(drone_hardware), arm_hardware_(arm_hardware),
32  tracker_(tracker), camera_transform_(camera_transform),
33  arm_transform_(arm_transform) {}
38 
45  bool getTrackingPoseArmFrame(tf::Transform &tracking_pose);
46 
47 protected:
56  virtual bool
57  extractSensorData(std::tuple<tf::Transform, tf::Transform> &sensor_data);
58 
64  virtual void sendHardwareCommands(tf::Transform controls);
65 
66 private:
70  parsernode::Parser &drone_hardware_;
74  ArmParser &arm_hardware_;
78  BaseTracker &tracker_;
82  tf::Transform camera_transform_;
86  tf::Transform arm_transform_;
87 };
virtual ~VisualServoingControllerArmConnector()
Destructor.
Definition: visual_servoing_controller_arm_connector.h:37
Interface for classes that provide a vector to a tracked target.
Definition: base_tracker.h:13
Performs a single step of extracting data, running controller and sending data back to hardware...
Definition: base_controller_hardware_connector.h:53
virtual void sendHardwareCommands(tf::Transform controls)
Send position commands to hardware.
Definition: visual_servoing_controller_arm_connector.cpp:21
VisualServoingControllerArmConnector(BaseTracker &tracker, parsernode::Parser &drone_hardware, ArmParser &arm_hardware, RelativePoseController &controller, tf::Transform camera_transform, tf::Transform arm_transform)
Constructor.
Definition: visual_servoing_controller_arm_connector.h:24
A pose controller that keeps a pose relative to some feedback pose.
Definition: relative_pose_controller.h:14
HardwareType
Type of hardware used by ControllerHardwareConnector. Enum ID must be contiguous. ...
Definition: base_controller_hardware_connector.h:11
A visual servoing controller that uses a tracker output as feedback and moves the arm to a goal pose ...
Definition: visual_servoing_controller_arm_connector.h:16
virtual bool extractSensorData(std::tuple< tf::Transform, tf::Transform > &sensor_data)
Extracts pose data from ROI.
Definition: visual_servoing_controller_arm_connector.cpp:4
bool getTrackingPoseArmFrame(tf::Transform &tracking_pose)
Get the tracking pose of the tracker in the arm frame.
Definition: visual_servoing_controller_arm_connector.cpp:30