Commit Graph

18 Commits (5f588031bc9c53bd099c0cd41f5c6f0124487d25)

Author SHA1 Message Date
Kai Ni 3806125096 add linear system as a template parameter in nonlinear optimizer
fixed a nasty bug and change the internal data type of subgraph preconditioner from reference to boost shared pointer. reference is not a good idea for class members, because no type checking will happen
2010-01-19 10:46:12 +00:00
Alex Cunningham 88e465910a SQP tests and implementation now use the new Key system 2010-01-19 05:33:44 +00:00
Frank Dellaert e523b148cf Moved tree stuff to graph, removed ordering-inl.h 2010-01-18 19:11:22 +00:00
Kai Ni eb3e0067ef simplify covariance formulation 2010-01-18 07:11:34 +00:00
Kai Ni 6a163d1a84 fix compilation error caused by new covariance type 2010-01-18 06:17:01 +00:00
Kai Ni 05b07d443e add linear system solver as a template class parameter in nonlinear optimizer. 2010-01-18 05:51:19 +00:00
Frank Dellaert a4a6e002e5 NOISE MODEL.
This is a big edit but with no templates involed, so it should not be a big deal.

New namespace gtsam::noiseModel collects all noise models, which provide efficient whitening and chain-rule implementation needed for optimization. The class hierarchy gives us the ability to use models from full covariances to i.i.d. unit variance noise with a single interface, where the latter will be much cheaper. 

From now on, all non-linear factors take a shared_ptr to a Gaussian noise model. This is done through the parameter (const sharedGaussian& model). The use of a shared pointer allows us to share one noise models for thousands of factors, if applicable.

Just like Richard's Symbol change, there is a compile flag GTSAM_MAGIC_GAUSSIAN which allows you to use doubles, vectors, or matrices to created noise models on the fly. You have to set it to the correct dimension. Use of this is *not* encouraged and the flag will disappear after some good soul fixed all unit tests.
2010-01-18 05:38:53 +00:00
Richard Roberts aef0b42562 Refactoring to use a new Symbol key instead of strings in Bayes*, Gaussian*, Ordering, Symbolic*, VectorConfig. Renamed existing type-checking key Symbol<C,T> to TypedSymbol<C,T> 2010-01-17 19:34:57 +00:00
Frank Dellaert 049cea6964 3D Pose SLAM + removed obsolete Urban files that somehow re-appeared in CitySLAM 2010-01-16 19:37:17 +00:00
Frank Dellaert 99db4c37d8 2D Pose SLAM: created a new templated factor to accommodate GPS measurements, and as part of the refactor I consolidated all Pose2 SLAM classes in pose2SLAM.h. For backwards compatibility it contains
typedef pose2SLAM::Prior Pose2Prior;
	typedef pose2SLAM::Odometry Pose2Factor;
	typedef pose2SLAM::Constraint Pose2Constraint;
	typedef pose2SLAM::Config Pose2Config;
	typedef pose2SLAM::Graph Pose2Graph;
2010-01-16 18:01:16 +00:00
Kai Ni fce2a668bb uncomment the commented out unit tests during debugging 2010-01-16 05:10:07 +00:00
Kai Ni f5a6a10feb debug hard constraint and make pose2prior work 2010-01-16 05:08:29 +00:00
Frank Dellaert 543d3fcd65 System now a class (gradient is method) 2009-12-28 17:28:48 +00:00
Frank Dellaert 5ac304aff3 correct convergence criterion, verbose flag 2009-12-28 16:15:26 +00:00
Frank Dellaert 674ae9d030 steepest descent now all implemented in iterative.h/cpp 2009-12-28 12:37:34 +00:00
Frank Dellaert bc27afc49f CGD method now uses CGD template in iterative.cpp 2009-12-28 10:48:48 +00:00
Frank Dellaert 863ee58c0f new iterative.h/cpp compilation unit 2009-12-28 09:56:58 +00:00
Frank Dellaert d9fd502656 moved CG tests from testGFG to testIterative 2009-12-28 09:44:30 +00:00