Commit Graph

107 Commits (0dc4f417e9387a93f93c4632b785e6e83a6ff1a3)

Author SHA1 Message Date
Alex Cunningham 9db7623f80 Improved instructions for GSL/ATLAS 2010-01-21 01:03:34 +00:00
Alex Cunningham 063aa14118 Reimplemented matrix::householder_update using GSL and BLAS, you'll need to edit Makefile.am to enable the new version -- see email 2010-01-21 00:59:33 +00:00
Richard Roberts eb03f78e7d Removing dependency hack speeds up compilation 2010-01-20 20:47:15 +00:00
Alex Cunningham 67878830a6 Added timeMatrix.cpp to test specific matrix operations 2010-01-19 20:59:22 +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
Alex Cunningham dfeacb218e Added tests for Keys, Added TypedLabeledSymbol class to allow for runtime symbols on keys 2010-01-18 16:18:02 +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 8967027198 Testing R and Whiten 2010-01-17 03:29:23 +00:00
Frank Dellaert 4518069218 2010-01-17 00:35:49 +00:00
Manohar Paluri 09d2cb9101 added numericalDerivative.h to headers 2010-01-16 23:10:38 +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
Richard Roberts f0ae2c064e Merging in NoiseModel, not yet used though 2010-01-16 18:39:39 +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
Frank Dellaert 4914091c87 Pose2Prior test 2010-01-16 15:39:39 +00:00
Frank Dellaert 26246188af Added planar graph to timing script 2010-01-16 04:46:35 +00:00
Frank Dellaert a4ed0a191d Forgotten header numericalDerivative.h 2010-01-16 04:22:41 +00:00
Chris Beall a956c1a8be svn restored from 1733.
this commit updates gtsam to version 1774, which now appears as 1734.
2010-01-16 01:16:59 +00:00
Frank Dellaert e7bf219498 removed .cpp 2010-01-14 15:31:58 +00:00
Kai Ni e1388c0f0d add Ordering-inl.h 2010-01-14 07:56:03 +00:00
Frank Dellaert dd697a838d added TupleConfig.h as header 2010-01-14 06:20:34 +00:00
Frank Dellaert df62213619 RangeFactor works 2010-01-14 06:00:17 +00:00
Richard Roberts 8562c00a52 Explicit instantiation to fix link error on Linux, also header to install that was missing from Makefile.am 2010-01-14 05:01:40 +00:00
Richard Roberts ac10c440e1 PairConfig is implemented, VSLAMConfig is now a typedef! 2010-01-14 02:58:29 +00:00
Frank Dellaert 6b3e8cf49c simulated2D now reduced to one .h and .cpp, in its own namespace, better naming, and new-style functions to serve as example 2010-01-14 02:50:06 +00:00
Frank Dellaert 93465945e9 Large gtsam refactoring
To support faster development *and* better performance Richard and I pushed through a large refactoring of NonlinearFactors.

The following are the biggest changes:

1) NonLinearFactor1 and NonLinearFactor2 are now templated on Config, Key type, and X type, where X is the argument to the measurement function.

2) The measurement itself is no longer kept in the nonlinear factor. Instead, a derived class (see testVSLAMFactor, testNonlinearEquality, testPose3Factor etc...) has to implement a function to compute the errors, "evaluateErrors". Instead of (h(x)-z), it needs to return (z-h(x)), so Ax-b is an approximation of the error. IMPORTANT: evaluateErrors needs - if asked - *combine* the calculation of the function value h(x) and the derivatives dh(x)/dx. This was a major performance issue. To do this, boost::optional<Matrix&> arguments are provided, and tin EvaluateErrors you just  says something like

	if (H) *H = Matrix_(3,6,....);

3) We are no longer using int or strings for nonlinear factors. Instead, the preferred key type is now Symbol, defined in Key.h. This is both fast and cool: you can construct it from an int, and cast it to a strong. It also does type checking: a Symbol<Pose3,'x'> will not match a Symbol<Pose2,'x'>

