Commit Graph

92 Commits

Author SHA1 Message Date
Nikolaus Demmel 729876a4dd fix compilation with latest libfmt 2022-02-23 18:33:04 +01:00
Vladyslav Usenko 3973aebe93 Update patch jacobian computation 2022-01-22 08:00:13 +00:00
Nikolaus Demmel 3e6da3b392 High-level comments for optical flow classes 2021-12-20 11:45:29 +01:00
Nikolaus Demmel 700376d846 Make default config suitable for float. Implement better handling of non-finite increments. 2021-12-10 11:03:49 +01:00
Nikolaus Demmel ec48ff22e5 vo: crash earlier for duplicate timestamps or numeric failure 2021-12-10 02:27:35 +01:00
Nikolaus Demmel 470ac63a2d rs_t265: skip duplicate incomplete framesets 2021-12-10 02:26:50 +01:00
Nikolaus Demmel 64a6ab4262 flow: add checks for numerical failure to avoid crashes in SE2::exp 2021-12-03 17:45:25 +01:00
Nikolaus Demmel bfeda2affa multiframe optical flow: u_int16_t --> uint16_t 2021-12-03 17:45:25 +01:00
Nikolaus Demmel 8d8a69c775 Reference granite for multi-flow implementation 2021-10-15 15:11:40 +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
dominikmuhle 285cfe2878 fix: use optical flow levels from config 2021-10-09 20:04:22 +02:00
Nikolaus Demmel de540f7b9f fix for new TBB version 2021-05-23 20:42:29 +02:00
Vladyslav Usenko 7477c4a0f0 fix stdint types 2021-05-01 10:45:08 +02:00
Vladyslav Usenko c7ceee72c0 Switched to templated version of IMU types 2021-04-17 18:41:42 +02:00
Nikolaus Demmel bf94c9ee61 Disable Eigen's parallelization with OpenMP (interferes with TBB) 2021-01-29 15:14:58 +01:00
Vladyslav Usenko a5ac63f021 fix bug in restore. 2020-10-30 12:14:11 +01:00
Vladyslav Usenko bece152254 Fix rosbag reader on Euroc 2020-08-08 12:20:10 +02:00
Nikolaus Demmel 5de179de48 hash_combine moved to headers and tbb_hash left-overs 2020-06-24 12:03:30 +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 35a9d99bf0 fix for CI 2020-04-28 15:14:22 +02:00
Vladyslav Usenko 2d30772c90 small change hash_bow 2020-04-28 11:45:54 +02:00
Vladyslav Usenko c45ee335dc Fix patch jacobians 2020-01-08 16:52:35 +01:00
Vladyslav Usenko 9c9587ea54 switch to L1 norm in hash_bow 2019-12-24 16:40:02 +01:00
Vladyslav Usenko 619f6be6bd Pinhole init 2019-11-18 07:33:04 +00:00
Vladyslav Usenko ff2ed88a01 Added Cholmod support 2019-11-08 00:42:02 +08: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 9d590b272b update headers 2019-08-30 14:17:57 +02:00
Vladyslav Usenko d52e9b3513 update headers 2019-08-29 17:00:20 +02:00
Nikolaus Demmel cae794d6af Move all eigen serialization to basalt-headers.
**Note:** Binary representation of eigen matrices has changed!
2019-08-27 15:19:33 +00:00
Vladyslav Usenko 77100b99f2 Added initialization parameters to config files 2019-08-27 15:52:19 +02:00
Vladyslav Usenko 402228d52e small changes to mapping 2019-08-23 14:02:55 +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 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 aaa82fba3c Added LM options 2019-08-12 19:14:47 +02:00
Vladyslav Usenko de3e23ce2a Update inverted index for HashBow 2019-08-12 12:49:10 +02:00
Vladyslav Usenko 3d6a4099cf Added LM to mapping 2019-08-08 18:02:21 +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
Vladyslav Usenko 29e1a76407 added backup funtions to types 2019-08-07 16:45:25 +02:00
Vladyslav Usenko b3304884c6 small update to types 2019-08-07 16:26:13 +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 56cad21c6f added enforce_realtime option 2019-08-04 22:54:22 +02:00
Vladyslav Usenko 1d0fc86003 removed device data 2019-08-04 16:36:46 +02:00
Vladyslav Usenko fc0683f65f small changes to IO 2019-08-04 16:29:48 +02:00
Vladyslav Usenko b9a2931468 small changes 2019-08-01 12:59:50 +02:00