g2o
Toggle main menu visibility
Loading...
Searching...
No Matches
g2o
types
sclam2d
odometry_measurement.h
Go to the documentation of this file.
1
// g2o - General Graph Optimization
2
// Copyright (C) 2011 R. Kuemmerle, G. Grisetti, W. Burgard
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright notice,
10
// this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above copyright
12
// notice, this list of conditions and the following disclaimer in the
13
// documentation and/or other materials provided with the distribution.
14
//
15
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
16
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
18
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
21
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27
#ifndef G2O_ODOMETRY_MEASUREMENT_H
28
#define G2O_ODOMETRY_MEASUREMENT_H
29
30
#include <Eigen/Core>
31
32
#include "
g2o/core/eigen_types.h
"
33
#include "
g2o_types_sclam2d_api.h
"
34
35
namespace
g2o
{
36
40
class
G2O_TYPES_SCLAM2D_API
VelocityMeasurement
{
41
public
:
42
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
;
43
VelocityMeasurement
();
44
VelocityMeasurement
(
double
vl
,
double
vr
,
double
dt
);
45
46
double
vl
()
const
{
return
_measurement
(0); }
47
void
setVl
(
double
v) {
_measurement
(0) = v; }
48
49
double
vr
()
const
{
return
_measurement
(1); }
50
void
setVr
(
double
v) {
_measurement
(1) = v; }
51
52
double
dt
()
const
{
return
_dt
; }
53
void
setDt
(
double
t) {
_dt
= t; }
54
55
const
Vector2
&
measurement
()
const
{
return
_measurement
; }
56
57
protected
:
58
Vector2
_measurement
;
59
double
_dt
;
60
};
61
65
class
G2O_TYPES_SCLAM2D_API
MotionMeasurement
{
66
public
:
67
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
;
68
MotionMeasurement
();
69
MotionMeasurement
(
double
x
,
double
y
,
double
theta
,
double
dt
);
70
MotionMeasurement
(
const
Vector3
& m,
double
dt
);
71
72
double
x
()
const
{
return
_measurement
(0); }
73
void
setX
(
double
v) {
_measurement
(0) = v; }
74
75
double
y
()
const
{
return
_measurement
(1); }
76
void
setY
(
double
v) {
_measurement
(1) = v; }
77
78
double
theta
()
const
{
return
_measurement
(2); }
79
void
setTheta
(
double
v) {
_measurement
(2) = v; }
80
81
double
dt
()
const
{
return
_dt
; }
82
void
setDt
(
double
t) {
_dt
= t; }
83
84
const
Vector3
&
measurement
()
const
{
return
_measurement
; }
85
86
protected
:
87
Vector3
_measurement
;
88
double
_dt
;
89
};
90
94
class
G2O_TYPES_SCLAM2D_API
OdomConvert
{
95
public
:
96
static
VelocityMeasurement
convertToVelocity
(
const
MotionMeasurement
& m);
97
static
MotionMeasurement
convertToMotion
(
const
VelocityMeasurement
& vi,
98
double
l = 1.0);
99
};
100
101
}
// namespace g2o
102
103
#endif
g2o::MotionMeasurement
A 2D odometry measurement expressed as a transformation.
Definition
odometry_measurement.h:65
g2o::MotionMeasurement::x
double x() const
Definition
odometry_measurement.h:72
g2o::MotionMeasurement::dt
double dt() const
Definition
odometry_measurement.h:81
g2o::MotionMeasurement::theta
double theta() const
Definition
odometry_measurement.h:78
g2o::MotionMeasurement::_dt
double _dt
Definition
odometry_measurement.h:88
g2o::MotionMeasurement::y
double y() const
Definition
odometry_measurement.h:75
g2o::MotionMeasurement::setX
void setX(double v)
Definition
odometry_measurement.h:73
g2o::MotionMeasurement::_measurement
Vector3 _measurement
Definition
odometry_measurement.h:87
g2o::MotionMeasurement::setDt
void setDt(double t)
Definition
odometry_measurement.h:82
g2o::MotionMeasurement::measurement
const Vector3 & measurement() const
Definition
odometry_measurement.h:84
g2o::MotionMeasurement::EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition
odometry_measurement.h:67
g2o::MotionMeasurement::setTheta
void setTheta(double v)
Definition
odometry_measurement.h:79
g2o::MotionMeasurement::setY
void setY(double v)
Definition
odometry_measurement.h:76
g2o::MotionMeasurement::MotionMeasurement
MotionMeasurement()
Definition
odometry_measurement.cpp:39
g2o::OdomConvert
convert between the different types of odometry measurements
Definition
odometry_measurement.h:94
g2o::OdomConvert::convertToVelocity
static VelocityMeasurement convertToVelocity(const MotionMeasurement &m)
Definition
odometry_measurement.cpp:48
g2o::OdomConvert::convertToMotion
static MotionMeasurement convertToMotion(const VelocityMeasurement &vi, double l=1.0)
Definition
odometry_measurement.cpp:69
g2o::VelocityMeasurement
velocity measurement of a differential robot
Definition
odometry_measurement.h:40
g2o::VelocityMeasurement::vr
double vr() const
Definition
odometry_measurement.h:49
g2o::VelocityMeasurement::dt
double dt() const
Definition
odometry_measurement.h:52
g2o::VelocityMeasurement::VelocityMeasurement
VelocityMeasurement()
Definition
odometry_measurement.cpp:34
g2o::VelocityMeasurement::EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition
odometry_measurement.h:42
g2o::VelocityMeasurement::setDt
void setDt(double t)
Definition
odometry_measurement.h:53
g2o::VelocityMeasurement::_measurement
Vector2 _measurement
Definition
odometry_measurement.h:58
g2o::VelocityMeasurement::measurement
const Vector2 & measurement() const
Definition
odometry_measurement.h:55
g2o::VelocityMeasurement::vl
double vl() const
Definition
odometry_measurement.h:46
g2o::VelocityMeasurement::setVr
void setVr(double v)
Definition
odometry_measurement.h:50
g2o::VelocityMeasurement::_dt
double _dt
Definition
odometry_measurement.h:59
g2o::VelocityMeasurement::setVl
void setVl(double v)
Definition
odometry_measurement.h:47
eigen_types.h
g2o_types_sclam2d_api.h
G2O_TYPES_SCLAM2D_API
#define G2O_TYPES_SCLAM2D_API
Definition
g2o_types_sclam2d_api.h:55
g2o
Definition
dl_wrapper.cpp:55
g2o::Vector3
VectorN< 3 > Vector3
Definition
eigen_types.h:51
g2o::Vector2
VectorN< 2 > Vector2
Definition
eigen_types.h:50
Generated on
for g2o by
1.17.0