Update doc/Calibration.md, doc/Simulation.md, doc/VioMapping.md files

This commit is contained in:
Vladyslav Usenko 2019-04-17 10:47:25 +00:00
parent d517edcdf2
commit f25c1ec0c8
3 changed files with 14 additions and 14 deletions

View File

@ -24,7 +24,7 @@ The command line options have the following meaning:
* `--cam-types` camera models for the image streams in the dataset. For more detais see [arXiv:1807.08957](https://arxiv.org/abs/1807.08957). * `--cam-types` camera models for the image streams in the dataset. For more detais see [arXiv:1807.08957](https://arxiv.org/abs/1807.08957).
After that, you should see the calibration GUI: After that, you should see the calibration GUI:
![tumvi_cam_calib](doc/img/tumvi_cam_calib.png) ![tumvi_cam_calib](/doc/img/tumvi_cam_calib.png)
The buttons in the GUI are located in the order which you should follow to calibrate the camera. After pressing a button the system will print the output to the command line: The buttons in the GUI are located in the order which you should follow to calibrate the camera. After pressing a button the system will print the output to the command line:
* `load_dataset` loads the dataset. * `load_dataset` loads the dataset.
@ -59,7 +59,7 @@ The command line options for the IMU noise are continous-time and defined as in
* `--gyro-bias-std` gyroscope random walk. * `--gyro-bias-std` gyroscope random walk.
* `--accel-bias-std` accelerometer random walk. * `--accel-bias-std` accelerometer random walk.
![tumvi_imu_calib](doc/img/tumvi_imu_calib.png) ![tumvi_imu_calib](/doc/img/tumvi_imu_calib.png)
The buttons in the GUI are located in the order which you need to follow to calibrate the camera-IMU setup: The buttons in the GUI are located in the order which you need to follow to calibrate the camera-IMU setup:
* `load_dataset`, `detect_corners`, `init_cam_poses` same as above. * `load_dataset`, `detect_corners`, `init_cam_poses` same as above.
@ -108,11 +108,11 @@ Run the camera calibration:
``` ```
basalt_calibrate --dataset-path ~/euroc_calib_data/cam_april.bag --dataset-type bag --result-path ~/euroc_calib_result/ --cam-types ds ds basalt_calibrate --dataset-path ~/euroc_calib_data/cam_april.bag --dataset-type bag --result-path ~/euroc_calib_result/ --cam-types ds ds
``` ```
![euroc_cam_calib](doc/img/euroc_cam_calib.png) ![euroc_cam_calib](/doc/img/euroc_cam_calib.png)
### Camera + IMU calibration ### Camera + IMU calibration
After calibrating the camera you can run the camera + IMU calibration. The result-path should point to the same folder as before: After calibrating the camera you can run the camera + IMU calibration. The result-path should point to the same folder as before:
``` ```
basalt_calibrate_imu --dataset-path ~/euroc_calib_data/imu_april.bag --dataset-type bag --result-path ~/euroc_calib_result/ --gyro-noise-std 0.000282 --accel-noise-std 0.016 --gyro-bias-std 0.0001 --accel-bias-std 0.001 basalt_calibrate_imu --dataset-path ~/euroc_calib_data/imu_april.bag --dataset-type bag --result-path ~/euroc_calib_result/ --gyro-noise-std 0.000282 --accel-noise-std 0.016 --gyro-bias-std 0.0001 --accel-bias-std 0.001
``` ```
![euroc_imu_calib](doc/img/euroc_imu_calib.png) ![euroc_imu_calib](/doc/img/euroc_imu_calib.png)

View File

@ -2,7 +2,7 @@
For better evaluation of the system we use the simulated environment where the optical flow and IMU data is generated from the ground truth by adding noise. For better evaluation of the system we use the simulated environment where the optical flow and IMU data is generated from the ground truth by adding noise.
**Note:** The path to calibration and configuration files used here works for the APT installation. If you compile from source specify the appropriate path to the files in [data folder](data/). **Note:** The path to calibration and configuration files used here works for the APT installation. If you compile from source specify the appropriate path to the files in [data folder](/data/).
### Visual-inertial odometry simulator ### Visual-inertial odometry simulator
@ -16,7 +16,7 @@ The command line options have the following meaning:
* `--show-gui` enables or disables GUI. * `--show-gui` enables or disables GUI.
This opens the GUI and runs the sequence. This opens the GUI and runs the sequence.
![SIM_VIO](doc/img/SIM_VIO.png) ![SIM_VIO](/doc/img/SIM_VIO.png)
The buttons in the GUI have the following meaning: The buttons in the GUI have the following meaning:
* `show_obs` toggles the visibility of the ground-truth landmarks in the image view. * `show_obs` toggles the visibility of the ground-truth landmarks in the image view.
@ -39,7 +39,7 @@ basalt_mapper_sim --cam-calib /usr/etc/basalt/euroc_ds_calib.json --marg-data si
The command line arguments are the same as above. The command line arguments are the same as above.
This opens the GUI where the map can be processed. This opens the GUI where the map can be processed.
![SIM_MAPPER](doc/img/SIM_MAPPER.png) ![SIM_MAPPER](/doc/img/SIM_MAPPER.png)
The system processes the marginalization data and extracts the non-linear factors from them. Roll-pitch and relative-pose factors are initially added to the system. One way to verify that they result in gravity-aligned map is the following The system processes the marginalization data and extracts the non-linear factors from them. Roll-pitch and relative-pose factors are initially added to the system. One way to verify that they result in gravity-aligned map is the following
* `optimize` runs the optimization * `optimize` runs the optimization

View File

@ -2,7 +2,7 @@
We demonstrate the usage of the system with the `MH_05_difficult` sequence of the [EuRoC dataset](https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) as an example. We demonstrate the usage of the system with the `MH_05_difficult` sequence of the [EuRoC dataset](https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) as an example.
**Note:** The path to calibration and configuration files used here works for the APT installation. If you compile from source specify the appropriate path to the files in [data folder](data/). **Note:** The path to calibration and configuration files used here works for the APT installation. If you compile from source specify the appropriate path to the files in [data folder](/data/).
Download the sequence from the dataset and extract it. Download the sequence from the dataset and extract it.
``` ```
@ -29,7 +29,7 @@ The command line options have the following meaning:
* `--show-gui` enables or disables GUI. * `--show-gui` enables or disables GUI.
This opens the GUI and runs the sequence. The processing happens in the background as fast as possible, and the visualization results are saved in the GUI and can be analysed offline. This opens the GUI and runs the sequence. The processing happens in the background as fast as possible, and the visualization results are saved in the GUI and can be analysed offline.
![MH_05_VIO](doc/img/MH_05_VIO.png) ![MH_05_VIO](/doc/img/MH_05_VIO.png)
The buttons in the GUI have the following meaning: The buttons in the GUI have the following meaning:
* `show_obs` toggles the visibility of the tracked landmarks in the image view. * `show_obs` toggles the visibility of the tracked landmarks in the image view.
@ -52,7 +52,7 @@ basalt_mapper --cam-calib /usr/etc/basalt/euroc_ds_calib.json --marg-data euroc_
Here `--marg-data` is the folder with the results from VIO and `--vocabulary` is the path to DBoW3 vocabulary. Here `--marg-data` is the folder with the results from VIO and `--vocabulary` is the path to DBoW3 vocabulary.
This opens the GUI and extracts non-linear factors from the marginalization data. This opens the GUI and extracts non-linear factors from the marginalization data.
![MH_05_MAPPING](doc/img/MH_05_MAPPING.png) ![MH_05_MAPPING](/doc/img/MH_05_MAPPING.png)
The buttons in the GUI have the following meaning: The buttons in the GUI have the following meaning:
* `show_frame1`, `show_cam1`, `show_frame2`, `show_cam2` allows you to assign images to image view 1 and 2 from different timestamps and cameras. * `show_frame1`, `show_cam1`, `show_frame2`, `show_cam2` allows you to assign images to image view 1 and 2 from different timestamps and cameras.
@ -74,7 +74,7 @@ The workflow for the mapping is the following:
The `num_opt_iter` slider controls the maximum number of iterations executed when pressing `optimize`. The `num_opt_iter` slider controls the maximum number of iterations executed when pressing `optimize`.
For more systematic evaluation see the evaluation scripts in the [scripts/eval_full](scripts/eval_full) folder. For more systematic evaluation see the evaluation scripts in the [scripts/eval_full](/scripts/eval_full) folder.
**NOTE: It appears that only the datasets in ASL Dataset Format (`euroc` dataset type in our notation) contain ground truth that is time-aligned to the IMU and camera images. It is located in the `state_groundtruth_estimate0` folder. Bag files have raw Mocap measurements that are not time aligned and should not be used for evaluations.** **NOTE: It appears that only the datasets in ASL Dataset Format (`euroc` dataset type in our notation) contain ground truth that is time-aligned to the IMU and camera images. It is located in the `state_groundtruth_estimate0` folder. Bag files have raw Mocap measurements that are not time aligned and should not be used for evaluations.**
@ -87,7 +87,7 @@ basalt_opt_flow --dataset-path MH_05_difficult/ --cam-calib /usr/etc/basalt/euro
``` ```
This will run the GUI and print an average track length after the dataset is processed. This will run the GUI and print an average track length after the dataset is processed.
![MH_05_OPT_FLOW](doc/img/MH_05_OPT_FLOW.png) ![MH_05_OPT_FLOW](/doc/img/MH_05_OPT_FLOW.png)
## TUM-VI dataset ## TUM-VI dataset
@ -107,11 +107,11 @@ To run the visual-inertial odometry execute the following command in `tumvi_data
``` ```
basalt_vio --dataset-path dataset-magistrale1_512_16/ --cam-calib /usr/etc/basalt/tumvi_512_ds_calib.json --dataset-type euroc --config-path /usr/etc/basalt/tumvi_512_config.json --marg-data tumvi_marg_data --show-gui 1 basalt_vio --dataset-path dataset-magistrale1_512_16/ --cam-calib /usr/etc/basalt/tumvi_512_ds_calib.json --dataset-type euroc --config-path /usr/etc/basalt/tumvi_512_config.json --marg-data tumvi_marg_data --show-gui 1
``` ```
![magistrale1_vio](doc/img/magistrale1_vio.png) ![magistrale1_vio](/doc/img/magistrale1_vio.png)
### Visual-inertial mapping ### Visual-inertial mapping
To run the mapping tool execute the following command: To run the mapping tool execute the following command:
``` ```
basalt_mapper --cam-calib /usr/etc/basalt/tumvi_512_ds_calib.json --marg-data tumvi_marg_data --vocabulary /usr/etc/basalt/orbvoc.dbow3 basalt_mapper --cam-calib /usr/etc/basalt/tumvi_512_ds_calib.json --marg-data tumvi_marg_data --vocabulary /usr/etc/basalt/orbvoc.dbow3
``` ```
![magistrale1_mapping](doc/img/magistrale1_mapping.png) ![magistrale1_mapping](/doc/img/magistrale1_mapping.png)