Visual Servoing Platform
version 3.2.0
vpKalmanFilter.h
1
/****************************************************************************
2
*
3
* ViSP, open source Visual Servoing Platform software.
4
* Copyright (C) 2005 - 2019 by Inria. All rights reserved.
5
*
6
* This software 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
* See the file LICENSE.txt at the root directory of this source
11
* distribution for additional information about the GNU GPL.
12
*
13
* For using ViSP with software that can not be combined with the GNU
14
* GPL, please contact Inria about acquiring a ViSP Professional
15
* Edition License.
16
*
17
* See http://visp.inria.fr for more information.
18
*
19
* This software was developed at:
20
* Inria Rennes - Bretagne Atlantique
21
* Campus Universitaire de Beaulieu
22
* 35042 Rennes Cedex
23
* France
24
*
25
* If you have questions regarding the use of this file, please contact
26
* Inria at visp@inria.fr
27
*
28
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30
*
31
* Description:
32
* Kalman filtering.
33
*
34
* Authors:
35
* Eric Marchand
36
* Fabien Spindler
37
*
38
*****************************************************************************/
39
40
#ifndef vpKalmanFilter_h
41
#define vpKalmanFilter_h
42
43
#include <visp3/core/vpColVector.h>
44
#include <visp3/core/vpMatrix.h>
45
46
#include <math.h>
47
110
class
VISP_EXPORT
vpKalmanFilter
111
{
112
protected
:
113
// bool init_done ;
114
116
long
iter;
117
119
unsigned
int
size_state;
121
unsigned
int
size_measure;
123
unsigned
int
nsignal;
124
127
bool
verbose_mode;
128
129
public
:
130
vpKalmanFilter
();
131
explicit
vpKalmanFilter
(
unsigned
int
n_signal);
132
vpKalmanFilter
(
unsigned
int
size_state,
unsigned
int
size_measure,
unsigned
int
n_signal);
134
virtual
~
vpKalmanFilter
(){};
138
void
setNumberOfSignal(
unsigned
int
n_signal) { this->nsignal = n_signal; }
139
140
// int init() { return init_done ; }
141
void
init(
unsigned
int
size_state,
unsigned
int
size_measure,
unsigned
int
n_signal);
142
void
prediction();
143
void
filtering(
const
vpColVector
&z);
147
unsigned
int
getStateSize() {
return
size_state; };
151
unsigned
int
getMeasureSize() {
return
size_measure; };
155
unsigned
int
getNumberOfSignal() {
return
nsignal; };
159
long
getIteration() {
return
iter; }
165
void
verbose(
bool
on) { verbose_mode = on; };
166
167
public
:
173
vpColVector
Xest;
178
vpColVector
Xpre;
181
vpMatrix
F;
182
184
vpMatrix
H;
185
187
vpMatrix
R;
189
vpMatrix
Q;
193
double
dt;
200
vpMatrix
Ppre;
201
207
vpMatrix
Pest;
208
209
protected
:
215
vpMatrix
W;
216
218
vpMatrix
I;
219
};
220
221
#endif
vpColVector
Implementation of column vector and the associated operations.
Definition:
vpColVector.h:71
vpMatrix
Implementation of a matrix and operations on matrices.
Definition:
vpMatrix.h:103
vpKalmanFilter
This class provides a generic Kalman filtering algorithm along with some specific state model (consta...
Definition:
vpKalmanFilter.h:109
modules
core
include
visp3
core
vpKalmanFilter.h
Generated by
1.8.16