Player
Frontpage
Contents
User
Installation
Quick start
Supported devices
Tutorials
Utilities
Client libraries
FAQ
Help
Developer
Architecture
libplayercore
libplayerinterface
interfaces
libplayerdrivers
drivers
libplayercommon
libplayersd
libplayertcp
libplayerxdr
TODO
Online
Homepage
Download
Project
Bugs
Help
server
drivers
localization
amcl
models
gps.h
1
/*
2
* Player - One Hell of a Robot Server
3
* Copyright (C) 2000 Brian Gerkey & Kasper Stoy
4
* gerkey@usc.edu kaspers@robotics.usc.edu
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*
20
*/
21
/**************************************************************************
22
* Desc: Sensor model for GPS.
23
* Author: Andrew Howard
24
* Date: 8 Aug 2003
25
* CVS: $Id$
26
*************************************************************************/
27
28
#ifndef GPS_H
29
#define GPS_H
30
31
#include "../pf/pf.h"
32
#include "../pf/pf_pdf.h"
33
34
#ifdef __cplusplus
35
extern
"C"
{
36
#endif
37
38
39
// Model information
40
typedef
struct
41
{
42
// UTM origin: UTM coord that maps to (0, 0) in global coords
43
double
utm_base_e, utm_base_n;
44
45
// UTM grid coordinates
46
double
utm_e, utm_n;
47
48
// Circular horizontal error
49
double
err_horz;
50
51
// PDF used for initialization
52
pf_pdf_gaussian_t
*pdf;
53
54
}
gps_model_t
;
55
56
57
// Create an sensor model
58
gps_model_t
*gps_alloc();
59
60
// Free an sensor model
61
void
gps_free(
gps_model_t
*sensor);
62
63
// Set the observed gps coordinates (UTM grid coordinates)
64
void
gps_set_utm(
gps_model_t
*self,
double
utm_e,
double
utm_n,
double
err_horz);
65
66
// Prepare to initialize the distribution
67
void
gps_init_init(
gps_model_t
*self);
68
69
// Finish initializing the distribution
70
void
gps_init_term(
gps_model_t
*self);
71
72
// The sensor initialization function
73
pf_vector_t
gps_init_model(
gps_model_t
*self);
74
75
// The sensor model function
76
double
gps_sensor_model(
gps_model_t
*self,
pf_vector_t
pose);
77
78
#ifdef __cplusplus
79
}
80
#endif
81
82
#endif
83
gps_model_t
Definition
gps.h:41
pf_pdf_gaussian_t
Definition
pf_pdf.h:49
pf_vector_t
Definition
pf_vector.h:42
Generated on Thu Jul 25 2024 00:00:00 for Player by
1.12.0