Make names of the buttons consistent.
| @ -28,8 +28,8 @@ The buttons in the GUI have the following meaning: | ||||
| * `show_gt_...` shows ground truth position, velocity and biases. | ||||
| * `show_est_...` shows VIO estimates of the position, velocity and biases. | ||||
| * `next_step` proceeds to next frame. | ||||
| * `continue_btn` plays the sequence. | ||||
| * `align_button` performs SE(3) alignment with ground-truth trajectory and prints the RMS ATE to the console. | ||||
| * `continue` plays the sequence. | ||||
| * `align_svd` performs SE(3) alignment with ground-truth trajectory and prints the RMS ATE to the console. | ||||
| 
 | ||||
| 
 | ||||
| ### Visual-inertial mapping simulator | ||||
| @ -46,5 +46,6 @@ The system processes the marginalization data and extracts the non-linear factor | ||||
| * `rand_inc` applies a random increment to all frames of the system. If you run the `optimize` until convergence afterwards, and press `align_svd` the alignment transformation should only contain the rotation around Z axis. | ||||
| * `rand_yaw` applies an increment in yaw to all poses. This should not change the error of the optimization once is have converged. | ||||
| * `setup_points` triangulates the points and adds them to optimization. You should optimize the system again after adding the points. | ||||
| * `align_svd` performs SE(3) alignment with ground-truth trajectory and prints the RMS ATE to the console. | ||||
| 
 | ||||
| For comparison we also provide the `basalt_mapper_sim_naive` executable that has the same parameters. It runs a global bundle-adjustment on keyframe data and inserts pre-integrated IMU measurements between keyframes. This executable is included for comparison only. | ||||
| @ -40,7 +40,7 @@ The buttons in the GUI have the following meaning: | ||||
| * `show_est_ba` shows the plot of the estimated accel bias. | ||||
| * `show_gt` shows ground-truth trajectory in the 3D view. | ||||
| 
 | ||||
| By default the system starts with `continue_fast` enabled. This option visualizes the latest processed frame until the end of the sequence. Alternatively, the `continue_btn` visualizes every frame without skipping. If both options are disabled the system shows the frame that is selected with the `show_frame` slider and the user can move forward and backward with `next_step` and `prev_step` buttons. The `follow` button changes between the static camera and the camera attached to the current frame. | ||||
| By default the system starts with `continue_fast` enabled. This option visualizes the latest processed frame until the end of the sequence. Alternatively, the `continue` visualizes every frame without skipping. If both options are disabled the system shows the frame that is selected with the `show_frame` slider and the user can move forward and backward with `next_step` and `prev_step` buttons. The `follow` button changes between the static camera and the camera attached to the current frame. | ||||
| 
 | ||||
| For evaluation the button `align_svd` is used. It aligns the GT trajectory with the current estimate using an SE(3) transformation and prints the transformation and the root-mean-squared absolute trajectory error (RMS ATE). | ||||
| 
 | ||||
| @ -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`. | ||||
| 
 | ||||
| 
 | ||||
| For more systematic evaluation see the evaluation scripts in the `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.** | ||||
| 
 | ||||
|  | ||||
| Before Width: | Height: | Size: 543 KiB After Width: | Height: | Size: 542 KiB | 
| Before Width: | Height: | Size: 334 KiB After Width: | Height: | Size: 333 KiB | 
| Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 139 KiB | 
| Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 187 KiB | 
| @ -154,9 +154,9 @@ using Button = pangolin::Var<std::function<void(void)>>; | ||||
| 
 | ||||
| Button next_step_btn("ui.next_step", &next_step); | ||||
| 
 | ||||
| pangolin::Var<bool> continue_btn("ui.continue_btn", true, false, true); | ||||
| pangolin::Var<bool> continue_btn("ui.continue", true, false, true); | ||||
| 
 | ||||
| Button align_step_btn("ui.align_button", &alignButton); | ||||
| Button align_step_btn("ui.align_svd", &alignButton); | ||||
| 
 | ||||
| int main(int argc, char** argv) { | ||||
|   srand(1); | ||||
|  | ||||
| @ -74,7 +74,7 @@ pangolin::Var<bool> show_ids("ui.show_ids", false, false, true); | ||||
| 
 | ||||
| using Button = pangolin::Var<std::function<void(void)>>; | ||||
| Button next_step_btn("ui.next_step", &next_step); | ||||
| pangolin::Var<bool> continue_btn("ui.continue_btn", true, false, true); | ||||
| pangolin::Var<bool> continue_btn("ui.continue", true, false, true); | ||||
| 
 | ||||
| // Opt flow variables
 | ||||
| basalt::VioDatasetPtr vio_dataset; | ||||
|  | ||||
| @ -95,7 +95,7 @@ pangolin::Var<bool> show_gt("ui.show_gt", true, false, true); | ||||
| Button next_step_btn("ui.next_step", &next_step); | ||||
| Button prev_step_btn("ui.prev_step", &prev_step); | ||||
| 
 | ||||
| pangolin::Var<bool> continue_btn("ui.continue_btn", false, false, true); | ||||
| pangolin::Var<bool> continue_btn("ui.continue", false, false, true); | ||||
| pangolin::Var<bool> continue_fast("ui.continue_fast", true, false, true); | ||||
| 
 | ||||
| Button align_svd_btn("ui.align_svd", &alignButton); | ||||
|  | ||||
| @ -162,9 +162,9 @@ using Button = pangolin::Var<std::function<void(void)>>; | ||||
| 
 | ||||
| Button next_step_btn("ui.next_step", &next_step); | ||||
| 
 | ||||
| pangolin::Var<bool> continue_btn("ui.continue_btn", true, false, true); | ||||
| pangolin::Var<bool> continue_btn("ui.continue", true, false, true); | ||||
| 
 | ||||
| Button align_step_btn("ui.align_button", &alignButton); | ||||
| Button align_step_btn("ui.align_svd", &alignButton); | ||||
| 
 | ||||
| int main(int argc, char** argv) { | ||||
|   srand(1); | ||||
|  | ||||