Fixed some top-level files
parent
78a468053a
commit
80faf61627
10
README.md
10
README.md
|
@ -40,10 +40,12 @@ Optional prerequisites - used automatically if findable by CMake:
|
||||||
Additional Information
|
Additional Information
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Read about important [`GTSAM-Concepts`] here.
|
Read about important [`GTSAM-Concepts`](GTSAM-Concepts.md) here.
|
||||||
|
|
||||||
See the [`INSTALL`] file for more detailed installation instructions.
|
See the [`INSTALL`](INSTALL) file for more detailed installation instructions.
|
||||||
|
|
||||||
GTSAM is open source under the BSD license, see the [`LICENSE`](https://bitbucket.org/gtborg/gtsam/src/develop/LICENSE) and [`LICENSE.BSD`](https://bitbucket.org/gtborg/gtsam/src/develop/LICENSE.BSD) files.
|
GTSAM is open source under the BSD license, see the [`LICENSE`](LICENSE) and [`LICENSE.BSD`](LICENSE.BSD) files.
|
||||||
|
|
||||||
Please see the [`examples/`](examples) directory and the [`USAGE`] file for examples on how to use GTSAM.
|
Please see the [`examples/`](examples) directory and the [`USAGE`](USAGE.md) file for examples on how to use GTSAM.
|
||||||
|
|
||||||
|
GTSAM was developed in the lab of [Frank Dellaert](http://www.cc.gatech.edu/~dellaert) at the [Georgia Institute of Technology](http://www.gatech.edu), with the help of many contributors over the years, see [THANKS](THANKS).
|
21
THANKS
21
THANKS
|
@ -1,20 +1,39 @@
|
||||||
GTSAM was made possible by the efforts of many collaborators at Georgia Tech
|
GTSAM was made possible by the efforts of many collaborators at Georgia Tech
|
||||||
|
|
||||||
|
Sungtae An
|
||||||
Doru Balcan
|
Doru Balcan
|
||||||
Chris Beall
|
Chris Beall
|
||||||
|
Luca Carlone
|
||||||
Alex Cunningham
|
Alex Cunningham
|
||||||
|
Jing Dong
|
||||||
Alireza Fathi
|
Alireza Fathi
|
||||||
Eohan George
|
Eohan George
|
||||||
|
Alex Hagiopol
|
||||||
Viorela Ila
|
Viorela Ila
|
||||||
Yong-Dian Jian
|
Yong-Dian Jian
|
||||||
Michael Kaess
|
Michael Kaess
|
||||||
|
Zhaoyang Lv
|
||||||
|
Andrew Melim
|
||||||
Kai Ni
|
Kai Ni
|
||||||
Carlos Nieto
|
Carlos Nieto
|
||||||
Duy-Nguyen
|
Duy-Nguyen Ta
|
||||||
Manohar Paluri
|
Manohar Paluri
|
||||||
Christian Potthast
|
Christian Potthast
|
||||||
Richard Roberts
|
Richard Roberts
|
||||||
Grant Schindler
|
Grant Schindler
|
||||||
|
Natesh Srinivasan
|
||||||
|
Thomas Schneider
|
||||||
|
Alex Trevor
|
||||||
|
|
||||||
|
at ETH, Zurich
|
||||||
|
|
||||||
|
Paul Furgale
|
||||||
|
Mike Bosse
|
||||||
|
Hannes Sommer
|
||||||
|
|
||||||
|
at Uni Zurich:
|
||||||
|
|
||||||
|
Christian Forster
|
||||||
|
|
||||||
Many thanks for your hard work!!!!
|
Many thanks for your hard work!!!!
|
||||||
Frank Dellaert
|
Frank Dellaert
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
USAGE - Georgia Tech Smoothing and Mapping library
|
USAGE - Georgia Tech Smoothing and Mapping library
|
||||||
---------------------------------------------------
|
===================================
|
||||||
|
|
||||||
What is this file?
|
What is this file?
|
||||||
|
|
||||||
This file explains how to make use of the library for common SLAM tasks,
|
This file explains how to make use of the library for common SLAM tasks,
|
||||||
|
@ -34,18 +33,12 @@ The GTSAM library has three primary components necessary for the construction
|
||||||
of factor graph representation and optimization which users will need to
|
of factor graph representation and optimization which users will need to
|
||||||
adapt to their particular problem.
|
adapt to their particular problem.
|
||||||
|
|
||||||
FactorGraph:
|
* FactorGraph:
|
||||||
A factor graph contains a set of variables to solve for (i.e., robot poses,
|
A factor graph contains a set of variables to solve for (i.e., robot poses, landmark poses, etc.) and a set of constraints between these variables, which make up factors.
|
||||||
landmark poses, etc.) and a set of constraints between these variables, which
|
* Values:
|
||||||
make up factors.
|
Values is a single object containing labeled values for all of the variables. Currently, all variables are labeled with strings, but the type or organization of the variables can change
|
||||||
Values:
|
* Factors:
|
||||||
Values is a single object containing labeled values for all of the
|
A nonlinear factor expresses a constraint between variables, which in the SLAM example, is a measurement such as a visual reading on a landmark or odometry.
|
||||||
variables. Currently, all variables are labeled with strings, but the type
|
|
||||||
or organization of the variables can change
|
|
||||||
Factors:
|
|
||||||
A nonlinear factor expresses a constraint between variables, which in the
|
|
||||||
SLAM example, is a measurement such as a visual reading on a landmark or
|
|
||||||
odometry.
|
|
||||||
|
|
||||||
The library is organized according to the following directory structure:
|
The library is organized according to the following directory structure:
|
||||||
|
|
||||||
|
@ -59,23 +52,3 @@ The library is organized according to the following directory structure:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VSLAM Example
|
|
||||||
---------------------------------------------------
|
|
||||||
The visual slam example shows a full implementation of a slam system. The example contains
|
|
||||||
derived versions of NonlinearFactor, NonlinearFactorGraph, in classes visualSLAM::ProjectionFactor,
|
|
||||||
visualSLAM::Graph, respectively. The values for the system are stored in the generic
|
|
||||||
Values structure. For definitions and interface, see gtsam/slam/visualSLAM.h.
|
|
||||||
|
|
||||||
The clearest example of the use of the graph to find a solution is in
|
|
||||||
testVSLAM. The basic process for using graphs is as follows (and can be seen in
|
|
||||||
the test):
|
|
||||||
- Create a NonlinearFactorGraph object (visualSLAM::Graph)
|
|
||||||
- Add factors to the graph (note the use of Boost.shared_ptr here) (visualSLAM::ProjectionFactor)
|
|
||||||
- Create an initial configuration (Values)
|
|
||||||
- Create an elimination ordering of variables (this must include all variables)
|
|
||||||
- Create and initialize a NonlinearOptimizer object (Note that this is a generic
|
|
||||||
algorithm that does not need to be derived for a particular problem)
|
|
||||||
- Call optimization functions with the optimizer to optimize the graph
|
|
||||||
- Extract an updated values from the optimizer
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue