urg_aqt.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __PLUGINS_LASER_URG_AQT_H_
00024 #define __PLUGINS_LASER_URG_AQT_H_
00025
00026 #include "acquisition_thread.h"
00027
00028 #include <string>
00029 #include <map>
00030
00031 namespace qrk {
00032 class UrgCtrl;
00033 }
00034
00035 namespace fawkes {
00036 class TimeWait;
00037 }
00038
00039 class HokuyoUrgAcquisitionThread : public LaserAcquisitionThread
00040 {
00041 public:
00042 HokuyoUrgAcquisitionThread(std::string &cfg_name, std::string &cfg_prefix);
00043
00044
00045 virtual void pre_init(fawkes::Configuration *config, fawkes::Logger *logger);
00046
00047 virtual void init();
00048 virtual void finalize();
00049 virtual void loop();
00050
00051 private:
00052 bool __pre_init_done;
00053 unsigned int __number_of_values;
00054 qrk::UrgCtrl *__ctrl;
00055
00056 fawkes::TimeWait *__timer;
00057
00058 std::string __cfg_name;
00059 std::string __cfg_prefix;
00060
00061 std::map<std::string, std::string> __device_info;
00062
00063 std::string __cfg_device;
00064
00065 unsigned int __first_ray;
00066 unsigned int __last_ray;
00067 unsigned int __front_ray;
00068 unsigned int __slit_division;
00069 float __step_per_angle;
00070 float __angle_per_step;
00071 float __angular_range;
00072 unsigned int __offset;
00073 };
00074
00075
00076 #endif