Skip to content

TUC-ProAut/creme

Repository files navigation

Credible Radar Ego-Motion Estimation (creme)

Currently, creme is implementing various evaluation scenarios described within the corresponding publication; see "Citation" below and our project's landing page. The provided source code depends on the libMix4SAM library, which itself extends the functionality of GTSAM [1].

Visualization of a Simple 1D Scenario

Contact information

License information

creme is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

creme is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this software. If not, see http://www.gnu.org/licenses/.

Citation

If you use this library for academic work, please either cite the library or a corresponding paper:

BibTeX of creme
  @Misc{creme,
   author       = {Sven Lange, Karim Haggag and Others},
   title        = {creme},
   howpublished = {\url{https://github.com/TUC-ProAut/creme}}
  }
Accompanying Paper
  • Haggag, Karim, Sven Lange, Tim Pfeifer, and Peter Protzel (2022) 'A Credible and Robust approach to Ego-Motion Estimation using an Automotive Radar’. DOI: 10.1109/LRA.2022.3162644 (early access, to appear in IEEE Robotics and Automation Letters)

Installation

The following subsections describe how to compile and/or install the needed dependencies for running the experiments.

GtSAM and libMix4SAM

Please follow the readme for libMix4SAM.

ICP Implementation

For running our ICP implementation with additional covariance, the corresponding Matlab Wrapper has to be compiled. Therefore, please run the Matlab-Script make.m from within its folder modules/icp_cov/matlab. Depending on the system's current OS and Matlab version, there may be some changes to this script necessary. Please follow the provided comments within the script.

nuScenes Integration

This step is necessary for the 4th experiment using the nuScenes dataset. For first experiments, we recommend using only the Mini dataset. Further experiments can be done using the Trainval dataset.

  1. Download one or both datasets at the nuScenes webpage:
    After login, you will find the needed files under the heading Full dataset (v1.0).
  2. Extract the files, e.g., into ~/datasets/nuscenes.
  3. Download or clone the nuscenes-devkit repository.
  4. Install the devkit by using one of the possible methods.
  5. Additional to the nuScenes package itself, our Matlab implementation needs PCL-Tools to convert the provided point-clouds into ASCII format to be used within Matlab. Install it in Ubuntu, e.g., by using apt:
    ❯ sudo apt install pcl-tools
Using rpg_trajectory_evaluation

In the supplementary material to our publication, we also evaluated the mobile robot dataset with the rpg_trajectory_evaluation tool. To redo this evaluation, the rpg_trajectory_evaluation tool has to be installed, e.g., using miniconda as it depends on Python 2.

Running the e3SummitRadarPlot.m script will create an additional folder called Robo within the configured results folder. There, the needed input files and folder structure for the rpg_trajectory_evaluation can be found. Also, the configuration file is generated, called e3_summit.template.yaml, which should be copied to the tool's folder rpg_trajectory_evaluation/analyze_trajectories_config. It can be necessary to replace some characters not supported by the tool, e.g., _ for the label of the algorithm.

Experiments

In the following, we list the experiments according to the accompanying publication. Details regarding start and dependencies are given.

A. Simulated Point Set Registration

Run the script e1Psr2DProblem.m and continue with e1Psr2DProblemPlot.m.

B. Simulated Radar

Run the script e2SimulatedRadar.m and continue with e2SimulatedRadarPlot.m.

C. Mobile Robot Dataset

Download the dataset e3Data.zip from the project's landing page and extract it into the creme folder. Then, run the script e3SummitRadar.m and continue with e3SummitRadarPlot.m.

D. nuScenes

Make sure, you followed the additional installation process for using the nuScenes data.

For the evaluation of the mini-dataset, start executing the script e4NuScenesInit once -- please make sure, to adapt the code to your path structure first. Afterwards, the script e4NuScenes.m can be run to do the evaluation. For plotting, use the function e4NuScenesPlot(.) to get combined or single results. Single results for multiple scenes can be created with e4NuScenesPlotGenerator(.).

Further, the evaluation scripts for the trainval-dataset are located within the folder e4Trainval. Four steps (see file naming) have to be done, to generate the results.

References

[1] GTSAM 4.0 https://gtsam.org

About

Credible Radar Ego-Motion Estimation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published