# Experiments¶

Repeatability of experiments is basic requirement for scientific research. We take the repeatability of our experiments very seriously and hence we release our source code and data to make our experiment repeatable.

## Localization Experiment (Section V-A)¶

Setting up and running Bundler and ARToolkit is not part of this documentation so far. We have included the intermediate bundler results for comparison.:

python scripts/artk_vs_mutloc_on_tiles.py data/tiledexperiment_results/corrected_out.txt


The raw file generated from all the data collected is data/tiledexperiment_results/out.txt but here the 0:sup:th entry is repeated as 1:sup:st entry. So in principal you can use out.txt in place of corrected_out.txt but all you will have to remove some other entry because the number of experiments in data/tiledexperiment_results/bundler-tmp/bundle/bundle.out should be same as out.txt.

This script apart from throwing out the plots used in the paper also shows up a nice mayavi2 visualization in 3D of estimated positions by each of the algorithm.

The raw data was generated by ROS nodes ros/mutloc_ros/nodes/tilesexperiment.py and corresspoding nodes of ROS ARToolkit package. The node allows you to caputure raw images along with computed position by ARToolkit and Mutual localization. Although we ran the experiments on incoming ROS topics on the fly, and saved the corresponding images to disk. Since we provide all these saved images (in data/tiledexperiment_results), it should be possible to repeat the experiments using ARToolkit and mutual localization. The logic to compute detections for mutual localizatoin is given in ros/mutual_ros/src/muutloc_ros/detector.py.

## Simulation experiments with noise (Section V-B)¶

This experiment can be run by simply running the following script. The path to data directory is hard coded in the script.

python scripts/noise_vs_error_on_blender.py


## Reconstruction experiment (Section V-C)¶

Once camera localizations are generated by mutual localization method or bundler, we can feed them to the PMVS-2 library for semi-dense 3D reconstruction.:

python scripts/print_target_localization.py data/bnwmarker20120831/calib.yml


## Additional Experiments¶

There are few experiments that are not mentioned in the paper, but can be of interest to the audience (And yes, I like to show off.)

### Target Localization in Blender simulation¶

python scripts/print_target_localization_blender.py
`