This package furthermore forms a cardinal piece of the Caesar.jl robotics toolkit, including 3D visualization and database interaction, which can serve as a base station for a robotic platform. A standalone Robot Motion Estimate package is also available.
Please see the common Caesar.jl documentation:
This package implements Multi-modal iSAM , a descendant of the iSAM2  algorithm. The main algorithm is focused towards hybrid non-parametric and parametric inference over large factor graphs. Inference is performed via the Bayes tree (similar to Junction tree) where non-parametric and parametric solutions are based on belief propagation -- also known as the sum-product algorithm. Immediate benefits such as branch recycling is carried over as well. Also see related research work here .
Pre-install the following packages system wide packages[, and easily draw factor graph and Bayes tree]:
sudo apt-get install hdf5-tools sudo apt-get install graphviz # optional
Install the package from inside Julia
(v1.0) pkg> add IncrementalInference
This library is built as solver back-end which can be easily modified and extended. Specific emphasis is placed on allowing outside user defined constraint definitions to be used. The current major use case is through RoME.jl which introduces various sensor measurement and motion manifold functions for use in Robot Motion Estimate.
A few short example is available in the example folder here.
D. Fourie, M. Kaess, J. Leonard, as well as long list of Contributors in the community.