Commit Graph

364 Commits (6e2312294cf22e86d9237dba756256e5577e45f7)

Author SHA1 Message Date
Frank Dellaert 0af5ac2161 Fixed linearize 2011-09-08 03:22:46 +00:00
Richard Roberts 72c2929ad6 Changed default to LDL instead of QR in NonlinearOptimizer, see associated frankcvs email 2011-09-07 21:52:42 +00:00
Alex Cunningham 32b6044635 Fixing the build by removing the extraneous makefile entry and fixing a typo 2011-09-07 20:10:16 +00:00
Alex Cunningham c9c61aa662 Defaults nonlinear optimization to using LDL if possible 2011-09-07 20:10:15 +00:00
Frank Dellaert ac610b2b7e WhiteNoiseFactor class 2011-09-07 17:49:15 +00:00
Richard Roberts 936ee6d9fd ISAM2 refactoring and documentation 2011-09-07 15:42:49 +00:00
Frank Dellaert 44b74c3d55 Fixed bad doxygen @Author: to correct @author style 2011-09-07 01:26:28 +00:00
Frank Dellaert 8066ba69c4 Removed spurious Testable inheritance 2011-09-07 01:22:04 +00:00
Frank Dellaert 638d4f1978 Documentation and variable renaming for clarity 2011-09-05 21:28:26 +00:00
Yong-Dian Jian 5c6b6e2eb9 fix a misnomer, replace "Mahalanobis" with "distance" in noiseModel::Base 2011-09-05 00:14:16 +00:00
Frank Dellaert f2a66a64fc virtual destructor 2011-09-04 01:05:30 +00:00
Frank Dellaert 23ef1cf084 Formatting and comments 2011-09-03 04:48:06 +00:00
Frank Dellaert 04e41f8c38 Split off NoiseModelFactor (a NonlinearFactor with a NoiseModel) from NonlinearFactor (a Factor with dim, linearize, and symbolic methods). NonlinearConstraint derives from NoiseModelFactor. 2011-09-03 03:46:19 +00:00
Richard Roberts 06fd0335cc ISAM2 parameters struct instead of function arguments and hard-coded values, also documentation improvement and refactored IndicesFromFactors 2011-09-01 21:53:57 +00:00
Chris Beall 872b145b16 removed typename because MacOS gcc 4.2 complained 2011-09-01 20:28:24 +00:00
Michael Kaess 71a7ddb354 removed code for older WAFR algorithm 2011-09-01 01:00:21 +00:00
Richard Roberts ec1e53a60d Fixed ISAM2 doxygen documentation 2011-08-30 21:53:42 +00:00
Stephen Williams fad08ad26a Removed unneeded typedefs 2011-08-30 19:52:45 +00:00
Richard Roberts ca62706f55 Added find function and more efficient version of pop_back to Ordering 2011-08-30 19:05:00 +00:00
Richard Roberts 059de23b6e Moved ISAM2 from inference to nonlinear 2011-08-30 17:15:50 +00:00
Richard Roberts d4dbf12f8b Bug fix in ISAM2 wildfire function 2011-08-29 21:00:48 +00:00
Stephen Williams 27d062a0f0 Fixed compile errors due to new SharedGaussian definition 2011-08-27 13:50:35 +00:00
Stephen Williams 82fdb0a5f8 Added ExtendedKalmanFilter class and easyPoint2KalmanFilter example 2011-08-27 12:28:47 +00:00
Yong-Dian Jian fd07d61a2e Add a robust noise model. Change SharedGaussian to SharedNoiseModel 2011-08-26 21:41:01 +00:00
Stephen Williams b39970ad9a Removed dependency of eloboratePoint2KalmnFIlter example on the LinearizedFactor class 2011-08-25 13:34:06 +00:00
Richard Roberts b57210efcc Levenberg-Marquardt increases lambda when the Hessian is indefinite or negative by catching an exception 2011-08-24 20:51:54 +00:00
Stephen Williams f4bfc435ff Added first of the Kalman Filter examples 2011-08-22 15:35:24 +00:00
Richard Roberts d329d06b77 (in branch) moved ISAM2 into main gtsam library 2011-08-18 18:06:35 +00:00
Richard Roberts 247005f83c Fixed errors when compiling with clang++ 2011-07-01 22:52:57 +00:00
Alex Cunningham 985aeeb9c4 Moved ccolamd build script into general 3rdparty script 2011-06-16 19:55:45 +00:00
Alex Cunningham 778001f63e assorted cleanup - mostly comments and adding implementations to cpp files, rather than in header files 2011-06-13 20:01:58 +00:00
Alex Cunningham fa4faa274a Merge branch 'prep_0.9.3' 2011-06-13 16:55:31 +00:00
Alex Cunningham 36f9ebae90 Removed files full of broken code, removed simulated2D matlab files, condensed slam unit tests, added the only known test for SPCG in gtsam 2011-06-04 20:42:29 +00:00
Alex Cunningham c4d9208eeb Added serialization for most linear/inference structures, simulated2D - serialization, except for example domains, should be complete 2011-06-04 16:52:54 +00:00
Richard Roberts 265b057580 Removed key sorting from NonlinearFactor 2011-06-04 14:54:27 +00:00
Alex Cunningham 9160775d2a Added nonlinear constraints to gtsam library 2011-06-03 15:07:11 +00:00
Alex Cunningham 79c09708e8 Assorted cleanup to remove ublas references, switch more Vector/Matrix utility functions to use Eigen in templates, reimplemented backsubstitution with Eigen 2011-06-02 20:35:02 +00:00
Alex Cunningham e9b8a48c43 ccolamd now installs and works with gtsam - all tests pass 2011-06-02 14:35:26 +00:00
Alex Cunningham 2e942f08ac Removed some extraneous comments from eigen transition 2011-05-20 18:43:37 +00:00
Alex Cunningham e20561be73 Merge branch 'eigen' 2011-05-20 13:52:08 +00:00
Alex Cunningham d35eb581ee Removed experimental cmake files - see the branch cmake_build 2011-05-19 19:16:03 +00:00
Yong-Dian Jian 85ff7853eb experimental cmake support for linux 2011-05-09 16:53:08 +00:00
Richard Roberts 5057138ef1 Returning GaussianFactor instead of JacobianFactor from NonlinearFactor::linearize and NonlinearFactorGraph::linearize, so that HessianFactors may be returned as well. 2011-04-12 21:18:10 +00:00
Alex Cunningham ce70480ae0 Made keys_ protected to allow initialization in a constructor body, added constructor for NonlinearFactor allowing more than two keys 2011-03-30 14:09:34 +00:00
Alex Cunningham f244310250 Fixed serialization for factors and nonlinear factors 2011-03-30 03:07:14 +00:00
Richard Roberts f5eac05add Merged factorization branch - sequential and multifrontal factorization with a function argument to specify the elimination method 2011-03-29 21:32:22 +00:00
Richard Roberts 07820af903 Fixed crashes when doing linearize/solve on nonlinear factor graphs with NULL factors 2011-03-29 19:51:50 +00:00
Richard Roberts 1bd10e4b21 Increased precision when printing out convergence info in NonlinearOptimizer 2011-03-29 19:50:51 +00:00
Frank Dellaert e635b21154 made keys_ and nrFrontals_ private to ensure correct constructors are called 2011-03-25 16:57:28 +00:00
Frank Dellaert 5c193422af Major change, elimination functions are now passed an "Eliminate function", so you can select at run-time which factorization method is used (symbolic, QR, etc...). 2011-03-24 19:27:12 +00:00
Frank Dellaert 5fd04188e4 cmath rather than math.h header, in implementation file only 2011-03-21 15:05:11 +00:00
Kai Ni cc3db4f918 immediately returns when the maximum iteration number is 0 2011-03-11 05:28:53 +00:00
Chris Beall 86bfb571d4 sharedFactor from template instead of being hardcoded 2011-03-08 15:32:44 +00:00
Richard Roberts e4ed8cfd60 Made NonlinearFactor inherit from Factor<Symbol>, also hopefully fixed a compile error when implicitly up-casting from a derived factor type to its base type, which previously had some workaround(s) in Alex's code and in DiscreteFactor 2011-03-04 00:18:17 +00:00
Alex Cunningham a87a52035d Serialization for (some) nonlinear factors now works, added virtual destructors to factor classes that needed them. 2011-03-03 17:16:13 +00:00
Alex Cunningham cee6b4523e Improved serialization for noisemodel and NonlinearFactors, however currently fails on NonlinearFactorGraphs and some factors 2011-02-23 20:31:19 +00:00
Alex Cunningham 4865f1a64d Added more serialization functionality to noiseModel, but SharedGaussians segfault on test, so tests for Nonlinear graphs are commented out 2011-02-23 05:19:07 +00:00
Alex Cunningham 299ce59c61 Used Boost.MPL to make the char value from a TypedSymbol available as a type to templated functions/classes 2011-02-18 19:57:19 +00:00
Julian Straub 02fe443b44 fixed bug when reorder/relinearize is called with no factors 2011-02-16 22:59:09 +00:00
Alex Cunningham be6bec2630 fixed constness bug in NonlinearISAM marginals 2011-02-12 18:08:21 +00:00
Alex Cunningham 61d3d30f3b Added a marginalCovariance function directly to NonlinearISAM 2011-02-11 22:23:42 +00:00
Alex Cunningham 9f4661544f VariableIndex is now constructed at the creation of a NonlinearOptimizer and passed in at solver creation. 2011-02-10 16:51:56 +00:00
Alex Cunningham 7407843214 Reworked nonlinear optimizer so that it only uses a solver member variable if you are using spcg. SPCG may be broken at this point, and its member variable will be removed soon. 2011-02-10 16:01:29 +00:00
Alex Cunningham 06b08c6f85 Fixed bug with shared solvers in recursive LM nonlinear optimizer 2011-02-10 16:01:28 +00:00
John Rogers 190a612086 Temporarily overriding the FastMap use in LieValues so that LieValues can be serialized properly 2011-02-07 17:12:53 +00:00
Alex Cunningham 719e851643 Added a functional version of LM optimization for comparison 2011-02-06 04:13:32 +00:00
Alex Cunningham 900227234f added an accessor for the nonlinear graph in NonlinearOptimizer 2011-02-04 03:39:45 +00:00
Richard Roberts 62f716002a Further cleanup of fast_pool_allocator 2011-02-04 03:10:29 +00:00
Alex Cunningham 37ee4f6cb3 Added a test for Ordering, added pop_back() to ordering, made changing the ordering in NonlinearISAM possible 2011-02-02 03:50:06 +00:00
Alex Cunningham e4cda1b360 Added accessor for NonlinearISAM, comments and whitespace 2011-01-29 00:53:15 +00:00
Richard Roberts 4880257e69 Merging hessianfactor branch, Cholesky is now default and GaussianFactor is virtual (see email to frankcvs) 2011-01-20 22:22:00 +00:00
Richard Roberts 9ac20eea8a Made LieValues allow for values to not be on the linear side during expmap 2011-01-18 02:40:22 +00:00
Richard Roberts 711e8c0a32 Fixed NonlinearFactor3 key sorting bug found by Niko Sünderhauf (TU-Chemnitz) 2011-01-17 16:48:47 +00:00
Richard Roberts 859bd16fd5 Made NonlinearOptimizer::try_lambda public to allow the linear system to be modified at every LM iteration, this needs to be done somehow to implement Gaussian mixture EM, but this isn't an ideal solution. Also added a missing 'const' to the linear graph argument. 2011-01-02 04:57:48 +00:00
Richard Roberts 193e068cee Added missing shared_ptr typedef to NonlinearFactorGraph 2011-01-02 04:48:50 +00:00
Richard Roberts b68923ea9a Added accessor for NonlinearOptimizer parameters 2010-12-31 17:38:05 +00:00
Kai Ni eada34bd76 fixed a bug that causes the optimizer return an incorrect error 2010-12-30 11:15:34 +00:00
Richard Roberts 9edeb1102c Fixed bug in BayesTree shortcuts and marginals. Also added an input check to Permutation::PushToBack and PullToFront that catches the bad input of duplicate variables caused by the bug. 2010-12-21 18:23:56 +00:00
Richard Roberts a8a584d38e Rolling back last commit (undoing merge of hessianfactor branch) - does not compile on Linux, could be compiler or boost version problems. Also will probably break Alex's stuff so will work that out before merging. 2010-12-17 01:11:28 +00:00
Richard Roberts de1892016d Merged in hessianfactor branch, Cholesky is now default. This merge also includes improved timing statements with automatic outlining and low overhead 2010-12-17 00:51:51 +00:00
Alex Cunningham 9af0a20439 constness of access functions 2010-12-15 17:06:46 +00:00
Alex Cunningham 000e58d4b2 Put NonlinearISAM into the gtsam namespace 2010-12-15 17:01:04 +00:00
Alex Cunningham f4babac85c Moved ISAMLoop to gtsam/nonlinear and renamed it to NonlinearISAM so it can be used elsewhere 2010-12-15 16:51:46 +00:00
Kai Ni 3a09395a01 fixed a bug in colamdOrdering 2010-12-10 09:19:06 +00:00
Kai Ni 7a59d3cfe0 fixed a bug in colamdOrdering 2010-12-10 07:38:05 +00:00
Chris Beall 0b11a02183 fixed initialization list warnings 2010-12-09 18:31:25 +00:00
Richard Roberts a6fd5ff9e2 Removed unused inference-inl.h and testOrdering.cpp, added unit test for ordering with unobserved variables. 2010-12-09 01:34:20 +00:00
Alex Cunningham ea61c9d619 Fixed missing key in serialization function for NonlinearFactor3 2010-12-08 17:25:55 +00:00
Yong-Dian Jian 4c8d65a069 take out SymbolSpec 2010-12-04 19:23:10 +00:00
Yong-Dian Jian 23f57ea22a add a typedef 2010-12-04 19:21:50 +00:00
Kai Ni b55b9de27f record iteration numbers 2010-12-03 03:23:35 +00:00
Yong-Dian Jian f661baacbb add a struct to represent vector of symbols 2010-12-01 22:39:03 +00:00
Yong-Dian Jian 06c319f42c fix bugs 2010-11-24 02:16:35 +00:00
Kai Ni 1e54c8c2c0 remove duplicated constructors 2010-11-22 09:18:01 +00:00
Kai Ni e726f7c7af remove backward compatible functions in NonlinearOptimizer 2010-11-21 22:00:22 +00:00
Richard Roberts d6929d4409 Storing variable index in solver, saved between nonlinear iterations 2010-11-15 23:01:50 +00:00
Alex Cunningham 3a978d6930 Added an exists function to Ordering 2010-11-10 17:08:49 +00:00
Chris Beall 0bd3617630 Levenberg Marquardt changed from recursive to iterative implementation to reduce memory footprint. 2010-11-09 05:58:31 +00:00
Alex Cunningham d20118abbc Added dims function so that TupleConfig1 works 2010-11-06 17:48:43 +00:00
Alex Cunningham 15310ed6ad Added fix to make TupleConfig1 work 2010-11-06 17:35:47 +00:00
Richard Roberts 01c4e5f892 Fixed warnings 2010-11-05 19:53:28 +00:00
Alex Cunningham d9fea3946a Fixed references to "CONFIG" in instantiation macros 2010-11-05 15:26:33 +00:00
Kai Ni 448ada270a create n-way factor, return keys from nonlinear factor graph 2010-10-30 19:27:30 +00:00
Yong-Dian Jian 8c91fe5f53 move things to vSLAM according to new policies 2010-10-30 05:31:22 +00:00
Yong-Dian Jian b53bcc7d66 add preconditioned conjugate gradient 2010-10-28 03:26:03 +00:00
Yong-Dian Jian 70aa2f7f5d fix compile error 2010-10-26 23:11:22 +00:00
Richard Roberts e1b0f7b238 Changed default NonlinearOptimizer verbosity to SILENT 2010-10-26 20:44:39 +00:00
Richard Roberts a735b7cdeb Virtual equals and print methods in NonlinearFactor so that printing nonlinear factors works correctly 2010-10-26 20:21:52 +00:00
Yong-Dian Jian dbccf6f3eb remove redundant variable 2010-10-26 16:31:21 +00:00
Richard Roberts 67ecfed86e NonlinearOptimizer marginalCovariance returns mean as well 2010-10-26 13:51:39 +00:00
Yong-Dian Jian 0778f37063 fix ambiguous function overload and default threshold 2010-10-25 23:18:55 +00:00
Richard Roberts 3743342534 Standardized function names - marginalFactor, marginalFactorGraph, marginalCovariance 2010-10-25 22:45:45 +00:00
Yong-Dian Jian 7bfd8b36f4 new nonlinear optimizer interface, all parameters are pulled out to the NonlinearOptimizationParameters. Some redundancy remains for full backward compatibility 2010-10-25 22:23:57 +00:00
Richard Roberts 2c90e3d836 Moved the subdirectories that compile into libgtsam.la into a 'gtsam' subdirectory. Hopefully a good fix for the problem we had trying to make a gtsam distribution, that the source directory may not be called 'gtsam'. 2010-10-25 20:10:33 +00:00