include
people_tracking_filter
sysmodel_vector.h
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2008, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of the Willow Garage nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*********************************************************************/
34
35
/* Author: Wim Meeussen */
36
37
#ifndef PEOPLE_TRACKING_FILTER_SYSMODEL_VECTOR_H
38
#define PEOPLE_TRACKING_FILTER_SYSMODEL_VECTOR_H
39
40
41
#include <
people_tracking_filter/gaussian_vector.h
>
42
#include <bfl/model/systemmodel.h>
43
#include <bfl/pdf/conditionalpdf.h>
44
#include <bfl/wrappers/matrix/matrix_wrapper.h>
45
#include <string>
46
47
namespace
BFL
48
{
49
50
class
SysPdfVector
51
:
public
ConditionalPdf<tf::Vector3, tf::Vector3>
52
{
53
public
:
55
explicit
SysPdfVector
(
const
tf::Vector3& sigma);
56
58
virtual
~SysPdfVector
();
59
60
// set time
61
void
SetDt
(
double
dt)
62
{
63
dt_
= dt;
64
}
65
66
// Redefining pure virtual methods
67
virtual
bool
SampleFrom
(BFL::Sample<tf::Vector3>& one_sample,
int
method,
void
*
args
)
const
;
68
virtual
tf::Vector3
ExpectedValueGet
()
const
;
// not applicable
69
virtual
Probability
ProbabilityGet
(
const
tf::Vector3& state)
const
;
// not applicable
70
virtual
MatrixWrapper::SymmetricMatrix
CovarianceGet
()
const
;
// Not applicable
71
72
private
:
73
GaussianVector
noise_
;
74
double
dt_
;
75
};
// class
76
77
class
SysModelVector
78
:
public
SystemModel<tf::Vector3>
79
{
80
public
:
81
explicit
SysModelVector
(
const
tf::Vector3& sigma)
82
: SystemModel<
tf
::
Vector3
>(new
SysPdfVector
(sigma))
83
{}
84
86
~SysModelVector
()
87
{
88
delete
SystemPdfGet();
89
}
90
91
// set time
92
void
SetDt
(
double
dt)
93
{
94
static_cast<
SysPdfVector*
>
(SystemPdfGet())->
SetDt
(dt);
95
}
96
};
// class
97
}
// namespace BFL
98
#endif // PEOPLE_TRACKING_FILTER_SYSMODEL_VECTOR_H
BFL::SysPdfVector::noise_
GaussianVector noise_
Definition:
sysmodel_vector.h:137
BFL::SysPdfVector::ExpectedValueGet
virtual tf::Vector3 ExpectedValueGet() const
Definition:
sysmodel_vector.cpp:79
BFL::SysPdfVector::dt_
double dt_
Definition:
sysmodel_vector.h:138
BFL::SysModelVector::SetDt
void SetDt(double dt)
Definition:
sysmodel_vector.h:124
BFL
Definition:
gaussian_pos_vel.h:45
BFL::SysPdfVector
Definition:
sysmodel_vector.h:82
Vector3
BFL::SysPdfVector::CovarianceGet
virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const
Definition:
sysmodel_vector.cpp:87
BFL::SysPdfVector::~SysPdfVector
virtual ~SysPdfVector()
Destructor.
Definition:
sysmodel_vector.cpp:51
gaussian_vector.h
BFL::SysPdfVector::ProbabilityGet
virtual Probability ProbabilityGet(const tf::Vector3 &state) const
Definition:
sysmodel_vector.cpp:55
BFL::SysPdfVector::SampleFrom
virtual bool SampleFrom(BFL::Sample< tf::Vector3 > &one_sample, int method, void *args) const
Definition:
sysmodel_vector.cpp:63
BFL::SysModelVector::~SysModelVector
~SysModelVector()
destructor
Definition:
sysmodel_vector.h:118
BFL::SysPdfVector::SetDt
void SetDt(double dt)
Definition:
sysmodel_vector.h:125
tf
args
BFL::SysPdfVector::SysPdfVector
SysPdfVector(const tf::Vector3 &sigma)
Constructor.
Definition:
sysmodel_vector.cpp:45
BFL::SysModelVector::SysModelVector
SysModelVector(const tf::Vector3 &sigma)
Definition:
sysmodel_vector.h:113
people_tracking_filter
Author(s): Caroline Pantofaru
autogenerated on Wed Mar 2 2022 00:45:10