Go to the documentation of this file.00001
00008 #include <ros/package.h>
00009 #include <ros/ros.h>
00010
00011 #ifndef UCL_DRONE_H
00012 #define UCL_DRONE_H
00013
00014 #define PI 3.14159265
00015
00017 #define EMERGENCY_STOP 0
00018 #define STAY_IDDLE 1
00019 #define GO_TO 2
00020 #define EXPLORE_AND_MAP 3
00021 #define EXPLORE_UNTIL_TARGET 4
00022
00024 #define WAIT 0
00025 #define TAKE_OFF 1
00026 #define SEEK 2
00027 #define GOTO 3
00028 #define LAND 4
00029 #define FOLLOW 5
00030 #define BACK_HOME 6
00031
00033 #define SIDE 1
00034
00035
00036
00037
00038 #define TYPE_SIFT 1
00039 #define TYPE_FAST 2
00040 #define TYPE_SURF 3
00041 #define TYPE_SURF_128 4
00042 #define TYPE_STAR 5
00043 #define TYPE_BRISK 6
00044 #define TYPE_ORB 7
00045 #define TYPE_SURF_GPU 8
00046 #define TYPE_FREAK 9
00047
00048 #define DETECTOR_TYPE TYPE_SURF //!< Keypoint detector used in computer_vision
00049
00050
00051 #define EXTRACTOR_TYPE TYPE_SIFT //!< Keypoint descriptor used in computer_vision and mapping
00052
00053
00054
00055 #if EXTRACTOR_TYPE == TYPE_SURF
00056 #define DESCRIPTOR_SIZE 64
00057 #elif EXTRACTOR_TYPE == TYPE_ORB
00058 #define DESCRIPTOR_SIZE 32
00059 #else
00060 #define DESCRIPTOR_SIZE 128
00061 #endif
00062
00063
00064 #if EXTRACTOR_TYPE == TYPE_SIFT
00065 #define DIST_THRESHOLD 250.0 //!< Max distance s.t. two features descriptions are similar
00066 #elif EXTRACTOR_TYPE == TYPE_SURF
00067 #define DIST_THRESHOLD 0.25 //!< Max distance s.t. two features descriptions are similar
00068 #elif EXTRACTOR_TYPE == TYPE_ORB
00069 #define DIST_THRESHOLD 50.0 //!< Max distance s.t. two features descriptions are similar
00070 #else
00071 #define DIST_THRESHOLD 200.0 //!< Max distance s.t. two features descriptions are similar
00072 #endif
00073
00074
00075
00076 template < class T >
00077 std::string to_string(T i)
00078 {
00079 std::stringstream ss;
00080 std::string s;
00081 ss << i;
00082 s = ss.str();
00083
00084 return s;
00085 }
00086
00087 #endif