renamed align button
This commit is contained in:
parent
1d0fc86003
commit
5221cf801a
|
@ -29,7 +29,7 @@ The buttons in the GUI have the following meaning:
|
||||||
* `show_est_...` shows VIO estimates of the position, velocity and biases.
|
* `show_est_...` shows VIO estimates of the position, velocity and biases.
|
||||||
* `next_step` proceeds to next frame.
|
* `next_step` proceeds to next frame.
|
||||||
* `continue` plays the sequence.
|
* `continue` plays the sequence.
|
||||||
* `align_svd` performs SE(3) alignment with ground-truth trajectory and prints the RMS ATE to the console.
|
* `align_se3` performs SE(3) alignment with ground-truth trajectory and prints the RMS ATE to the console.
|
||||||
|
|
||||||
|
|
||||||
### Visual-inertial mapping simulator
|
### Visual-inertial mapping simulator
|
||||||
|
@ -43,9 +43,9 @@ This opens the GUI where the map can be processed.
|
||||||
|
|
||||||
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
|
||||||
* `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_inc` applies a random increment to all frames of the system. If you run the `optimize` until convergence afterwards, and press `align_se3` 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.
|
* `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.
|
* `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.
|
* `align_se3` 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.
|
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.
|
|
@ -42,7 +42,7 @@ The buttons in the GUI have the following meaning:
|
||||||
|
|
||||||
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.
|
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).
|
For evaluation the button `align_se3` 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).
|
||||||
|
|
||||||
### Visual-inertial mapping
|
### Visual-inertial mapping
|
||||||
To run the mapping tool execute the following command:
|
To run the mapping tool execute the following command:
|
||||||
|
@ -69,7 +69,7 @@ The workflow for the mapping is the following:
|
||||||
* `match` run the geometric 2D to 2D matching between image frames.
|
* `match` run the geometric 2D to 2D matching between image frames.
|
||||||
* `tracks` build tracks from 2D matches and triangulate the points.
|
* `tracks` build tracks from 2D matches and triangulate the points.
|
||||||
* `optimize` run the optimization.
|
* `optimize` run the optimization.
|
||||||
* `align_svd` align ground-truth trajectory in SE(3) and print the transformation and the error.
|
* `align_se3` align ground-truth trajectory in SE(3) and print the transformation and the error.
|
||||||
|
|
||||||
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`.
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ Button optimize_btn("ui.optimize", &optimize);
|
||||||
Button rand_inc_btn("ui.rand_inc", &randomInc);
|
Button rand_inc_btn("ui.rand_inc", &randomInc);
|
||||||
Button rand_yaw_inc_btn("ui.rand_yaw", &randomYawInc);
|
Button rand_yaw_inc_btn("ui.rand_yaw", &randomYawInc);
|
||||||
Button setup_points_btn("ui.setup_points", &setup_points);
|
Button setup_points_btn("ui.setup_points", &setup_points);
|
||||||
Button align_svd_btn("ui.align_svd", &alignButton);
|
Button align_se3_btn("ui.align_se3", &alignButton);
|
||||||
|
|
||||||
std::string marg_data_path;
|
std::string marg_data_path;
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ Button next_step_btn("ui.next_step", &next_step);
|
||||||
|
|
||||||
pangolin::Var<bool> continue_btn("ui.continue", true, false, true);
|
pangolin::Var<bool> continue_btn("ui.continue", true, false, true);
|
||||||
|
|
||||||
Button align_step_btn("ui.align_svd", &alignButton);
|
Button align_step_btn("ui.align_se3", &alignButton);
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
srand(1);
|
srand(1);
|
||||||
|
|
|
@ -100,7 +100,7 @@ Button prev_step_btn("ui.prev_step", &prev_step);
|
||||||
pangolin::Var<bool> continue_btn("ui.continue", false, false, true);
|
pangolin::Var<bool> continue_btn("ui.continue", false, false, true);
|
||||||
pangolin::Var<bool> continue_fast("ui.continue_fast", true, false, true);
|
pangolin::Var<bool> continue_fast("ui.continue_fast", true, false, true);
|
||||||
|
|
||||||
Button align_svd_btn("ui.align_svd", &alignButton);
|
Button align_se3_btn("ui.align_se3", &alignButton);
|
||||||
|
|
||||||
pangolin::Var<bool> follow("ui.follow", true, false, true);
|
pangolin::Var<bool> follow("ui.follow", true, false, true);
|
||||||
|
|
||||||
|
|
|
@ -152,7 +152,7 @@ Button next_step_btn("ui.next_step", &next_step);
|
||||||
|
|
||||||
pangolin::Var<bool> continue_btn("ui.continue", true, false, true);
|
pangolin::Var<bool> continue_btn("ui.continue", true, false, true);
|
||||||
|
|
||||||
Button align_step_btn("ui.align_svd", &alignButton);
|
Button align_step_btn("ui.align_se3", &alignButton);
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
srand(1);
|
srand(1);
|
||||||
|
|
Loading…
Reference in New Issue