Commit Graph

52 Commits

Author SHA1 Message Date
Vladyslav Usenko 05a6df43d6 Fixes for arm64 2021-11-21 18:27:34 +01:00
Vladyslav Usenko f95b4f4902 Update thirdparty/CMakeLists.txt, CMakeLists.txt 2021-11-11 15:30:15 +00:00
Nikolaus Demmel 833c1b5774 update cmake output regardin clang on linux 2021-10-15 17:32:53 +02:00
Nikolaus Demmel e1f6e2642f tweak cmake output 2021-10-15 16:59:43 +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
Nikolaus Demmel bf94c9ee61 Disable Eigen's parallelization with OpenMP (interferes with TBB) 2021-01-29 15:14:58 +01:00
Nikolaus Demmel f039b3cc44 fix cmake typo and completely silence indentation warning (eigen) 2020-06-24 12:19:55 +02:00
Nikolaus Demmel cfb6fc5b6d cleanup tbb includes for deprecations 2020-06-24 12:03:29 +02:00
Vladyslav Usenko a03be4effa update focal deps 2020-04-28 15:58:09 +02:00
Vladyslav Usenko 51f9b5e121 update focal deps 2020-04-28 15:42:25 +02:00
Vladyslav Usenko 35a9d99bf0 fix for CI 2020-04-28 15:14:22 +02:00
Vladyslav Usenko eb5752770e Small fixes for MacOS 2020-04-18 07:36:48 +02:00
Vladyslav Usenko 8225faedbd Small fixes for MacOS 2020-04-17 21:17:51 +02:00
Vladyslav Usenko f03df0da6c small cmake updates 2020-04-16 16:37:17 +02:00
Vladyslav Usenko f5118d15a2 small cmake updates 2020-04-16 16:18:21 +02:00
Vladyslav Usenko d1e5d470f9 small cmake updates 2020-04-16 16:08:50 +02:00
Nikolaus Demmel 3e68ef81c0 cmake: fix macos workaround for cmake 3.16 2019-12-26 21:46:38 +01:00
Vladyslav Usenko fd7ccb2ad0 fix linux compile with clang 2019-11-10 15:48:45 +01:00
Vladyslav Usenko b475eae006 fix xenial compile 2019-11-10 13:48:54 +01:00
Vladyslav Usenko ff2ed88a01 Added Cholmod support 2019-11-08 00:42:02 +08:00
Vladyslav Usenko 8edc80ec8b update submodules 2019-11-06 17:38:10 +08:00
Vladyslav Usenko 2cdfdf2169 update deps 2019-10-04 07:40:42 +02:00
Vladyslav Usenko 3c1abb206a small fix 2019-09-30 17:37:22 +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 6ef6227dc4 small fix 2019-09-13 11:22:59 +02:00
Vladyslav Usenko 72276937e2 small fix 2019-09-12 18:59:42 +02:00
Vladyslav Usenko 3aaa41bee8 Added scripts to install 2019-09-12 18:52:56 +02:00
Vladyslav Usenko 2eb8911625 Added KITTI to docs 2019-09-10 15:40:06 +00:00
Vladyslav Usenko 18fe854d88 Added stereo (no IMU) odometry and KITTI evaluation 2019-08-23 08:01:40 +00:00
Michael Loipfuehrer 85872d5219 Add device pose data to vio analysis 2019-07-29 13:08:54 +00:00
Vladyslav Usenko f48960e1dd Merge branch 'pangolin-deprecated' into 'master'
no error for deprecated-clarations

