marker_manager.h
Go to the documentation of this file.
00001 
00018 #include <QMetaType>
00019 
00020 
00021 #include <QThread>
00022 #ifndef Q_MOC_RUN
00023 #include <asr_msgs/AsrObject.h>
00024 #include <Eigen/Core>
00025 #include <Eigen/Geometry>
00026 #include <ros/ros.h>
00027 #include <tf/transform_datatypes.h>
00028 #include <eigen_conversions/eigen_msg.h>
00029 #include <asr_aruco_marker_recognition/GetRecognizer.h>
00030 #include <asr_aruco_marker_recognition/ReleaseRecognizer.h>
00031 #endif
00032 
00033 
00034 
00035 class Marker_Manager : public QThread
00036 {
00037     Q_OBJECT
00038     public:
00039       Marker_Manager(double timeout, double earlyabort_timeout, QObject *parent=0);
00040       void run();
00041       void markerRecognitionCallback(const asr_msgs::AsrObject::ConstPtr object);
00042 
00043     private:
00044       ros::ServiceClient client_ReleaseRecognizer;
00045       ros::ServiceClient client_GetRecognizer;
00046       ros::NodeHandle nh;
00047 
00048       bool releaseRecognizer();
00049       bool getRecognizer();
00050       bool recognizedMarker;
00051       ros::Subscriber a;
00052       double timeout;
00053       double earlyabort_timeout;
00054     signals:
00055       void markerFound(std::string markerNumber, const Eigen::Matrix4d &transformation);
00056 };
00057 


asr_mild_calibration_tool
Author(s): Aumann Florian, Heller Florian, Meißner Pascal
autogenerated on Thu Jun 6 2019 21:22:44