ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
visual_servoing_controller_drone_connector.h
Go to the documentation of this file.
1 #pragma once
7 #include "uav_vision_system_config.pb.h"
8 
9 #include <parsernode/parser.h>
10 
11 #include <tf/tf.h>
12 
17  : public ControllerHardwareConnector<PositionYaw, Position,
18  VelocityYawRate> {
19 public:
24  BaseTracker &tracker, parsernode::Parser &drone_hardware,
26  tf::Transform camera_transform)
28  drone_hardware_(drone_hardware), tracker_(tracker),
29  camera_transform_(camera_transform) {}
34 
41  bool getTrackingVectorGlobalFrame(Position &tracking_vector);
42 
43 protected:
51  virtual bool extractSensorData(PositionYaw &sensor_data);
52 
58  virtual void sendHardwareCommands(VelocityYawRate controls);
59 
60 private:
65  tf::Matrix3x3 getBodyFrameRotation();
66 
70  parsernode::Parser &drone_hardware_;
74  BaseTracker &tracker_;
78  tf::Transform camera_transform_;
79 };
virtual bool extractSensorData(PositionYaw &sensor_data)
Extracts pose data from ROI.
Definition: visual_servoing_controller_drone_connector.cpp:3
VisualServoingControllerDroneConnector(BaseTracker &tracker, parsernode::Parser &drone_hardware, ConstantHeadingDepthController &controller, tf::Transform camera_transform)
Constructor.
Definition: visual_servoing_controller_drone_connector.h:23
bool getTrackingVectorGlobalFrame(Position &tracking_vector)
Get the tracking vector of the RoiToPositionConverter in the global frame.
Definition: visual_servoing_controller_drone_connector.cpp:25
Only aerial vehicle.
Stores Position, yaw. PositionYaw is used as the goal for UAV systems.
Definition: position_yaw.h:10
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
A visual servoing controller that uses a tracker output as feedback.
Definition: visual_servoing_controller_drone_connector.h:16
Store velocity and yaw rate.
Definition: velocity_yaw_rate.h:7
virtual ~VisualServoingControllerDroneConnector()
Destructor.
Definition: visual_servoing_controller_drone_connector.h:33
A position controller that keeps a constant heading while attempting to keep a certain distance from ...
Definition: constant_heading_depth_controller.h:12
virtual void sendHardwareCommands(VelocityYawRate controls)
Send velocity commands to hardware.
Definition: visual_servoing_controller_drone_connector.cpp:16
Store 3D position.
Definition: position.h:8
HardwareType
Type of hardware used by ControllerHardwareConnector. Enum ID must be contiguous. ...
Definition: base_controller_hardware_connector.h:11