Skip to content
sjphilli edited this page Jan 29, 2019 · 3 revisions

ccSlamLoader

This repo contains a CloudCompare plugin for conveniently loading SLAM results from ROBEN - the goal of the plugin is to make it easier to view / post-process results from ROBEN SLAM (and potentially IG SLAM in the future)

Background:

When ROBEN SLAM runs, all of the data collected is saved inside a folder with the following structure:

slam_results
│   registration.xml
│   CloudCompare.json
└───rawData 
└───coloredData
└───processedData
└───photos
  • rawData: folder containing every raw (unfiltered) scan taken during mapping*
  • coloredData: folder containing every raw (unfiltered) scan that has been colorized*
  • processedData: folder containing every processed (filtered) scan (these are the scans used in registration)*
  • registration.xml: .xml container which contains the name of each scan and the associated pose obtained from SLAM (pose is represented as an affine transform).
  • CloudCompare.json: .json container which specifies the post-processing pipeline for loading results into CloudCompare

Note: scans are saved as .pcd files (saved in the sensor frame as opposed to an odom frame)

Plugin Description:

ccSlamLoader

Clicking "Import SLAM results" will open a window where you can select a registration.xml file. The plugin will then:

  1. Import / parse the CloudCompare.json file in the folder where the .xml file was selected
  2. Create groups (in the "DB Tree" - see left hand side of above screenshot) corresponding to each of the groups specified in the .json file
    • Currently, each of the folders in the .xml (rawData / coloredData / processedData) get their own group
  3. Create sub-groups inside each group - I use the sub-groups to load in the same data under different filters
    • For example: the "rawData" group may have sub-groups for different levels of voxel filtering
  4. Import the relevant scans with the relevant filters into each group / sub-group - the affine transform associated with each scan is read (from the registration.xml file) and applied to each scan when the scan is loaded.

Example:

For the .json file linked above, the "DB Tree" in CloudCompare would look like:

Clone this wiki locally