ori-drs / vertigo_ros

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vertigo_ros

How to run vertigo_ros:

Generating Input Data

Generating Outliers for Standard Datasets

For generating data with random outliers:

roscd vertigo_ros/vertigo/datasets
rosrun vertigo_ros generateDataset.py -i sphere2500/originalDataset/sphere2500.g2o -s -n 100

Parameters:

  • -s make the loop closures switchable
  • -n defines the number of random outliers.

Newer College Dataset

Since the Newer College dataset has its own outliers listed at the bottom of the data, you don't need to add random outliers.

Instead just make the constraints switchable by:

rosrun vertigo_ros generateDataset.py -i newcollege/newcollege_long.g2o -s -n 0

Running Vertigo

Then run:

rosrun vertigo_ros robustISAM2-3d -i new.g2o --adaptive --relinSkip 4 --relinThresh 0.1 -o results.csv

Parameters:

  • --adaptive selects the approach (you can choose --linear, --sigmoid).
  • --relinSkip chose the relinearisation step in iSAM2. Normally, for adaptive the best result is provided by having a relinSkip between 1 to 5.
  • --relinThresh defines the relinearisation error threshold in iSAM2. Since shape parameter (\alpha) is a global parameter, select relinThresh between 0.1 to 0.5 for the best result and to avoid an indeterminate segfault. We might need to define a separate relinThresh specifically for \alpha in the future.

Once the program finished, a file called results.csv is stored in ~/catkin_ws/src/vertigo_ros/vertigo/datasets.

Visualising Results

Then, to see the estimated trajectory, you need to open the file in matlab and plot the trajectory:

temp = readtable('results.csv');
ad=table2array(temp(:,2:end));
plot3(ad(:,1),ad(:,2),ad(:,3),'b')
axis equal

Generating Input Data - in 2D

rosrun vertigo_ros generateDataset.py -i manhattan/originalDataset/Olson/manhattanOlson3500.g2o -s -n 100

Running Vertigo - in 2D

rosrun vertigo_ros robustISAM2-2d -i new.g2o --adaptive --relinSkip 5 --relinThresh 0.5

About


Languages

Language:C++ 71.3%Language:Python 11.7%Language:CMake 8.5%Language:MATLAB 8.5%