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