SickLMS200.hh
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef SICKLMS200_HH
00028 #define SICKLMS200_HH
00029
00030 #include "Body.hh"
00031 #include "Model.hh"
00032
00033
00034 class RayProximity;
00035
00037 class SickLMS200 : public Model
00038 {
00040 public: SickLMS200( World *world );
00041
00043 public: virtual ~SickLMS200();
00044
00046 public: virtual int Load( WorldFile *file, WorldFileNode *node );
00047
00049 public: virtual int Init( WorldFile *file, WorldFileNode *node );
00050
00052 public: virtual int Fini();
00053
00055 public: virtual void Update( double step );
00056
00058 private: int OdeLoad( WorldFile *file, WorldFileNode *node );
00059
00061 private: int RayLoad( WorldFile *file, WorldFileNode *node );
00062
00064 private: void PutLaserData();
00065
00067 private: void PutFiducialData();
00068
00069
00070 private: int RayFini();
00071
00072
00073 private: int IfaceInit();
00074
00075
00076 private: int IfaceFini();
00077
00078
00079 private: void IfacePutData();
00080
00081
00082 private: bool IFaceGetCmd();
00083
00084
00085 private: Body *body;
00086
00087
00088 private: RayProximity *sensor;
00089
00090
00091 private: gz_laser_t *laser_iface;
00092 private: gz_fiducial_t *fiducial_iface;
00093
00094
00095 private: int rayCount;
00096 private: int rangeCount;
00097 private: double laserMinRange, laserMaxRange;
00098 private: double laserMinAngle, laserMaxAngle;
00099 private: double laserPeriod;
00100 private: double laserTime;
00101 };
00102
00103
00104 #endif
Last updated 12 September 2005 21:38:45
|