gtsam/examples
dellaert f639ae0d7c Ignore generated files 2015-02-26 13:55:32 +01:00
..
Data Ignore generated files 2015-02-26 13:55:32 +01:00
CMakeLists.txt
CameraResectioning.cpp Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
CreateSFMExampleData.cpp
DiscreteBayesNet_FG.cpp
LocalizationExample.cpp Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
METISOrderingExample.cpp Fix comma initializer 2014-11-24 18:15:56 -05:00
OdometryExample.cpp Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
PlanarSLAMExample.cpp Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
Pose2SLAMExample.cpp Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
Pose2SLAMExampleExpressions.cpp Merged in feature/SmartCT (pull request #107) 2015-02-22 06:14:19 +01:00
Pose2SLAMExample_g2o.cpp Fixed (case) type 2015-02-21 13:49:53 +01:00
Pose2SLAMExample_graph.cpp include Pose2 2015-02-22 06:20:53 +01:00
Pose2SLAMExample_graphviz.cpp Merged in feature/SmartCT (pull request #107) 2015-02-22 06:14:19 +01:00
Pose2SLAMExample_lago.cpp Fixed (case) type 2015-02-21 13:49:53 +01:00
Pose2SLAMwSPCG.cpp Merged in feature/SmartCT (pull request #107) 2015-02-22 06:14:19 +01:00
Pose3SLAMExample_changeKeys.cpp
Pose3SLAMExample_g2o.cpp
Pose3SLAMExample_initializePose3Chordal.cpp
Pose3SLAMExample_initializePose3Gradient.cpp
README
RangeISAMExample_plaza2.cpp Fix for #204 2015-01-21 13:16:13 -05:00
SFMExample.cpp Merged in feature/SmartCT (pull request #107) 2015-02-22 06:14:19 +01:00
SFMExampleExpressions.cpp Updated examples and test 2014-12-28 19:10:41 +01:00
SFMExampleExpressions_bal.cpp New example reads BAL file, creates expressions 2015-01-22 00:06:29 +01:00
SFMExample_SmartFactor.cpp RADICAL2: The SmartProjectionPoseFactor (soon to be renamed SmartPinholePoseFactor, if it survives at all) now no longer stores shared calibrations. Values expect to contain PinholePoses not Pose3s now. The current state of affairs was simply a bug: one pose could be optimized for several different calibrations. It relied on the user to make sure all measurements for a specific pose to optimize were all given the same shared calibration, which was then stored *millions of times* in the pose factors. Instead, there is now *one* shared calibration per PinholePose unknown. 2015-02-26 13:55:16 +01:00
SFMExample_SmartFactorPCG.cpp RADICAL2: The SmartProjectionPoseFactor (soon to be renamed SmartPinholePoseFactor, if it survives at all) now no longer stores shared calibrations. Values expect to contain PinholePoses not Pose3s now. The current state of affairs was simply a bug: one pose could be optimized for several different calibrations. It relied on the user to make sure all measurements for a specific pose to optimize were all given the same shared calibration, which was then stored *millions of times* in the pose factors. Instead, there is now *one* shared calibration per PinholePose unknown. 2015-02-26 13:55:16 +01:00
SFMExample_bal.cpp Fix crash 2015-01-22 00:06:12 +01:00
SFMdata.h
SelfCalibrationExample.cpp
SimpleRotation.cpp
SolverComparer.cpp Removed EXPORT (Chris?) 2014-12-28 17:13:11 +01:00
StereoVOExample.cpp
StereoVOExample_large.cpp Update ordering 2014-11-24 12:50:55 -05:00
TimeTBB.cpp Fix for #204 2015-01-21 13:16:13 -05:00
UGM_chain.cpp
UGM_small.cpp
VisualISAM2Example.cpp
VisualISAMExample.cpp
easyPoint2KalmanFilter.cpp Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
elaboratePoint2KalmanFilter.cpp

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