slambench3 icon indicating copy to clipboard operation
slambench3 copied to clipboard

Add support for TOML configurations

Open matthewspear opened this issue 4 years ago • 0 comments

Feature follows on from issue #32. Instead of re-writing the parameter components (which are tightly coupled all over slambench) I opted to go for a simpler approach. I have written a TOML converter that takes in a TOML configuration file and converts it into parameters.

The pros of this approach are that it is simpler (~300 loc), allows support for both TOML, command-line arguments or a combination of both! The cons are that it requires a mapping between TOML argument and command line (e.g frame_rate: 30 in TOML would be -fps 30 as a command line parameter).

For the parameters I have added support for ORBSlam2, KFusion, ReFusion and Efusion (although haven't been able to test them all). I've added TOML support to both benchmark_loader and pangolin_loader using -t or --toml and the file path. I have provided an example that loads all the default parameters for ORBSLAM2 with TUM.

Let me know if you have any questions / required changes!

Changelog:

  • Added cpptoml dependency to handle TOML file parsing
  • Implemented a converter to take a TOML file and output the command line arguments in place
  • Added defaults example config file for ORBSLAM2 with TUM dataset

matthewspear avatar Feb 24 '20 14:02 matthewspear