gtsam/examples
Abhijit Kundu 6fe2b77a25 In the middle of evaluating performance of DiscreteSequentialSolver vs DiscreteMarginals 2012-06-08 00:18:32 +00:00
..
Data stereo VO Matlab example and data 2012-06-05 17:54:29 +00:00
CMakeLists.txt Rearranged matlab folders to avoid calling utility functions "examples" 2012-06-07 20:09:54 +00:00
CameraResectioning.cpp use make_shared, cleanup 2012-06-03 19:50:04 +00:00
DiscreteBayesNet_FG.cpp Changes to Discrete Examples 2012-06-06 03:25:56 +00:00
LocalizationExample.cpp Synchronized mixed case naming 2012-06-03 05:25:05 +00:00
LocalizationExample2.cpp Significant API change in slam (GTSAM 2.0.1 or 2.1): to eliminate confusion and give the user more freedom in creating their own Keys, the different slam variants no longer create Symbol keys themselves. Instead, all interaction is done via Keys (which are just unordered, unsigned ints). All PoseSLAM unit tests and examples now just use sequential keys. However, a user can still create Keys using the Symbol constructor, which is illustrated in the landmark-based unit tests and examples. 2012-06-02 16:18:40 +00:00
PlanarSLAMExample.cpp Merge remote-tracking branch 'svn/trunk' into windows 2012-06-04 14:13:37 +00:00
PlanarSLAMExample_selfcontained.cpp Merged from branch 'branches/windows' 2012-06-05 14:09:58 +00:00
Pose2SLAMExample.cpp new Pose3SLAM examples in C++ and MATLAB 2012-06-04 00:41:13 +00:00
Pose2SLAMExample_advanced.cpp Synchronized mixed case naming 2012-06-03 05:25:05 +00:00
Pose2SLAMExample_graph.cpp Manhattan world example with covariances, in C++ and MATLAB 2012-06-03 18:20:48 +00:00
Pose2SLAMwSPCG.cpp add the spcg example to matlab 2012-06-04 20:14:41 +00:00
README Another rename 2012-06-03 20:11:40 +00:00
SimpleRotation.cpp Updated examples and namespaces for the new NonlinearOptimizer interface 2012-05-14 20:25:20 +00:00
UGM_chain.cpp In the middle of evaluating performance of DiscreteSequentialSolver vs DiscreteMarginals 2012-06-08 00:18:32 +00:00
UGM_small.cpp Changes to Discrete Examples 2012-06-06 03:25:56 +00:00
VisualISAMExample.cpp fixed compile error due to NonlinearISAM change 2012-06-07 17:47:19 +00:00
VisualSLAMData.h fixed compile errors 2012-06-07 14:53:39 +00:00
VisualSLAMExample.cpp remove noise sampler in visualSLAM examples 2012-06-06 09:36:10 +00:00
easyPoint2KalmanFilter.cpp Symbol.h is now included just in time, no longer by default everywhere. 2012-06-02 19:05:38 +00:00
elaboratePoint2KalmanFilter.cpp Removed LDL in favor of Cholesky 2012-05-15 15:49:14 +00:00

README

This directory contains a number of examples that illustrate the use of GTSAM:

SimpleRotation:  a super-simple example of optimizing a single rotation according to a single prior

Kalman Filter Examples
======================
elaboratePoint2KalmanFilter: simple linear Kalman filter on a moving 2D point, but done using factor graphs
easyPoint2KalmanFilter: uses the cool generic templated Kalman filter class to do the same
fullStateKalmanFilter: simple 1D example with a full-state filter
errorStateKalmanFilter: simple 1D example of a moving target measured by a accelerometer, incl. drift-rate bias

2D Pose SLAM 
============
LocalizationExample.cpp: modeling robot motion
LocalizationExample2.cpp: example with GPS like measurements
Pose2SLAMExample: A 2D Pose SLAM example using the predefined typedefs in gtsam/slam/pose2SLAM.h
Pose2SLAMExample_advanced: same, but uses an Optimizer object
Pose2SLAMwSPCG: solve a simple 3 by 3 grid of Pose2 SLAM problem by using easy SPCG interface

Planar SLAM with landmarks
==========================
PlanarSLAMExample: simple robotics example using the pre-built planar SLAM domain
PlanarSLAMExample_selfcontained: simple robotics example with all typedefs internal to this script.

Visual SLAM
===========
CameraResectioning.cpp: An example of gtsam for solving the camera resectioning problem
The directory vSLAMexample includes 2 simple examples using GTSAM:
- vSFMexample using visualSLAM in for structure-from-motion (SFM), and
- vISAMexample using visualSLAM and ISAM for incremental SLAM updates
See the separate README file there.

Undirected Graphical Models (UGM)
=================================
The best representation for a Markov Random Field is a factor graph :-)
This is illustrated with some discrete examples from the UGM MATLAB toolbox, which
can be found at http://www.di.ens.fr/~mschmidt/Software/UGM