Commit Graph

118 Commits

Author SHA1 Message Date
Nikolaus Demmel 26a21d8890 fix warnings: unused variables 2021-11-11 21:21:28 +02:00
Nikolaus Demmel 24325f2a06 ICCV'21 square root marginalization paper code release
Major changes:

- New square-root implementation for optimization and
  marginalization, giving faster optimization and numerically
  more stable marginalization. The square root solver is the new
  default, but the Schur complement based implementation is still
  available. (Implements the ICCV'21 paper.)

- The odometry estimator is now fully templetized and you can run
  in float or double. Default is float, which works well with the
  new square-root implementation and gives best runtimes.

- Batch evaluation scripts and documentation to reproduce the
  ICCV'21 experiments.

Additional changes:

- New options in VIO to marginalize lost landmark right away and
  not only when the frame is marginalized (enabled by default).

- small bugfix for keypoint patch extraction bounds

- basalt_vio: more logging for batch evaluation

- basalt_vio: better handling of closing the GUI while estimator is still running

- basalt_vio: new command line argument to limit the number of frames processed

- basalt_vio: new command line argument to save ground truth trajectory

- added unit tests for square root marginalization

- update basalt-headers

- new submodules: gmt, nlohmann/json, magic_enum
2021-10-15 15:09:15 +02:00
Vladyslav Usenko 180d85e598 Clang Tidy 2021-05-08 16:03:15 +00:00
Vladyslav Usenko c7ceee72c0 Switched to templated version of IMU types 2021-04-17 18:41:42 +02:00
Nikolaus Demmel e040a98b11 fix: num-threads wasn't working since it was used before cli parsing 2021-02-22 16:39:37 +01:00
Vladyslav Usenko e3ec522f03 Added hardware reset for realsense cameras 2020-08-22 10:10:46 +02:00
Nikolaus Demmel 4034f136d7 address some maybe-uninitialized warnings (GCC9) 2020-06-24 12:19:26 +02:00
Nikolaus Demmel 447c1e01d2 silence warnings in 3rd party libs (pangolin, opengv, ros) 2020-06-24 12:18:38 +02:00
Nikolaus Demmel cfb6fc5b6d cleanup tbb includes for deprecations 2020-06-24 12:03:29 +02:00
Vladyslav Usenko c5191cec35 fix filesystem warnings 2020-04-28 19:35:04 +02:00
Vladyslav Usenko b90f08eaeb switch from tbb_hash to std::hash 2020-04-28 19:24:19 +02:00
Vladyslav Usenko f8227d2e22 small fix 2020-03-04 13:36:38 +01:00
Vladyslav Usenko 619f6be6bd Pinhole init 2019-11-18 07:33:04 +00:00
Vladyslav Usenko eb99b1dc81 small fix calib 2019-11-10 12:43:22 +01:00
Vladyslav Usenko b4b9beff49 small fix 2019-10-30 13:16:33 +01:00
Vladyslav Usenko 89a7296bfa fix gravity initialization for calibration 2019-10-29 15:35:42 +01:00
Vladyslav Usenko b7e9c2e4c9 moved filesystem to a separate header 2019-10-09 18:45:59 +02:00
Vladyslav Usenko 8d2da587cf varialble renaming 2019-10-04 15:38:04 +02:00
Vladyslav Usenko 255604c72e fix realsense tutorial 2019-10-01 22:16:24 +02:00
Vladyslav Usenko c9ab4a3a7b small fixes for tutorial 2019-10-01 14:40:10 +02:00
Vladyslav Usenko ea4f9a63cf update recorder 2019-10-01 14:06:49 +02:00
Vladyslav Usenko 8490705da4 Tutorial on photometric and geometric camera-IMU-Mocap calibration with Realsesnse T265 2019-09-30 15:11:22 +00:00
Vladyslav Usenko 76966c12d3 added basalt_time_alignment to deb packages 2019-09-20 15:40:44 +02:00
Vladyslav Usenko 5dc7ef2c49 small updates 2019-09-10 13:35:19 +02:00
Vladyslav Usenko 9d590b272b update headers 2019-08-30 14:17:57 +02:00
Vladyslav Usenko e67c814002 small changes to vio_sim 2019-08-29 16:32:20 +02:00
Vladyslav Usenko 77100b99f2 Added initialization parameters to config files 2019-08-27 15:52:19 +02:00
Vladyslav Usenko 858d2f25c8 added better initialization for calibration 2019-08-26 16:57:41 +02:00
Vladyslav Usenko 402228d52e small changes to mapping 2019-08-23 14:02:55 +02:00
Vladyslav Usenko d4da96119f added pure stereo to simulator 2019-08-23 12:01:40 +02:00
Vladyslav Usenko 18fe854d88 Added stereo (no IMU) odometry and KITTI evaluation 2019-08-23 08:01:40 +00:00
Vladyslav Usenko fc0800514b Added pure BA option 2019-08-14 11:31:12 +02:00
Vladyslav Usenko 77142f0c2a small fixes LM 2019-08-14 10:57:48 +02:00
Vladyslav Usenko 397ddc159c Merge branch 'LM' into 'master'
Added Levengert-Marquadt support

See merge request basalt/basalt!32
2019-08-13 10:03:14 +00:00
Vladyslav Usenko f4f16ddc56 small fix 2019-08-12 19:33:00 +02:00
Vladyslav Usenko 7ebb7baf7c update mapper 2019-08-12 19:24:25 +02:00
Vladyslav Usenko aaa82fba3c Added LM options 2019-08-12 19:14:47 +02:00
Vladyslav Usenko 4099457045 small fixes 2019-08-11 12:23:23 +02:00
Vladyslav Usenko f6a33469f5 Added skipping IMU measurements before the first image. 2019-08-09 19:34:11 +02:00
Vladyslav Usenko 4e4901dfa4 update config 2019-08-09 11:51:04 +02:00
Vladyslav Usenko be249f6354 non-parallel compute_error 2019-08-08 18:45:39 +02:00
Vladyslav Usenko 3d6a4099cf Added LM to mapping 2019-08-08 18:02:21 +02:00
Vladyslav Usenko 43c9914592 parallel version of compute error 2019-08-08 14:56:51 +02:00
Vladyslav Usenko 29ed498aa0 new param 2019-08-08 14:37:07 +02:00
Vladyslav Usenko 8ffa903eb2 Added LM to VIO 2019-08-07 17:21:52 +02:00
Vladyslav Usenko f8285ccc64 Added LM to VIO 2019-08-07 17:19:27 +02:00
Vladyslav Usenko 227694d572 added restore and backup functions 2019-08-07 16:54:35 +02:00
Nikolaus Demmel 25ae6d43df Make serialization functions for non-basalt types static.
See: https://groups.google.com/d/msg/cerealcpp/WswQi_Sh-bw/Pw0GrfIqFQAJ
2019-08-06 01:33:02 +02:00
Vladyslav Usenko 07a1930b5c Disable vio_enforce_realtime for the datasets. 2019-08-05 15:13:36 +02:00
Vladyslav Usenko 56cad21c6f added enforce_realtime option 2019-08-04 22:54:22 +02:00