A tool to extract user-designated data from alog files.
To facilitate easy use of the data set, we have supplied a dependency-free C++ source file tool to parse the plain text logs into numerical arrays. It is capable of parsing log files into arrays of data in text or binary format (machine-native or matlab formats). For example, one might want to create a matrix of vehicle poses between two times or a matrix of laser scans over the duration of a tagged event. We provide instructions and examples on how to use this parsing code to extract named data.
We stress that there is nothing about our data that is tied to, or requires the use of, this parsing code. Consumers of the data are welcome to write their own parsers in a language of choice. The file parser we supply is simply a convenience (it is also quite fast). The same source file compiles into a standalone executable or a matlab mex file. In the former case arrays are written to a simple data file while in the latter arrays are returned directly to the matlab workspace. Note that to extract data there is no requirement to use or have matlab or run a particular operating system.
How to Compile
- Download uALogParser and compile/build it (see the above instructions for your platform).
- Download the Sample 1
- Follow the instructions for your system below (commands to be executed are in bold)
uALogParser takes 2 mandatory arguments:
|input_file||This is the alog file you with to process.|
|extraction_parameter||This is the message in the alog file you wish to extract (e.g. ODOMETRY)|
Depending on whether the tool is used in mex format or standalone, there are a number of optional arguments:
|-f or –fields||A field in a message (denoted by ) you wish to extract, e.g. -f scancount. Prefix arrays with @ (e.g @Range)|
|-o or –output||Output filename (in windows, “.txt” is automatically appended)|
|-t or –timespan||Timespan of interest. Either enter times (in seconds) or start/end|
|-s or –silent||Suppress messages|
|-w or –write||Force extraction of the log time from the .alog|
This code has been tested on:
(linux) Gentoo, kernel 2.6.25, gcc versions 4.1.2 & 4.3.1:
(Windows)XP, Visual Studio 2005
(matlab) Version 2007b, Version 2008b