00001 00018 #ifndef LASERSCANNER_LMS400_H 00019 #define LASERSCANNER_LMS400_H 00020 00021 #ifndef Q_MOC_RUN 00022 #include <sick_lms400.h> 00023 #endif 00024 #include "abstract_laserscanner.h" 00025 00026 00027 class LaserScanner_LMS400 : public Abstract_LaserScanner 00028 { 00029 Q_OBJECT 00030 public: 00031 LaserScanner_LMS400(std::string hostname, int framerate); 00032 void run(); 00033 void stop(); 00034 00035 signals: 00036 void newData(const sensor_msgs::LaserScan::ConstPtr& msg); 00037 00038 protected: 00039 sensor_msgs::LaserScan::Ptr msg_ptr; 00040 asr_sick_lms_400::asr_sick_lms_400 sickLMS400; 00041 int framerate; 00042 bool active; 00043 static constexpr float SCANNER_TARGET_RESOLUTION = 0.2; 00044 static constexpr float SCANNER_STARTING_ANGLE = 55; 00045 static constexpr float SCANNER_ANGLE_SPREAD = 70; 00046 00047 float scanner_actual_resolution, scanner_max_resolution; 00048 std::string hostname; 00049 int Socket; 00050 unsigned long LMSError; 00051 float real_scan_freq, real_angle_res; 00052 int MQuality; 00053 00054 }; 00055 00056 00057 #endif // LASERSCANNER_LMS400_H