Main MRPT website > C++ reference for MRPT 1.5.3
carmen_log_tools.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-2017, 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 
10 #ifndef CARMEN_LOG_TOOLS_H
11 #define CARMEN_LOG_TOOLS_H
12 
13 #include <mrpt/system/datetime.h>
14 #include <mrpt/obs/CObservation.h>
15 
16 namespace mrpt
17 {
18  namespace obs
19  {
20  /** Parse one line from an text input stream and interpret it as a CARMEN log entry,
21  * returning its MRPT observation representation.
22  *
23  * The first word in each line determines the type of that entry. Supported
24  * line entries in this class are the following:
25  * - "ROBOTLASER(.*)": A joint odometry-laser entry. This function will return both an mrpt::obs::CObservationOdometry and an mrpt::obs::CObservation2DRangeScan
26  * - "FLASER": (Idem)
27  * - "RLASER": (Idem)
28  * - "PARAM": This case is special (read below).
29  *
30  * Note that the sensor position on the robot will be always deduced from the corresponding CARMEN log line automatically.
31  *
32  * The following entry types will be IGNORED, since with the tags above will be enough in most applications.
33  * - "ODOM"
34  * - "RAWLASER"
35  *
36  * About the PARAM entries: This functions has an internal static status consisting on some PARAM values
37  * which have effects on the future read observations. When the function finds one of these, it stores the
38  * parameter value, return an empty vector of observations, and use those values for future laser entries of types FLASER or RLASER.
39  * Currently, only these parameters are processed:
40  * - "robot_front_laser_max"
41  * - "laser_front_laser_resolution"
42  * - "robot_rear_laser_max"
43  * - "laser_rear_laser_resolution"
44  *
45  * \param time_start_log The real timestamp that corresponds to a "0" in the CARMEN log (you can get a mrpt::system::now() once and pass that same value with each call).
46  *
47  * References: http://carmen.sourceforge.net/doc/binary__loggerplayback.html
48  *
49  * \return true on success, false on end-of-file (EOF).
50  * \exception std::runtime_error On any invalid line found.
51  * \ingroup mrpt_obs_grp
52  */
54  std::istream &in_stream,
55  std::vector<mrpt::obs::CObservationPtr> &out_imported_observations,
56  const mrpt::system::TTimeStamp &time_start_log );
57 
58 
59  } // end NS
60 } // end NS
61 #endif
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
Definition: datetime.h:30
bool OBS_IMPEXP carmen_log_parse_line(std::istream &in_stream, std::vector< mrpt::obs::CObservationPtr > &out_imported_observations, const mrpt::system::TTimeStamp &time_start_log)
Parse one line from an text input stream and interpret it as a CARMEN log entry, returning its MRPT o...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.



Page generated by Doxygen 1.8.13 for MRPT 1.5.3 at Sun Nov 26 00:44:48 UTC 2017