Skip to content

Releases: borglab/gtsam

4.3a0

19 May 13:44
3ad4b4c
Compare
Choose a tag to compare
4.3a0 Pre-release
Pre-release

GTSAM 4.3a0 is a significant pre-release, packed with major modernizations, new features, and numerous improvements. This alpha release incorporates over 2k commits since GTSAM 4.2.

Key Highlights:

  • C++17 Standard & Boost Removal: GTSAM now requires C++17. A monumental effort has been made to remove Boost dependencies throughout the library, replacing them with C++17 standard library features or internal implementations. This was a large collaborative effort, with major contributions from @kartikarcot and @varunagrawal.
  • Hybrid Inference Overhaul: Substantial enhancements to hybrid (discrete-continuous) inference capabilities, including new factors, improved elimination, and API refinements, primarily driven by @varunagrawal.
  • Discrete Factor & Inference Improvements: Introduction of the TableFactor (by @ywkim0606) for sparse discrete factors, along with significant optimizations to DecisionTreeFactor and discrete elimination strategies (led by @varunagrawal).
  • Python Wrapper Enhancements: The Python bindings have seen extensive updates, including the generation of type hint stub files (.pyi) for better IDE support and the adoption of cibuildwheel for building and distributing Python wheels (thanks to @varunagrawal, @ProfFan, @p-zach, @yambati03).
  • Eigen 3.4.0 Upgrade: The core linear algebra library Eigen has been updated to version 3.4.0.
  • ISAM2 Fixes: Important fixes related to ISAM2 marginalization and updates (by @gradyrw, @ProfFan, @varunagrawal).

Other Notable Changes:

  • New Factors & Capabilities: Including support for fisheye camera models (@kkelchte), BATA translation averaging for SfM (@akshay-krishnan), fundamental matrix factors, the Galilean3 Lie group (@mkielo3), and GPS factors with lever-arm correction (@mnissov), and making NavState into a fully fledged $SE_2(3)$.
  • Navigation & Filtering: Significant improvements to AHRS, new (Invariant) EKF examples, and more accurate Lie group Jacobians (contributions from @andre-michelin, @mkielo3, @BrettRD).
  • Build System & CI: Numerous modernizations to CMake, improved TBB handling, and more robust CI pipelines across platforms (many contributors including @varunagrawal, @jlblancoc, @talregev).
  • Documentation Revamp: Migration to a new MyST-based documentation site with improved content and structure, plus automated docstring generation for Python (led by @p-zach).

We are excited for the community to try it out and surface issues to be fixed in new pre-releases soon, leading up to 4.3 main release!

New Contributors

Full Changelog: 4.2...4.3a0

Release 4.2

04 Sep 02:41
4f66a49
Compare
Choose a tag to compare

This is the long-awaited release 4.2. Develop has been in pre-4.3 for a while now, but 4.2 kept evolving alongside it (mostly with cherry-picks) as roboticsbook.org uses it and we wanted to wait another semester of teaching it to make sure it was very stable.

The biggest changes are:

  • hybrid factor graph inference
  • much more extensive python and Matlab wrappers
  • Shonan averaging

GTSAM 4.2 can be used from python using pip install gtsam. All available wheels can be found on pypi.

Detailed changes below:

What's Changed (Since 4.1.1)

What's Changed (Since 4.2a1)

What's Changed (Since 4.2a2)

What's Changed (Since 4.2a3)

What's Changed (Since 4.2a4)

What's Changed (Since 4.2a5)

What's Changed (Since 4.2a6)

Read more

Release 4.2a9

30 Jan 02:04
Compare
Choose a tag to compare
Release 4.2a9 Pre-release
Pre-release

This is hopefully the last 4.2 pre-release. I had planned to cut 4.2 this weekend but there were still apparently some issues with the wrapper when used in Georgia tech's CS 3630 course (325 students using GTSAM) and so I'd rather wait another week for these things to settle down. In the meantime, though, we needed a pre-release so %pip install gtbook works on Google Colab and installs 4.2a9 in the process. All works now, as evidenced at roboticsbook.org.

The biggest changes are:

  • moved away from boost utilities to c++ initializers in all tests and examples.
  • a cleaned up and correctly working hybrid inference framework. Thanks @varunagrawal and @ProfFan !
  • template-magical NoiseModelFactorN which allows an arbitrary number of variables connected to factors. Thanks @gchenfc !
  • several important bug-fixes and edits, by many new contributors, listed below:

New Contributors

Detailed Changes

Full Changelog: 4.2a8...4.2a9

4.2a8

30 Nov 16:34
9902ccc
Compare
Choose a tag to compare
4.2a8 Pre-release
Pre-release

What's Changed

  • Lots of development in hybrid, still WIP
  • some changes for GTSFM
  • Lots of bug fixes, esp. in MATLAB wrapper
  • Work on IMU factor

New Contributors

Thanks to our many new contributors!

Detailed Changes

Full Changelog: 4.2a7...4.2a8

4.2a7

13 May 21:30
Compare
Choose a tag to compare
4.2a7 Pre-release
Pre-release

Many new changes since April 08.

Many thanks to contributors @varunagrawal, @shteren1, @ProfFan, @d-vo, @magicbycalvin, @gchenfc, @jlblancoc, @johnwlambert, @senselessDev, @akshay-krishnan !!!!

What's Changed

New Contributors

Full Changelog: 4.2a6...4.2a7

4.2a6

08 Apr 17:30
Compare
Choose a tag to compare
4.2a6 Pre-release
Pre-release

A bit of a bigger pre-release since development of book slowed a bit.

What's Changed

New Contributors

Full Changelog: 4.2a5...4.2a6

4.2a5

14 Feb 04:48
Compare
Choose a tag to compare
4.2a5 Pre-release
Pre-release

Major changes since 4.2a4

  • inference module in wrapper
  • moved SfmData classes from dataset.* to sfm folder
  • lots of plotting/html/wrapping support for roboticsbook.org

Detailed PR list

4.2a4

28 Jan 20:48
d6edcea
Compare
Choose a tag to compare
4.2a4 Pre-release
Pre-release

Yet another pre-release to support rendering pretty graphs in roboticsbook.org

Major changes:

  • a pretty big big-fix: DiscreteFactorGraph::optimize now does MPE! #1050
  • @dellaert also changed API (breaking!) of Subgraph Preconditioners to include fewer shared_ptrs. #1010
  • @lucacarlone landed robust triangulation, great for GTSFM as well!

New Contributors

What's Changed since 4.2a3

4.2a3

17 Jan 20:00
91de3cb
Compare
Choose a tag to compare
4.2a3 Pre-release
Pre-release

Quick pre-release, mainly changes needed for book in #1037 and #1039

Changes since 4.2a2

4.2a2

10 Jan 05:07
Compare
Choose a tag to compare
4.2a2 Pre-release
Pre-release

Changes since 4.2a1:

Not too much changed, this pre-release was driven by the need for html rendering in colabs and jupyter-book.

  • #1022 html rendering in discrete
  • #1017 fail fast in CI
  • #1013 remove (useless) Potentials class