rangesensor.h
Go to the documentation of this file.
00001 #ifndef RANGESENSOR_H
00002 #define RANGESENSOR_H
00003 
00004 #include <vector>
00005 #include <gmapping/sensor/sensor_base/sensor.h>
00006 #include <gmapping/utils/point.h>
00007 
00008 namespace GMapping{
00009 
00010 class RangeSensor: public Sensor{
00011         friend class Configuration;
00012         friend class CarmenConfiguration;
00013         friend class CarmenWrapper;
00014         public:
00015                 struct Beam{
00016                         OrientedPoint pose;     //pose relative to the center of the sensor
00017                         double span;    //spam=0 indicates a line-like beam
00018                         double maxRange;        //maximum range of the sensor
00019                         double s,c;             //sinus and cosinus of the beam (optimization);
00020                 };      
00021                 RangeSensor(std::string name);
00022                 RangeSensor(std::string name, unsigned int beams, double res, const OrientedPoint& position=OrientedPoint(0,0,0), double span=0, double maxrange=89.0);
00023                 inline const std::vector<Beam>& beams() const {return m_beams;}
00024                 inline std::vector<Beam>& beams() {return m_beams;}
00025                 inline OrientedPoint getPose() const {return m_pose;}
00026                 void updateBeamsLookup();
00027                 bool newFormat;
00028         protected:
00029                 OrientedPoint m_pose;
00030                 std::vector<Beam> m_beams;
00031 };
00032 
00033 };
00034 
00035 #endif


openslam_gmapping
Author(s): Giorgio Grisetti, Cyrill Stachniss, Wolfram Burgard
autogenerated on Thu Jun 6 2019 19:25:13