amcl_gps.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00021
00022
00023
00024
00025
00026
00028
00029 #ifndef AMCL_GPS_H
00030 #define AMCL_GPS_H
00031
00032 #include "amcl_sensor.h"
00033 #include "models/gps.h"
00034
00035
00036 class AMCLGps : public AMCLSensor
00037 {
00038
00039 public: AMCLGps();
00040
00041
00042 public: virtual int Load(ConfigFile* cf, int section);
00043
00044
00045 public: virtual int Unload(void);
00046
00047
00048 public: virtual int Setup(void);
00049
00050
00051 public: virtual int Shutdown(void);
00052
00053
00054 private: virtual bool GetData(void);
00055
00056
00057
00058 public: virtual bool InitSensor(pf_t *pf, pf_vector_t mean, pf_matrix_t cov);
00059
00060
00061
00062 public: virtual bool UpdateSensor(pf_t *pf);
00063
00064
00065 private: int gps_index;
00066 private: Driver *device;
00067
00068
00069 private: gps_model_t *model;
00070
00071
00072 private: uint32_t tsec, tusec;
00073
00074
00075 private: double utm_e, utm_n;
00076 private: double err_horz;
00077
00078 #ifdef INCLUDE_RTKGUI
00079
00080 private: virtual void SetupGUI(rtk_canvas_t *canvas, rtk_fig_t *robot_fig);
00081
00082
00083 private: virtual void ShutdownGUI(rtk_canvas_t *canvas, rtk_fig_t *robot_fig);
00084
00085
00086 private: virtual void UpdateGUI(rtk_canvas_t *canvas, rtk_fig_t *robot_fig);
00087
00088
00089 private: rtk_fig_t *fig;
00090 #endif
00091 };
00092
00093
00094
00095
00096 #endif
Last updated 12 September 2005 21:38:45
|