See merge request basalt/basalt!25
2019-07-26 19:45:29 +00:00
pablorodriguezpalafox 812cf82760 no error for deprecated-clarations 2019-07-26 18:54:56 +02:00
Vladyslav Usenko 5bb572cdeb Added Landmark database 2019-07-26 16:50:15 +00:00
Vladyslav Usenko 4958f0c45a fix compile2 2019-07-16 14:06:32 +02:00
Vladyslav Usenko 4129a92423 fix compile2 2019-07-16 13:59:09 +02:00
Vladyslav Usenko e2e1ff0c70 fix compile 2019-07-16 13:55:16 +02:00
Vladyslav Usenko 3bb45510b5 Removed pangolin deps from the main library. Now only executables depend on it. 2019-07-16 11:42:06 +02:00
Vladyslav Usenko c33adbb2a5 Added aprilgrid configuration 2019-07-08 18:53:39 +02:00
Vladyslav Usenko ae199327fe updated docker images 2019-06-13 16:17:55 +02:00
Vladyslav Usenko 31c3e20313 install realsense record and vio executables 2019-06-13 15:45:55 +02:00
Vladyslav Usenko c888aa65bb Added Realsense live VIO 2019-06-13 11:37:17 +00:00
Vladyslav Usenko f5e669f93f Disable Debug symbols in CI to reduce the ccache size 2019-06-09 18:49:03 +00:00
Vladyslav Usenko 0e073978b9 Switched to HashBow instead of DBoW3 2019-06-07 12:42:18 +00:00
Vladyslav Usenko 9c4a4fa726 Add initial realsense support 2019-06-03 11:37:53 +00:00
Nikolaus Demmel ce03cf1518 cmake: fix recent cmake regression on macos 2019-05-13 21:41:00 +02:00
Nikolaus Demmel ef8f5e40bd cmake: more strictly enforce finding the included eigen version 2019-05-13 21:41:00 +02:00
Vladyslav Usenko abe21fe704 Fix libstdc++6 dependency for 16.04 2019-04-25 11:46:49 +02:00
Nikolaus Demmel 6755f08678 ci and cmake improvements
Changes along the line of
https://gitlab.com/VladyslavUsenko/basalt-headers/merge_requests/1 and
https://gitlab.com/VladyslavUsenko/basalt-headers/merge_requests/2,
and more.

Warning free builds on macos 10.11 - 10.14, Ubuntu Xenial &
Bionic. (macOS 10.14 is not yet in CI, but tested locally.)

Changes similar to basalt-headers:

 - cmake: raise minimum version to 3.10
 - cmake: add workarounds to support macOS < 10.14
 - cmake: set ccache only if not yet set and print info
 - cmake: add NDEBUG define (to disable asserts) for release build and
   EIGEN_INITIALIZE_MATRICES_BY_NAN for others. Add externally supplied
   CMAKE_CXX_FLAGS at the end to allow overriding the defaults.
 - tests: add enable_testing() in main CMakeLists.txt, such that we can
   call 'ctest' from build folder.
 - tests: simplify gtest / gtest_main linking
 - tests: use the newer gtest_discover_tests instead of add_test, which
   adds a separate cmake test for every gtest, even with multiple
   defined in a single executable. Its not only more reliable and less
   verbose in the CMakeLists.txt, but also allows to run 'ctest'
   without -V and still see status for every individual test.
 - ci: add build jobs for Debug/RelWithDebInfo on Bionic, as well as
   builds on Xenial and El Capitan. Use templates to simplify
   .gitlab-ci.yml
 - ci: clang-format job

Additional changes:

 - cmake: unify formatting
 - cmake: various diagnostic warnings for situations that are
   unsupported (should help with gitlab issues).
 - cmake options to disable openmp, pass custom eigen root,
   compiler-launcher, additional CXX_FLAGS that can override default
   flags also for submodules (opengv etc), ...
 - cmake: moved configuration of submodule libs to
   `thirdparty/CMakeLists.txt`. This includes various fixes for
   limiatations of the thirdparty cmake definitions. In particular
   ensures that correct eigen is used, that opengv respects march and
   CXX_FLAGS passed from command line.
 - cmake: simplified linking of executables. Linking `basalt` is
   enough.
 - cmake: basalt sources now build with the minimal disabled
   warnings ("-Wall Wextra -Werror -Wno-unused-parameter
   -ftemplate-backtrace-limit=0", and additionally "-Wno-exceptions"
   for clang). Additional flags are now only set for the submodule
   targets in thirdparty.
 - tests: Running ctest in build folder now also runs the unit tests
   from basalt-headers.
 - ci: in addition to the additional compile jobs and there are now
   also 'test' jobs, that check that the executables in the deb's
   work (runs on all branches, not just master).
2019-04-24 14:21:24 +02:00
Vladyslav Usenko 16d4fd90a8 moved vocabulary to submodules 2019-04-18 14:26:45 +02:00