Commit Graph

793 Commits (ab218f11d283edb97a5ce4caacf10b46ed72ee29)

Author SHA1 Message Date
Kai Ni bbf6cabe9d generate ordering and pose config in the initialization stage 2010-01-18 09:24:38 +00:00
Michael Kaess 18414b1286 VectorConfig/Config confusion resolved; planarSLAM integrated 2010-01-18 08:05:33 +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
Michael Kaess 6b2190159d restored lost changes 2010-01-18 04:53:17 +00:00
Michael Kaess 42f4ff228b code cleanup, recovering estimate while dealing with incremental adding of factors, planar with new SLAM 2010-01-18 04:32:45 +00:00
Richard Roberts 9ac1622514 Removed obsolete files that reappeared after svn crash 2010-01-18 03:00:00 +00:00
Richard Roberts 149e6cef36 Added an explicit instantiation to fix a link error that was only detected on Linux 2010-01-18 02:23:10 +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 ea14959835 NoiseModel inhertance structure reversed, all constructors protected, new static "factories" 2010-01-17 17:47:23 +00:00
Frank Dellaert 87f7e05c15 Identity model 2010-01-17 15:10:10 +00:00
Frank Dellaert 5c6cfec7ab restored reset 2010-01-17 15:09:28 +00:00
Michael Kaess 80b3813a16 binary files should not be in repository 2010-01-17 06:09:25 +00:00
Michael Kaess fbe425b966 relinearizing part of a BayesTree, requiring caching of intermediate results during elimination 2010-01-17 06:06:20 +00:00
Frank Dellaert a3fa194ca1 Noisemodel works in PriorFactor 2010-01-17 03:56:42 +00:00
Frank Dellaert 8967027198 Testing R and Whiten 2010-01-17 03:29:23 +00:00
Frank Dellaert 9ddeb569b5 GaussianNoiseModel 2010-01-17 01:28:15 +00:00
Frank Dellaert 3a83e0678d KISS refactor of NoiseModel 2010-01-17 00:37:34 +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
Kai Ni 0e17310e23 remove the printf 2010-01-16 22:56:57 +00:00
Richard Roberts 2174057578 Commented out another NoiseModel unit test 2010-01-16 20:40:47 +00:00
Richard Roberts e4eaa22378 Comment out unit test for broken function only used in NoiseModel, working on fixing 2010-01-16 20:18:45 +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 c051be9edf did not compile 2010-01-16 19:35:50 +00:00
Kai Ni 6714ba59f4 delete binary file testPose2Prior 2010-01-16 19:09:13 +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 3c9c8bcfe5 Pose2Prior is now a typedef, improved some derivatives 2010-01-16 16:46:57 +00:00
Frank Dellaert 4914091c87 Pose2Prior test 2010-01-16 15:39:39 +00:00
Frank Dellaert 2605d18152 removed obsolete tests 2010-01-16 14:59:22 +00:00
Kai Ni b0f27c5d4b set sigma to 1 in pose2prior 2010-01-16 07:50:14 +00:00
Frank Dellaert a4d61d2f23 Little performance twiddles that make little difference 2010-01-16 07:22:34 +00:00
Frank Dellaert a8afe0da7c Forgot pre-multiply of error vector 2010-01-16 07:00:07 +00:00
Frank Dellaert 91a0fb23df Weighted pseudo-inverse now takes weights (1/sigma^2). Does not make a lot of performance difference. 2010-01-16 06:25:11 +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 fb3e38b161 25% performance increase by improving weighted_eliminate 2010-01-16 04:57:58 +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
Frank Dellaert 07c7c4c0bd print size with ordering 2010-01-16 04:22:21 +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 5c0cd093fd moved relative_bearing to Rot2, changed derivatives to new-style 2010-01-14 16:57:48 +00:00
Frank Dellaert 53a03a0021 Changed signature of tree insert 2010-01-14 16:05:04 +00:00
Frank Dellaert f645b560ea Added constructor body 2010-01-14 15:35:23 +00:00
Frank Dellaert c7e0fe9fd8 fixed template instantiation 2010-01-14 15:32:14 +00:00
Frank Dellaert e7bf219498 removed .cpp 2010-01-14 15:31:58 +00:00
Frank Dellaert 25372aaa12 c_str 2010-01-14 15:31:42 +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
Frank Dellaert a552ba4539 Comments/formatting only 2010-01-14 05:59:33 +00:00
Frank Dellaert 8088aea598 Added double as Lie type, needed to remove Lie.h include from Vector.h 2010-01-14 05:58:58 +00:00
Kai Ni 1519d029dc use PredecessorMap instead of map<Key,Key> 2010-01-14 05:24:20 +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
Frank Dellaert 9bf6409b16 BearingFactor works 2010-01-14 04:35:18 +00:00
Michael Kaess 32626b3391 bug fix (only worked on Mac) 2010-01-14 03:42:34 +00:00
Kai Ni 68d90772e6 ordering is fixed 2010-01-14 03:21:07 +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
Kai Ni fca2de8f95 fix unit test 2010-01-14 02:21:14 +00:00
Kai Ni 7ad114c72f problem with predecessorMap2Graph 2010-01-14 02:16:29 +00:00
Kai Ni 63440f937f almost fixed oredering except one function call 2010-01-14 02:07:14 +00:00
Frank Dellaert 5a02b36723 Solved some linking problems 2010-01-14 01:44:00 +00:00
Kai Ni 6c7dfabe5b remove template class G and V from predecessorMap2Graph as Frank suggested 2010-01-14 01:25:40 +00:00
Kai Ni 3c66861790 fix the graph related functions in FactorGraph as well as its unit tests 2010-01-13 23:59:46 +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
John Rogers 22b4912d5e adding #include<boost/shared_ptr.hpp> to graph-inl.h because this dependency doesnt seem to be working without it on gcc 4.3.3 2010-01-13 19:36:52 +00:00
Kai Ni c0bc7e6c10 fix a bug in composePoses that switched the order of compose parameters 2010-01-13 06:02:18 +00:00
Kai Ni 2a094b7491 return shared_ptr in composePoses 2010-01-13 02:09:16 +00:00
Richard Roberts 8d28763339 Vector and Matrix initialization optimization 2010-01-12 16:12:31 +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
Richard Roberts bea55b5f5b Fixed double map lookup 2010-01-12 16:11:24 +00:00
Frank Dellaert fcb7c024a7 bearing functions and derivatives 2010-01-12 02:10:42 +00:00
Frank Dellaert 4b459c45c3 return identity 2010-01-12 02:09:43 +00:00
Frank Dellaert 5163684077 norm 2010-01-12 02:09:03 +00:00
Frank Dellaert 1aed18717b combined evaluation and derivatives 2010-01-12 02:08:41 +00:00
Richard Roberts 2c8d8dbde4 NonlinearOptimizer constructor now requires shared_ptr to prevent storing pointers to stack and temporary variables. Code that uses it will need to be modified, but CitySLAM is already done. 2010-01-11 20:17:28 +00:00
Kai Ni 40889e8f50 added an absolution threshold $epsilon_abs$ to conjugateGradients. added utility functions to several class to have the same interface which can be used by template functions 2010-01-11 08:32:59 +00:00
Manohar Paluri 1b53a240b9 removed prints 2010-01-11 01:09:07 +00:00
Frank Dellaert e9b0bade03 Access to keys 2010-01-11 00:53:53 +00:00
Frank Dellaert 71fe372fb3 test successive iterates 2010-01-11 00:53:43 +00:00
Richard Roberts aa2aa4149c Special case for trace==1 in Rot3 logmap 2010-01-10 23:36:37 +00:00
Richard Roberts b0fd5396ad Bug fix in Rot3 for logmap(identity) 2010-01-10 22:58:30 +00:00
Richard Roberts 1dcc864d97 Comment cleanup to /** style and adding global print functions 2010-01-10 22:41:23 +00:00
Kai Ni 78a579a24a add the missing #pragma once 2010-01-10 22:15:34 +00:00
Viorela Ila f8be2c2626 dim, expmap, logmap works 2010-01-10 21:53:38 +00:00
Frank Dellaert 64eca2d550 addConstraint 2010-01-10 19:25:19 +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 2fe02dbaa7 Moved optimization tests to testPose2Graph 2010-01-10 18:20:10 +00:00
Richard Roberts edb68b3b60 Fixed typo in LieConfig expmap(Vector) 2010-01-10 17:48:55 +00:00
Richard Roberts 33ba34a1f6 Minimized headers included in Lie.h, removed print from testLieConfig 2010-01-10 17:26:44 +00:00
Frank Dellaert 8d84078036 Loop closure tested 2010-01-10 17:02:49 +00:00
Frank Dellaert 12caabb667 Method to add a factor without having to do shared factor dance 2010-01-10 17:02:35 +00:00
Frank Dellaert 120f1301c2 operator[] 2010-01-10 17:01:48 +00:00
Frank Dellaert 710bce5cc4 Pose2Config is now simply a typedef (note that for linking specific template instantiations were needed). 2010-01-10 16:17:55 +00:00
Frank Dellaert 4a21fb9387 Fixed 2nd expmap template, which now creates a VectorConfig and calls the first template 2010-01-10 16:16:03 +00:00
Frank Dellaert 65e4dc1342 pose2Circle 2010-01-10 15:46:18 +00:00
Frank Dellaert 43b2facd10 Now Pose3Config == LieConfig 2010-01-10 14:59:39 +00:00
Frank Dellaert 92c58e50a1 Small changes, mainly const correctness 2010-01-10 14:59:22 +00:00
Frank Dellaert c957672656 Small to change to work well with LieConfig 2010-01-10 14:55:19 +00:00
Frank Dellaert 794ffd3b2f Fixed significant bug in Pose2Factor, where we forgot to multiply the error with the square root inverse covariance. 2010-01-10 13:55:55 +00:00
Frank Dellaert 8061f29ec5 added test clarifying Ax-b \approx h(x)-z 2010-01-10 13:54:34 +00:00
Frank Dellaert f1f21a8589 inverted sign of square root to make inv sqrt positive for simple covariance matrices 2010-01-10 13:53:31 +00:00
Frank Dellaert bf315781af defined global functions in Lie.h rather than here 2010-01-10 12:35:41 +00:00
Frank Dellaert 6bcb9d08d6 Unit tests for correct "Agrawal06iros" versions: they are indeed correct. 2010-01-10 12:26:31 +00:00
Frank Dellaert 30367e35fb Much faster compund rotation using Justin's (indeed correct) formula 2010-01-10 12:25:46 +00:00
Frank Dellaert d5eade62ef Moved expmap and logmap to .cpp, also tested correct "Agrawal06iros" versions, and they are indeed correct (see testPose3). 2010-01-10 12:24:31 +00:00
Frank Dellaert ec1b57ed08 Added Lie required functions (trivial) for Vector. Not in Vector.h as this becomes circular. 2010-01-10 12:22:59 +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
Kai Ni 6a7987fa91 fix Pose2Prior problem and adding prior factor when splitting factor graph 2010-01-09 23:39:11 +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
Kai Ni d015b31799 more meaningful error messages for matrix operations 2010-01-09 07:06:29 +00:00
Frank Dellaert cc358fb2ce removed print statements 2010-01-09 02:37:58 +00:00
Frank Dellaert 5fbb820341 fixed comments and tolerances 2010-01-09 02:27:49 +00:00
Frank Dellaert 6851b31fad Added static methods to construct rotations, coded up convention for yaw-pitch-roll, modernized RQ 2010-01-09 00:03:47 +00:00
Kai Ni d4f92c7bb6 pass FactorGraph as reference into split 2010-01-08 20:27:10 +00:00
Kai Ni 06b7f8ee04 add split to FactorGraph 2010-01-08 19:07:46 +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
Kai Ni 215ff24d0f generate ordering by breadth-first-search, a lot faster than before 2010-01-08 04:12:23 +00:00
Frank Dellaert 8d22b3aca2 Just refactoring 2010-01-08 03:38:05 +00:00
Frank Dellaert f684becf1f Fixed Dbetween1 2010-01-08 03:06:03 +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
Kai Ni a845b3d30a generate ordering from the spanning tree 2010-01-07 08:00:54 +00:00
Kai Ni 6298a45050 use prim algorithm instead of kruskal for finding MST, which yields the parent map. 2010-01-07 06:25:54 +00:00
Alex Cunningham 20c6f29823 Moved control-related components to separate library 2010-01-06 20:01:34 +00:00
Frank Dellaert b20ed42134 log and between 2010-01-06 19:29:41 +00:00
Frank Dellaert f77da96caf Modernized and tested RQ and added Rot3::ypr. Note this yaw-pitch-roll is different from ML version, which is focused on cameras. Let the fun begin... 2010-01-06 15:52:43 +00:00
Kai Ni 9845a5ae37 add findMinimumSpanningTree to FactorGraph 2010-01-06 11:15:37 +00:00
Frank Dellaert cd644e75a5 GaussianBayesNet::matrix now properly divides in sigmas 2010-01-05 14:14:49 +00:00
Frank Dellaert 22d66df766 added manifold test 2010-01-05 14:13:51 +00:00
Richard Roberts 39334ea9e0 Update MATLAB wrapper for earlier Pose2* changes 2010-01-04 18:07:24 +00:00
Kai Ni 46cc85e351 added size and clear to pose2config 2010-01-03 07:25:59 +00:00
Michael Kaess 052149771a relinearizing factors corresponding to contaminated cliques 2010-01-03 04:57:35 +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
Frank Dellaert 730f4a546f Added planar graph with easy subtree 2009-12-31 12:55:51 +00:00
Frank Dellaert 07cc95e4c4 Comments and formatting 2009-12-31 12:55:16 +00:00
Frank Dellaert eaa8176de1 correct behavior when entire columns are zero 2009-12-31 10:30:44 +00:00
Frank Dellaert 46a65d89df using ediv_ where needed 2009-12-31 10:30:06 +00:00
Frank Dellaert f7d5b517a4 ediv_ is same as ediv except returns 0 for 0/0 division, needed for dealing with constraints 2009-12-31 10:29:25 +00:00
Frank Dellaert 3fbc857a9e fixed behavior of error for sigma==0 2009-12-31 10:28:43 +00:00
Frank Dellaert 9b327d1a9d added reset 2009-12-31 10:27:39 +00:00
Frank Dellaert bf85f10de7 subtraction 2009-12-31 10:27:16 +00:00
Michael Kaess b4e65e9631 progress in ISAM2, but unit test still disabled 2009-12-31 05:35:08 +00:00
Richard Roberts afc3028ad5 Fixed bug in testPose2Factor optimize unit test where only the first expected value was checked. 2009-12-30 18:41:33 +00:00
Frank Dellaert 793a9d58ae Errors is now a list 2009-12-30 17:13:36 +00:00
Frank Dellaert f80ac5d7d5 backSubstitute functions (unit-tested in CitySLAM) for preconditioning 2009-12-30 17:13:24 +00:00
Frank Dellaert 2368f3605a getReference 2009-12-30 14:53:40 +00:00
Frank Dellaert 15bb00683a transpose backsubstitute on upper-triangular matrix 2009-12-30 13:20:16 +00:00
Michael Kaess 42fca8c399 nonlinear update, all but rhs/config 2009-12-30 04:27:14 +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 737a2f1e05 unit test enabled again and working 2009-12-29 14:54:45 +00:00
Frank Dellaert c43cd425ab new back-substitution functions that can do unit triangular solves 2009-12-29 13:59:34 +00:00
Michael Kaess 75ab62a729 ISAM2 (nonlinear ISAM) partially there, unit test currently disabled 2009-12-29 05:57:05 +00:00
Frank Dellaert 8d4a029665 rhs method 2009-12-28 18:46:01 +00:00
Frank Dellaert 543d3fcd65 System now a class (gradient is method) 2009-12-28 17:28:48 +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 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
Frank Dellaert 1fac98b4cb Errors:dot, VectorConfig::operator*/-, as a result Conjugate Gradient Descent template now works for factor graphs 2009-12-28 08:15:09 +00:00
Michael Kaess 5dfd1921e1 template nightmare resolved, all tests working 2009-12-27 23:15:36 +00:00
Frank Dellaert 266fc56dea Gradient using new operator^ and errors method 2009-12-27 12:13:31 +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
Frank Dellaert 6614434b83 System version of CG 2009-12-26 21:25:45 +00:00
Richard Roberts 8d3918e7f9 Typo made testPose2Factor not build on Linux 2009-12-26 19:31:02 +00:00
Frank Dellaert f3965b07ca Conjugate Gradient Descent template (in progress) 2009-12-26 15:06:54 +00:00
Frank Dellaert 886c7dcdcc formatting and comments 2009-12-26 15:06:21 +00:00
Frank Dellaert 8dbf79706e commented out two broken tests 2009-12-26 15:05:55 +00:00
Michael Kaess 4403b51fcd isam functionality separated into ISAM class, still within BayesTree 2009-12-26 04:44:13 +00:00
Frank Dellaert 2cb52694b5 Multiply with transpose sugar A'*v = A^v 2009-12-25 17:52:58 +00:00
Michael Kaess 80ff7e6d26 uncommented urban In Makefile.am as it prevents linking; added Pose2Prior; ISAM2/planar now working 2009-12-24 23:44:08 +00:00
Richard Roberts 92b60a8543 Made 'between' derivatives in the tangent space of the solution instead of tangent space of identity, this makes Pose2 an "origin-free" manifold. 2009-12-21 16:43:23 +00:00
Frank Dellaert d0b757da48 remove method to set factor to NULL 2009-12-20 21:21:01 +00:00
justinca 3158a5c7c1 Rework UrbanMeasurement to be more efficient, less duplicate code. Add real unit tests for the class 2009-12-20 14:59:37 +00:00
Frank Dellaert d362fa13d8 print is more intuitive using reverse order 2009-12-20 11:56:33 +00:00
Frank Dellaert 18c44e0d1f Comments only 2009-12-20 10:32:34 +00:00
justinca 7012fd2857 UrbanMeasurement first pass at implementation. Still need to add test data, sort out some details. 2009-12-18 19:43:55 +00:00
Richard Roberts 82825a30bf Fixed unit test broken by fix in Pose2Factor 2009-12-18 14:42:19 +00:00
Frank Dellaert b14094cb1f testUrbanOdometry 2009-12-18 07:15:19 +00:00
Frank Dellaert d11d674c01 addOdometry now works 2009-12-18 06:55:44 +00:00
Frank Dellaert c987ab397c error_vectors 2009-12-18 06:55:24 +00:00
Frank Dellaert bf504d30db new concatVectors call 2009-12-18 06:11:19 +00:00
Frank Dellaert ac72d1cc22 renamed transformPose_to to transform_to, composeTransform to compose, and changed nr. of arguments of Dtransform_to2 (to two) 2009-12-18 05:36:53 +00:00
Frank Dellaert eaf27af92d error_vector and error unit-tested 2009-12-18 05:18:31 +00:00
Frank Dellaert edb72d305f better error message, formatting 2009-12-18 05:16:09 +00:00
Frank Dellaert 0194926dc2 transpose not needed 2009-12-18 05:14:34 +00:00
Frank Dellaert c9bd327961 formatting 2009-12-18 05:14:08 +00:00
Alex Cunningham e2bc13a2a6 Renaming gradients -> jacobians 2009-12-18 03:05:47 +00:00
Frank Dellaert a3deb992c4 use BOOST_FOREACH 2009-12-18 02:48:21 +00:00
Alex Cunningham a1918056a5 Changed NonlinearConstraints to take cost and gradient functions that do not take the list of keys. Tests have been reconstructed using boost::bind 2009-12-18 02:39:02 +00:00
Frank Dellaert 5a0bc8ab53 remove binaries 2009-12-18 02:30:05 +00:00
Frank Dellaert cf1fde7bda UrbanFactor, UrbanGraph.cpp, template instantiations 2009-12-18 02:27:50 +00:00
Alex Cunningham 7d0de77fc6 Changed argument ordering for constraints 2009-12-18 01:40:29 +00:00
Frank Dellaert 7dfc67860c unit tests for new Urban* classes 2009-12-18 01:24:28 +00:00
Alex Cunningham d75a602546 Removed failed test testSQPOptimizer 2009-12-18 01:24:19 +00:00
Richard Roberts ff817551de Added FactorGraph::replace(index, factor) to replace one factor with another (used in FrameSLAM). 2009-12-18 00:13:38 +00:00
Richard Roberts 3c0ae0ec1c Math fix in linearize() and error_vector() 2009-12-18 00:10:20 +00:00
Richard Roberts 7161878285 Small changes: standardized constructors, added log() and unit tests, removed +,- ops, angle() changed to theta(), print functions 2009-12-18 00:09:54 +00:00
Viorela Ila d61d92c0e7 UrbanGraph class and testUrbanGraph TODOs 2009-12-17 21:23:50 +00:00
Frank Dellaert 68de3ae715 better comments 2009-12-17 19:34:27 +00:00
Manohar Paluri dc9a966fdd moved shared pointer declaration to Cal3_S2.h 2009-12-17 10:02:43 +00:00
Richard Roberts 3326759f0b Removed extra ; 2009-12-16 21:41:33 +00:00
Richard Roberts c45f64657f Changes to make Pose2Config work with NonlinearOptimizer 2009-12-16 21:40:41 +00:00
Richard Roberts 83c95f2343 Changed constructor used from Pose2(t,R) to Pose2(R,t) 2009-12-16 21:39:03 +00:00
Frank Dellaert 9efac7b3fb Some re-naming and re-formatting only 2009-12-15 05:34:49 +00:00
Richard Roberts 94f986bbe7 Indentation 2009-12-15 00:00:02 +00:00
Chris Beall a7a5e5e816 small performance improvement by using a pointer to address r 2009-12-14 16:56:50 +00:00
Richard Roberts 71bc9ca0f7 Added unit tests that were missing 2009-12-14 15:45:45 +00:00
Richard Roberts 971b575715 Fix duplicate definition error by adding 'inline' to checkConvergence 2009-12-14 06:10:51 +00:00
Michael Kaess 2270c7d787 BayesTree animation 2009-12-14 06:01:15 +00:00
Richard Roberts c4b60bfd65 Closing # 118: Made Pose2 use Rot2, added 'compose' for Pose2, made slight modifications to Rot2. Also added additional unit tests. This change shouldn't break anything but let me know if it does. 2009-12-14 03:02:05 +00:00
Michael Kaess 0116b3a515 severe bug fixed in updating of Bayestree 2009-12-13 20:54:48 +00:00
Viorela Ila d5d70d7751 gradientDescent_ and conjugateGradientDescent_ works in matlab 2009-12-13 03:02:14 +00:00
Frank Dellaert 6e3f36dc63 Trying different orderings 2009-12-12 12:53:39 +00:00
Frank Dellaert 2914d663de No print in tests 2009-12-12 06:18:59 +00:00
Frank Dellaert c38683cd64 Sped up and fixed (?) sparse 2009-12-12 06:18:29 +00:00
Frank Dellaert 99533f286f Vanilla Conjugate Gradient Descent works 2009-12-12 04:44:34 +00:00
Frank Dellaert 2a2963b7dd Added a numerical gradient calculation test 2009-12-12 04:13:12 +00:00
Frank Dellaert 56a4172480 Fixed printing in matlab 2009-12-12 04:12:24 +00:00
Chris Beall be10fc2a90 18% performance boost by using pointer to address destination matrix A 2009-12-11 23:59:37 +00:00
Viorela Ila 631248f902 no print yet 2009-12-11 23:16:57 +00:00
Viorela Ila 570c6a3c71 print method for Pose2Graph 2009-12-11 23:00:52 +00:00
Viorela Ila 8a9f05059c implement getOrdering_ to work in matlab 2009-12-11 22:53:48 +00:00
Frank Dellaert a1e90af90f exmap that takes Vector 2009-12-11 22:43:34 +00:00
Frank Dellaert 137291b2c9 Vector-like operators 2009-12-11 21:38:08 +00:00
Frank Dellaert e46cfbd7c4 fixed bug in sum 2009-12-11 21:37:52 +00:00
Frank Dellaert bca489384e dot product 2009-12-11 21:37:40 +00:00
Viorela Ila 76b55aba7d linearize method for Pose2Graph works in Matlab!! 2009-12-11 21:34:08 +00:00
Viorela Ila 03304ac421 testPose2Graph tests linearize 2009-12-11 19:32:46 +00:00
Frank Dellaert a66f08a5e0 testing new alphaFactor 2009-12-11 18:03:43 +00:00
Frank Dellaert f91a1f0192 error_vector 2009-12-11 17:42:54 +00:00
Frank Dellaert abc268a13d quick cleanup - expmap comments 2009-12-11 14:22:35 +00:00
Frank Dellaert 16e1f6e56d use Vector_ for conciseness 2009-12-11 05:28:19 +00:00
Frank Dellaert 726858145a gradient descent (with fixed nr. of iterations, choosing optimal step size) 2009-12-11 04:59:05 +00:00
Frank Dellaert 299fcf1e04 scale is const ! 2009-12-11 04:57:31 +00:00
Frank Dellaert c57501eddd fix macro so GTSAM_PRINT(*foo) works 2009-12-11 04:57:14 +00:00
Frank Dellaert 7151e7b24a new constructor from vector 2009-12-11 04:56:29 +00:00
Frank Dellaert 4af2382105 Gradient at solution is zero ! 2009-12-11 02:59:09 +00:00