4) minor: take a look at LieConfig.h: it help you avoid writing a lot of code bu automatically creating configs for a certain type. See e.g. Pose3Config.h. A "double" LieConfig is on the way - Thanks Richard and Manohar !
2010-01-13 22:25:03 +00:00
Kai Ni 4369cd2d92 1) add a compose function that compose all the poses in a factor graph given the spanning tree
2) add a new graph-inl.h which takes care of all the boost graph related functions to prevent the copy and paste across several classes
2010-01-12 16:12:25 +00:00
Frank Dellaert fcb7c024a7 bearing functions and derivatives 2010-01-12 02:10:42 +00:00
Frank Dellaert d11b2e6bd5 Added omitted headers 2010-01-10 18:37:55 +00:00
Richard Roberts 88ae5380a8 Removed Vector-specific versions of NumericalDerivative, instead Vector is now a Lie object 2010-01-10 18:23:47 +00:00
Frank Dellaert 1a96ef41cf Created Pose3Config, Pose3Graph, and tested loop closure optimization. 2010-01-10 18:21:20 +00:00
Frank Dellaert 65e4dc1342 pose2Circle 2010-01-10 15:46:18 +00:00
Richard Roberts 4fa53a1f79 Merging lieconfig branch - LieConfig works but currently requires Lie objects to have a global print function. 2010-01-10 06:35:16 +00:00
Richard Roberts 2b82ff65e7 Deriving Lie objects from a base class Lie<T>, which provides member functions to access global functions, for use in MATLAB. 2010-01-09 23:15:06 +00:00
Frank Dellaert 5dc237eeea BetweenFactor is a template that models the measurement between two Lie types e.g. Pose2 or Pose3. Pose2Factor and Pose3Factor are now simply typedefs. 2010-01-08 15:32:45 +00:00
Richard Roberts 19a3e228d7 Large refactoring - made several Lie group functions global, which used to be member functions, to treat Lie groups more uniformly. Also created Lie.h, and a preprocessor flag in numericalDerivative to change the coordinate frame derivatives are reported in. gtsam and easylib build and pass unit tests, but this will probably break other projects, which will require a few small changes to work again. Email coming in a few minutes to describe the changes. 2010-01-08 00:40:17 +00:00
Alex Cunningham 20c6f29823 Moved control-related components to separate library 2010-01-06 20:01:34 +00:00
Kai Ni cade0e7780 fix timing test linking problem by using noinst_PROGRAMS 2010-01-03 00:23:16 +00:00
Manohar Paluri 68159fb5e4 corrected SubgraphPreconditioner case 2010-01-02 20:24:59 +00:00
Frank Dellaert f82b46f96c Sped up rodriguez and replaced slow implementation with call to fast implementation. Also moved some functions to cpp. 2010-01-02 14:28:18 +00:00
Frank Dellaert a1c55b9f62 Updated Pose2Config to expected coding standard 2010-01-02 10:33:33 +00:00
Frank Dellaert ff06cd757f moved all "Urban" factors and tests to (cmake-based) CitySLAM project 2009-12-31 16:54:23 +00:00
Frank Dellaert a1d14ba2ae Added Bayes Net and Subgraph preconditioners to gtsam (developed in CitySLAM project) 2009-12-31 12:56:47 +00:00
Richard Roberts 0b9451bc4b Initializing libtool correctly in gtsam (see email to frankcvs with same subject) 2009-12-29 20:01:38 +00:00
Michael Kaess 75ab62a729 ISAM2 (nonlinear ISAM) partially there, unit test currently disabled 2009-12-29 05:57:05 +00:00
Frank Dellaert 0c0b73042b template now exposed in iterative.h, and has its own implementation file 2009-12-28 16:26:16 +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
Michael Kaess 5dfd1921e1 template nightmare resolved, all tests working 2009-12-27 23:15:36 +00:00
Frank Dellaert 7d1428de60 Added Errors class and operator* for GaussianFactor and GaussianFactorGraph. Also moved a few functions to cpp. 2009-12-26 22:48:41 +00:00