Releases: borglab/gtsam
v4.2a0
Major changes:
- API additions for discrete
- wrapper for discrete inference
- markdown and graphviz visualization in notebooks
Community additions:
- Barometric factor by @PeterQFR in #969
- spherical camera by @lucacarlone in #861
- Templated PoseToPointFactor by @lucacarlone in #955
- add missing interface for PoseTranslationPrior by @StefanKaiser-TomTom in #946
- Add override keyword to functions in PoseToPointFactor by @dwisth in #956
New Contributors
- @StefanKaiser-TomTom made their first contribution in #946
- @PeterQFR made their first contribution in #969
PR list
- Modernize discrete factor graphs (a bit) by @dellaert in #933
- Re-factored arc consistency by @dellaert in #931
- add missing interface for PoseTranslationPrior by @StefanKaiser-TomTom in #946
- Fix Quaternion on M1 (and possibly other platforms) by @ProfFan in #949
- spherical camera by @lucacarlone in #861
- Fix Matlab Wrapper by @varunagrawal in #953
- Templated PoseToPointFactor by @lucacarlone in #955
- Matlab Wrapper function to extract Vectors from a Values object by @gchenfc in #733
- Windows Fixes by @varunagrawal in #904
- Add override keyword to functions in PoseToPointFactor by @dwisth in #956
- wrapped and tested EssentialMatrixConstraint by @dellaert in #962
- DiscreteValues by @dellaert in #966
- Wrap Update by @varunagrawal in #965
- Add new insert_or_assign method to Values by @varunagrawal in #959
- DiscreteKeys Fix by @varunagrawal in #968
- Wrapped classes in discrete by @dellaert in #967
- Add wrapper fixes for Matlab memory leak by @varunagrawal in #970
- Streamlined dot methods by @dellaert in #971
- Fix various warnings by @varunagrawal in #975
- Spherical Camera Constructor Fix by @varunagrawal in #976
- Barometric factor by @PeterQFR in #969
- Use non-deprecated graphviz methods by @dellaert in #978
- Wrapper Update by @varunagrawal in #980
- Better Bayestree wrapping by @dellaert in #985
- markdown for graphs by @dellaert in #987
- repr_markdown -> markdown by @varunagrawal in #988
- Create markdown representation by @dellaert in #986
- dot argument order by @dellaert in #989
- Update README.md by @dellaert in #984
- Bump version to 4.1.1 by @ProfFan in #991
- API improvements for discrete by @dellaert in #990
Full Changelog: 4.1.1...4.2a0
4.1.1
Release 4.1.1
Why this release
This is the last maintenance release before 4.2.0
. It is cut now because #933 breaks the API for discrete
.
Some Notable Changes
Super Contributors:
Major internal contributor is @varunagrawal. Thanks Varun! Besides him, here are some super-contributors below:
@jlblancoc
- refactor cmake scripts into smaller files by @jlblancoc in #557
- Add alternativeName() for symbols by @jlblancoc in #572
- Avoid redundant calls to error() in NonLinearOptimizer by @jlblancoc in #585
- User-provided hook within the internal loop of non-linear optimizers by @jlblancoc in #586
- SymbolGenerator: add chr() and made constexpr-capable by @jlblancoc in #629
- CMake scripts compatible with gtsam as git submodule by @jlblancoc in #674
- Avoid target collision if gtsam used as submodule by @jlblancoc in #691
- fix missing verbosityLMTranslator case by @jlblancoc in #716
- Avoid potential wrong memory access by @jlblancoc in #758
- add expressions for cross() and dot() by @jlblancoc in #793
- Add missing getter in ProjectionFactor by @jlblancoc in #842
- Use METIS system library if so selected by @jlblancoc in #570
- Fix warnings raised by GCC -Wpedactic by @jlblancoc in #915
@lucacarlone
- Gnc by @lucacarlone in #617
- Feature/robust shonan by @lucacarlone in #547
- changed barcsq to a vector to allow each factor to have a different inlier threshold by @lucacarlone in #684
- Gnc enhancements by @lucacarlone in #765
- smart factors with extrinsics calibration by @lucacarlone in #696
- Feature/rolling shutter smart factors by @lucacarlone in #827
- Smart Factors for arbitrary cameras by @lucacarlone in #862
@acxz
- use size_t variable type by @acxz in #795
- use size_t variable type by @acxz in #798
- update timeLago.cpp with newer Sampler interface by @acxz in #797
- replace deprecated tbb functionality by @acxz in #800
- update boost::bind usage by @acxz in #796
- Revert "replace deprecated tbb functionality" by @acxz in #823
Community Additions:
- Added Jacobians for Rot3::RzRyRx and related named constructors by @Eskilade in #499
- Fixed issue with Coriolis acceleration by @tsetterf in #505
- Added Jacobians for Rot3::xyz and related conversions to euler angles by @Eskilade in #520
- correct coefficients of approximated SE3 Q_r by @JzHuai0108 in #507
- adding additional Unit3 support in the wrapper: PriorFactorUnit3, Values::insert/update/at(Unit3) by @tmcg0 in #576
- Fix issues with maths in docs at gtsam.org by @martinvl in #596
- Adding BearingFactor3D to the wrapper definition. by @cttdev in #646
- Add getters to Line3 by @dwisth in #668
- Fix GTSAM_EXPORT by @RamadanAhmed in #670
- Cleaning SmartStereoProjectionPoseFactor by @ToniRV in #673
- Adds unit test for imu preintegration of a single step by @raabuchanan in #633
- Fix/plane factor dwisth by @dwisth in #680
- Fix OrientedPlane3Factor jacobian by @dwisth in #362
- typo in numericalGradient test hidden by duplicate test values by @ptrmu in #687
- Fix can be marked override warning by @ToniRV in #688
- Fix/shonan averaging dense to sparse by @ToniRV in #690
- Update LieGroups.lyx by @melhashash in #693
- Constant Velocity Constraint between NavStates by @asa in #701
- Unit tests for Jacobian of PartialPriorFactor by @miloknowles in #721
- Fix/boost issue #713 again by @Alevs2R in #732
- fix: UnaryFactor Jacobian by @nmahabadi in #724
- Remove unused body_P_sensor param by @asa in #744
- Add a MagPoseFactor for using magnetometer measurements with Pose2/Pose3 by @miloknowles in #752
- Bugfix: correct SO(3) logmap when theta small by @tmcg0 in #780
- Move MagPoseFactor into gtsam by @miloknowles in #788
- Correct ImuFactorExamples frame description by @hmellor in #771
- Add user-defined copy constructor for Rot2 by @jaelrod in #806
pull/817 - Python fisheye interface by @roderick-koehle in #811
- Fix serialization of ISAM2 class by @ScottMcMichael in #816
- rolling shutter projection factor by @shteren1 in #826
- Small clarification and md cleanup by @FranzEricSchneider in #853
- rolling shutter projection factor by @shteren1 in #751
- Better Error message for TBB handling with versions greater than 2021.1 on OS X by @akashsharma02 in #876
- Fix dangling reference in static allocation. by @iwanders in #900
- Pose SLAM Python examples using iSAM2 by @jerredchen in #891
- Add namespace to ambiguous placeholders by @duembgen in #929
- Use FastDefaultAllocator for Values to adhere allocation compile flags by @beetleskin in #936
- Fix cal3 fisheye jacobian by @roderick-koehle in #902
- Minor fixes to fix some warnings by @bricerebsamen in #945
- Make mEstimator variable names consistent with math by @michaelbosse in #188
New Contributors
- @Ellon made their first contribution in #130
- @jingwuOUO made their first contribution in #495
- @Eskilade made their first contribution in #499
- @tsetterf made their first contribution in #505
- @johnwlambert made their first contribution in #534
- @JzHuai0108 made their first contribution in #507
- @tmcg0 made their first contribution in #576
- @swarrier246 made their first contribution in #569
- @RamadanAhmed made their first contribution in #670
- @raabuchanan made their first contribution in #633
- @melhashash made their first contribution in #693
- @asa made their first contribution in #701
- @miloknowles made their first contribution in #721
- @Alevs2R made their first contribution in #732
- @nmahabadi made their first contribution in #724
- @danbarla made their first contribution in #781
- @hmellor made their first contribution in #771
- @jaelrod made their first contribution in #806
- @roderick-koehle made their first contribution in #811
- @ScottMcMichael made their first contribution in #816
- @shteren1 made their first contribution in #826
- @FranzEricSchneider made their first contribution in #853
- @akashsharma02 made their first contribution in #876
- @iwanders made their first contribution in #900
- @jerredchen made their first contribution in #891
- @duembgen made their first contribution in #929
- @beetleskin made their first contribution in #936
Detailed PR list (this was a massive release!)
- Refactor MakeATangentVector by using VectorValues and fix testcase failure by @jingwuOUO in #495
- Linting and getAnchor wrap...
GTSAM 4.1 Release
Hello all,
This is the GTSAM 4.1 release!
Reason for This Release
This is originally the 4.1rc release candidate. We are releasing this as 4.1 because at the same date 4.1rc
was tagged, we release PyPI versions with this 4.1.0
version number. This was a mistake but we are now normalizing it.
Major Changes
- New
pybind11
based Python wrapper- No more
dynamic_cast_xxx
s, so operations on noise models and etc should be more intuitive - Also allows the user to wrap their own projects with our
wrap
submodule, details will come later - It is also live on pypi, so install now with
pip3 install gtsam
!
- No more
- Shonan Averaging is now in GTSAM!
- For usage, please refer to the website: https://dellaert.github.io/ShonanAveraging/index.html
- MATLAB wrapper is now refreshed: Point2 and Point3 are removed and replaced by native MATLAB vectors.
- Thus, now you can build the MATLAB wrapper and the Python wrapper at the same time, so great news for packagers!
- All goodies in 4.0.3 are also included :)
Please enjoy testing this pre-release and report the issues you encounter to our bug tracker!
Cheers,
The GTSAM Team
GTSAM 4.0.3 Release
Here we present you the latest release of GTSAM, GTSAM 4.0.3
.
GTSAM will now default to using the full SE(3) exponential map, instead of using the Cayley map, which should give better convergence for most problems without performance impact.
For details, please see the blog post.
Important New Features & Bugfixes
In addition to the change in default Pose3 retract, which will now be the full exponential map, GTSAM has seen a steady stream of commits since the last release, 4.0.2, which has been there for more than 6 months. A summary of the most important issues and features is below:
- Robust noise model is ready for general usage
- It can be used to replace RANSAC for some applications
- For a gentle introduction, see this awesome tutorial by Varun Agrawal
CombinedImuFactor
serialization is now fixed- The ISAM2 KITTI example has a C++ port, thanks Thomas Jespersen for the help!
- Now you can choose arbitrary MATLAB install prefix for the toolbox build
- Now you can
make python-install
to install the Python toolbox - Now you can use the Conjugate Gradient solver in Python
- Now you can install GTSAM with
pip
if you only use the Python interface - Added
FrobeniusFactor
andFrobeniusWormholeFactor
for robust SFM applications - Switched to in-place update of the diagonal Hessian in LM
- expect a 3%-5% speedup, YMMV
- The Cython wrapper now can be built on Windows :)
- Kudos
@tuwuhs
for the help!
- Kudos
- Fixed a few memory-related bugs detected by the LLVM sanitizer
- Greatly improved stability
Huber Bugfix
- Fixes Huber Robust Noise Model.
- Improvements for compiling on Windows
- Improve CI system efficiency and coverage.
Maintenance release 3.2.3
- Added travis CI
- Updated some documentation
- Fixed many compilation issues/warnings with newer compilers.