Main MRPT website > C++ reference for MRPT 1.5.7
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.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019