Main MRPT website > C++ reference for MRPT 1.9.9
CLogFileRecord.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 #ifndef CLogFileRecord_H
10 #define CLogFileRecord_H
11 
14 #include <mrpt/io/CMemoryStream.h>
17 
22 
23 namespace mrpt
24 {
25 namespace nav
26 {
27 /** A class for storing, saving and loading a reactive navigation
28  * log record for the CReactiveNavigationSystem class.
29  * \sa CReactiveNavigationSystem, CHolonomicLogFileRecord
30  * \ingroup nav_reactive
31  */
33 {
35 
36  public:
37  /** Constructor, builds an empty record. */
39 
40  /** The structure used to store all relevant information about each
41  * transformation into TP-Space.
42  * \ingroup nav_reactive */
43  struct TInfoPerPTG
44  {
45  /** A short description for the applied PTG */
47  /** Distances until obstacles, in "pseudometers", first index for -PI
48  * direction, last one for PI direction. */
50  /** Target(s) location in TP-Space */
51  std::vector<mrpt::math::TPoint2D> TP_Targets;
52  /** Robot location in TP-Space: normally (0,0), except during "NOP cmd
53  * vel" steps */
55  /** Time, in seconds. */
57  /** The results from the holonomic method. */
59  /** Final score of this candidate */
60  double evaluation;
61  /** Evaluation factors */
63  /** Other useful info about holonomic method execution. */
65  /** Only for the FIRST entry in a log file, this will contain a copy of
66  * the PTG with trajectories, suitable to render trajectories, etc. */
68  /** Clearance for each path */
70  };
71 
73  /** The number of PTGS: */
75  /** The info for each applied PTG: must contain "nPTGs * nSecDistances"
76  * elements */
78  /** The selected PTG. */
80 
81  /** Known values:
82  * - "executionTime": The total computation time, excluding sensing.
83  * - "estimatedExecutionPeriod": The estimated execution period.
84  */
85  std::map<std::string, double> values;
86  /** Known values:
87  * - "tim_start_iteration": Time of start of navigationStep()
88  *implementation.
89  * - "tim_send_cmd_vel": Time of sending cmdvel to robot.
90  * - "curPoseAndVel": Time of querying robot pose and velocities.
91  */
92  std::map<std::string, mrpt::system::TTimeStamp> timestamps;
93  /** Additional debug traces */
94  std::map<std::string, std::string> additional_debug_msgs;
95  /** The WS-Obstacles */
97  /** The robot pose (from odometry and from the localization/SLAM system). */
100  relPoseVelCmd; //! Relative poses (wrt to robotPoseLocalization) for
101  //! extrapolated paths at two instants: time of obstacle
102  //! sense, and future pose of motion comman
103  /** The relative location of target(s) in Workspace. */
104  std::vector<mrpt::math::TPose2D> WS_targets_relative;
105 
106  /** The final motion command sent to robot, in "m/sec" and "rad/sec". */
108  /** Motion command as comes out from the PTG, before scaling speed limit
109  * filtering. */
111  /** The actual robot velocities in global (map) coordinates, as read from
112  * sensors, in "m/sec" and "rad/sec". */
114  /** The actual robot velocities in local (robot) coordinates, as read from
115  * sensors, in "m/sec" and "rad/sec". */
117 
118  /** The robot shape in WS. Used by PTGs derived from
119  * mrpt::nav::CPTG_RobotShape_Polygonal */
121  /** The circular robot radius. Used by PTGs derived from
122  * mrpt::nav::CPTG_RobotShape_Circular */
124 
125  // "NOP motion command" mode variables:
126  /** Negative means no NOP mode evaluation, so the rest of "NOP variables"
127  * should be ignored. */
134 };
135 }
136 }
137 
138 #endif
CHolonomicLogFileRecord::Ptr HLFR
Other useful info about holonomic method execution.
mrpt::math::TPose2D rel_cur_pose_wrt_last_vel_cmd_NOP
int32_t nSelectedPTG
The selected PTG.
unsigned __int16 uint16_t
Definition: rptypes.h:44
std::vector< mrpt::math::TPose2D > WS_targets_relative
Relative poses (wrt to robotPoseLocalization) for.
mrpt::math::CVectorFloat robotShape_y
mrpt::math::TTwist2D cur_vel_local
The actual robot velocities in local (robot) coordinates, as read from sensors, in "m/sec" and "rad/s...
std::map< std::string, mrpt::system::TTimeStamp > timestamps
Known values:
mrpt::nav::ClearanceDiagram clearance
Clearance for each path.
mrpt::math::TPose2D rel_pose_PTG_origin_wrt_sense_NOP
mrpt::math::TPose2D robotPoseOdometry
mrpt::nav::CParameterizedTrajectoryGenerator::Ptr ptg
Only for the FIRST entry in a log file, this will contain a copy of the PTG with trajectories, suitable to render trajectories, etc.
mrpt::math::TPose2D relPoseSense
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction...
Definition: eigen_frwds.h:44
std::vector< mrpt::math::TPoint2D > TP_Targets
Target(s) location in TP-Space.
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
uint32_t nPTGs
The number of PTGS:
Clearance information for one particular PTG and one set of obstacles.
A class for storing, saving and loading a reactive navigation log record for the CReactiveNavigationS...
std::vector< T, mrpt::aligned_allocator_cpp11< T > > aligned_std_vector
mrpt::math::CVectorFloat robotShape_x
The robot shape in WS.
CLogFileRecord()
Constructor, builds an empty record.
2D twist: 2D velocity vector (vx,vy) + planar angular velocity (omega)
mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState ptg_last_navDynState
double desiredDirection
The results from the holonomic method.
mrpt::system::TParametersDouble evalFactors
Evaluation factors.
mrpt::math::TPose2D robotPoseLocalization
The robot pose (from odometry and from the localization/SLAM system).
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel
The final motion command sent to robot, in "m/sec" and "rad/sec".
__int16 int16_t
Definition: rptypes.h:43
mrpt::math::TPoint2D TP_Robot
Robot location in TP-Space: normally (0,0), except during "NOP cmd vel" steps.
double timeForTPObsTransformation
Time, in seconds.
int16_t ptg_index_NOP
Negative means no NOP mode evaluation, so the rest of "NOP variables" should be ignored.
mrpt::aligned_std_vector< TInfoPerPTG > infoPerPTG
The info for each applied PTG: must contain "nPTGs * nSecDistances" elements.
mrpt::maps::CSimplePointsMap WS_Obstacles_original
std::map< std::string, double > values
Known values:
GLsizei const GLchar ** string
Definition: glext.h:4101
std::string PTG_desc
A short description for the applied PTG.
__int32 int32_t
Definition: rptypes.h:46
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
mrpt::math::CVectorFloat TP_Obstacles
Distances until obstacles, in "pseudometers", first index for -PI direction, last one for PI directio...
mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState navDynState
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel_original
Motion command as comes out from the PTG, before scaling speed limit filtering.
mrpt::math::TTwist2D cur_vel
The actual robot velocities in global (map) coordinates, as read from sensors, in "m/sec" and "rad/se...
Lightweight 2D pose.
The virtual base class which provides a unified interface for all persistent objects in MRPT...
Definition: CSerializable.h:32
mrpt::maps::CSimplePointsMap WS_Obstacles
The WS-Obstacles.
unsigned __int32 uint32_t
Definition: rptypes.h:47
Lightweight 2D point.
Dynamic state that may affect the PTG path parameterization.
mrpt::math::TPose2D relPoseVelCmd
The structure used to store all relevant information about each transformation into TP-Space...
double evaluation
Final score of this candidate.
std::map< std::string, std::string > additional_debug_msgs
Additional debug traces.
double robotShape_radius
The circular robot radius.



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at lun oct 28 00:14:14 CET 2019