Main MRPT website
>
C++ reference
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
mrpt
slam
CActionRobotMovement3D.h
Go to the documentation of this file.
1
/* +---------------------------------------------------------------------------+
2
| The Mobile Robot Programming Toolkit (MRPT) C++ library |
3
| |
4
| http://www.mrpt.org/ |
5
| |
6
| Copyright (C) 2005-2012 University of Malaga |
7
| |
8
| This software was written by the Machine Perception and Intelligent |
9
| Robotics Lab, University of Malaga (Spain). |
10
| Contact: Jose-Luis Blanco <jlblanco@ctima.uma.es> |
11
| |
12
| This file is part of the MRPT project. |
13
| |
14
| MRPT is free software: you can redistribute it and/or modify |
15
| it under the terms of the GNU General Public License as published by |
16
| the Free Software Foundation, either version 3 of the License, or |
17
| (at your option) any later version. |
18
| |
19
| MRPT is distributed in the hope that it will be useful, |
20
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
21
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
22
| GNU General Public License for more details. |
23
| |
24
| You should have received a copy of the GNU General Public License |
25
| along with MRPT. If not, see <http://www.gnu.org/licenses/>. |
26
| |
27
+---------------------------------------------------------------------------+ */
28
#ifndef CActionRobotMovement3D_H
29
#define CActionRobotMovement3D_H
30
31
#include <
mrpt/slam/CAction.h
>
32
#include <
mrpt/poses/CPose3DPDFGaussian.h
>
33
#include <
mrpt/poses/CPose3DQuatPDFGaussian.h
>
34
35
namespace
mrpt
36
{
37
namespace
slam
38
{
39
DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE
(
CActionRobotMovement3D
,
CAction
,
OBS_IMPEXP
)
40
41
/** Represents a probabilistic 3D (6D) movement.
42
* Currently this can be determined from visual odometry for full 6D, or from wheel encoders for 2D movements only.
43
*
44
* \ingroup mrpt_obs_grp
45
* \sa CAction
46
*/
47
class
OBS_IMPEXP
CActionRobotMovement3D
: public
CAction
48
{
49
// This must be added to any CSerializable derived class:
50
DEFINE_SERIALIZABLE
(
CActionRobotMovement3D
)
51
52
public:
53
/** A list of posible ways for estimating the content of a CActionRobotMovement3D object.
54
*/
55
enum
TEstimationMethod
56
{
57
emOdometry = 0,
58
emVisualOdometry
59
};
60
61
/** Constructor
62
*/
63
CActionRobotMovement3D
();
64
65
/** Destructor
66
*/
67
virtual
~
CActionRobotMovement3D
();
68
69
/** The 3D pose change probabilistic estimation.
70
*/
71
poses::CPose3DPDFGaussian
poseChange
;
72
poses::CPose3DQuatPDFGaussian
poseChangeQuat
;
73
74
75
/** This fields indicates the way this estimation was obtained.
76
*/
77
TEstimationMethod
estimationMethod
;
78
79
/** Each "true" entry means that the corresponding "velocities" element contains valid data - There are 6 entries.
80
*/
81
vector_bool
hasVelocities
;
82
83
/** The velocity of the robot in each of 6D: v_x,v_y,v_z,v_yaw,v_pitch,v_roll (linear in meters/sec and angular in rad/sec).
84
*/
85
vector_float
velocities
;
86
87
};
// End of class def.
88
89
90
}
// End of namespace
91
}
// End of namespace
92
93
#endif
Page generated by
Doxygen 1.8.3
for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013