Document directory
- Option A: streaming from the role le
- Option B: Read at once
Mrpt data file formats:
- . Gridmap (or compressed version .gridmap.gz). A 2D occupancygrid map. These? Les consist on one coccupancygridmap2d objectserialized into a binary. See chapter 10 for more details on howto serialize and de-serialize objects.
- . Ini. configuration? Les. the format is plain text, with the structured in sections (denoted as [name]) and variables within eachsection (denoted by Var = value ). these files can contain comments, which may start with; or //.
- . Simplemap (or compressed version .simplemap.gz ). A collection of pairs location-observations, from which metric maps can be built easily. the actually contains a binary serialization of an object of the class csensframeprobsequence. see Chapter 10 for more details on how to serialize and de-serialize objects. the Application
Observations2map can convert a simplemap file into a set of difierentmetric maps (grid maps, point maps,...) and save them to diferentles. Refer to the documentation of that program for details.
- . Rawlog. robotic datasets. The format of these files is explainedin detail in the chapter 13. These files can be managed and visualized with the application rawlogviewer, or captured from sensors byrawlog-grabber.
Serialization
Class identification
Rawlog doneles (datasets)
Format #1: A Bayesian fi LTER-friendly le format
A rawlog into Le is divided in a sequence of actions, observations, actions, observations ,... "actions" typically include robot motor actuations (odometry), but any kind of user-de specified Ned actions can be de encoded ned as well (e.g. robot Arm actuations ). "Observations" include readings from the rest of robotic sensors: laser scanners, images from cameras, sonar ranges, etc.
A rawlog into Le is a binary serialization of alternating objects of the classes:
• Cactioncollection, one or more actions (e.g. odometry), and
• Csensoryframe, which stores the observations.
Format #2: An timestamp-ordered sequence of observations
While the previous format is really well-suited for Bayesian approaches with clearly separate steps of Process Action-process observation, in the case of complex datasets with prior di specified erent sensors, working at di assumerent rates, and possibly without odometry (the typical 'action' in Slam algorithms), it is more clear to just store datasets as an ordered list of observations.
Actual contents of ". rawlog "into Le in this format in this case, the rawlog into Le is a binary serialization of objects derived from the class slam: cobservation. in this case, odometry (if present) is also stored as an observation.
The applications rawlogviewer, rawlog-grabber, and the class slam: crawler log all support both rawlog formats.
Generating rawlog logs les
Reading rawlog lelesoption A: streaming from the role le
This is the preferred mode of operation in general: actions and observations are read sequentially from the role le, processed, freed, and so on. in this way only the required objects are loaded in memory at any time, which is mandatory when managing large datasets (e.g. containing thousands of embedded images ). however, notice that if images are stored externally the rawlog cocould be loaded at once without problems. A typical loop for loading a rawlog in this way is shown next:
Option B: Read at once
A rawlog into Le can be read as a whole using the class slam: crawler log. notice that this may be impractical for very large datasets (several millions of entries) due to memory requirements, but for mid-sized datasets it de specified nitively is the easiest way of loading rawlogs.