Commit Graph

117 Commits (1949fc251183e66f82a70a7c5b3e9d2df67b7b0a)

Author SHA1 Message Date
hchiu a1ff716daf Add min_diagonal and max_diagonal as Ceres. 2014-02-16 16:32:18 -05:00
Luca 8b6bb80cec small fix 2014-02-16 16:05:01 -05:00
hchiu f804fd9bd1 Traced Ceres and took sqrt of diagonal term as they did. 2014-02-16 15:50:26 -05:00
dellaert c31d48dba1 New flag to govern diagonal damping, off by default 2014-02-16 11:57:51 -05:00
hchiu b0618b8894 Replace the identity matrix with diagonal of Hessian. 2014-02-15 20:46:28 -05:00
Luca 71e4015304 bug fix: before hessianDiagonal seg-faulted with no noise model 2014-02-15 16:44:20 -05:00
Luca 89d7e61ca9 added minModelFidelity (use if slightly different from CERES) 2014-02-12 16:47:27 -05:00
Luca d13ef17ce8 added "disableInnerIterations" and "modelFidelity" computations 2014-02-12 16:16:25 -05:00
Luca c9ead8bbd3 computation of modelMismatch in LM 2014-02-07 18:27:37 -05:00
Luca 7bf0d8ebf1 commented functionality - not working yet 2014-01-27 22:56:21 -05:00
Luca 2a3575fcbc added measure of fit between original and linearized model in LM 2014-01-27 22:02:02 -05:00
Luca 8c46e1d0cf restricted cout to suitable verbosity level 2014-01-24 17:48:30 -05:00
Luca 8be9d37d72 created infrastruction for more general lambda policies in LM 2014-01-24 17:46:45 -05:00
Richard Roberts 45c022a791 Using Eigen Identity and Zero functions in LM damp 2013-11-18 19:23:29 +00:00
Frank Dellaert 9e0893d807 Better debugging output for LM 2013-11-06 06:29:42 +00:00
Richard Roberts f262801932 Replaced gettimeofday with boost posix time for compatibility on windows 2013-11-05 16:06:12 +00:00
Frank Dellaert a1d78150ad Moved logging to start of iteration. 2013-10-31 19:14:18 +00:00
Frank Dellaert ff050b82d9 Log *before* iteration starts 2013-10-31 03:19:09 +00:00
Pablo Fernandez Alcantarilla 108df6e8cc LevenbergMarquardt time start ok 2013-10-30 22:30:02 +00:00
Frank Dellaert 855e2aa18c Logging works, see testNonlinearOptimizer.cpp 2013-10-30 15:40:22 +00:00
Frank Dellaert cfe9b9c52c Linearize can now be overwritten 2013-10-28 17:35:14 +00:00
Frank Dellaert def9b84e45 Added virtual solve method to NonlinearOptimizer that you can override, e.g., with Ceres
See example in testNonlinearOptimizer
As part of this, I also merged SuccessiveLinearizationParams into NonlinearOptimizerParams, which is now in its own separate file NonlinearOptimizerParams.h
2013-10-25 18:27:43 +00:00
Luca Carlone 3a139587ee minor changes 2013-10-17 01:18:22 +00:00
Luca Carlone eedbbc9aac added number of inner iterations counter in LM 2013-10-16 23:17:27 +00:00
Luca Carlone 5c4395e812 Removed const 2013-09-30 20:39:53 +00:00
Frank Dellaert 2c80cde2d6 Removed catch-all trap -- Richard check whether kosher. Issue is gdb can't figure out original exception. 2013-09-01 15:36:14 +00:00
Richard Roberts e39d100b6a Made most global unit tests compile, includes dogleg, iterative, kalman filter, etc 2013-08-06 13:44:22 +00:00
Richard Roberts 0d05bf5ac5 Started on HessianFactor, converted Nonlinear stuff and disabled a lot of more advanced classes so the library compiles with nonlinear using unordered. 2013-08-01 21:57:43 +00:00
Richard Roberts c868056c22 Updating nonlinear factors, nonlinear factor graph, nonlinear optimizers, and LinearContainerFactor to work with unordered linear. Does not compile - needs more work. 2013-08-01 21:57:33 +00:00
Richard Roberts 3ade190128 Renamed old classes to "Ordered" and removed "Unordered" name from new classes 2013-07-29 23:55:40 +00:00
Richard Roberts 67f3109e75 Fixed warnings in preexisting code 2013-07-01 20:19:36 +00:00
Richard Roberts 7309aa0ffa Unit tests pass with piecewise VectorValues implementation (for fast permutations) 2012-12-18 14:21:02 +00:00
Richard Roberts bd285fbb52 Merge remote-tracking branch 'svn/trunk' into isam2-chain-optimization
Conflicts:
	gtsam/linear/HessianFactor.cpp
	gtsam/linear/VectorValues.cpp
2012-12-18 14:20:31 +00:00
Richard Roberts a6df33b15f Added missing Levenberg-Marquardt verbosity printout for "LAMBDA" verbosity 2012-11-23 23:24:55 +00:00
Richard Roberts 5b9271cb97 VV work 2012-11-23 23:22:53 +00:00
Richard Roberts 89b50e7679 Renamed tic -> gttic and toc -> gttoc to avoid conflict with PCL tic/toc 2012-10-02 20:18:41 +00:00
Richard Roberts 4876cc7ff7 Revamped timing statements - much easier to use, exception-safe (see email to frankcvs list) 2012-10-02 18:36:39 +00:00
Chris Beall 4297d24c96 changed tabs to spaces for consistent indentation in all of GTSAM 2012-10-02 14:40:07 +00:00
Richard Roberts 1dbda3f7ed Standardized and corrected error handling on the linear size - underconstrained and negative systems always throw IndeterminantLinearSystemException, and all assertions checking for infinite values are removed. Also, we were not properly checking the result of Eigen's Cholesky, so sometimes elimination continued with incorrect matrices despite being underconstrained when Cholesky failed but did not produce NaN's. 2012-08-22 22:40:27 +00:00
Yong-Dian Jian 168ddf5457 add Cal3DS2.calibrate() with fixed point iteration
reorg nonlinear conjugate gradient solvers
wrapper for the linear solvers
2012-07-24 21:06:33 +00:00
Yong-Dian Jian 5acc52bbae add set/get interface for LMParameters in c++ and matlab 2012-06-23 20:07:03 +00:00
Yong-Dian Jian 8bdef8a392 1. return a copy instead of shared ptr
2. arrange the code a bit
2012-06-14 22:07:17 +00:00
Yong-Dian Jian 734a18b02e old spcg solver fixed 2012-06-09 02:42:45 +00:00
Yong-Dian Jian 913160462a in the middle of resurrecting spcg 2012-06-08 16:45:16 +00:00
Summit Patel b9927a1b7e Fixed Doxygen warnings. 2012-06-07 23:08:43 +00:00
Richard Roberts 90578e2532 Merge remote-tracking branch 'svn/trunk' into windows
Conflicts:
	gtsam.h
	wrap/CMakeLists.txt
2012-06-05 13:11:34 +00:00
Yong-Dian Jian 74322b0764 remove the optional 2012-06-04 17:23:45 +00:00
Richard Roberts 9c8377f476 Merge remote-tracking branch 'svn/trunk' into windows
Conflicts:
	examples/Pose2SLAMExample.cpp
	examples/vSLAMexample/CMakeLists.txt
	examples/vSLAMexample/vISAMexample.cpp
	gtsam/nonlinear/ISAM2-impl.cpp
	gtsam/slam/pose2SLAM.cpp
	gtsam/slam/tests/testGeneralSFMFactor.cpp
	gtsam/slam/tests/testGeneralSFMFactor_Cal3Bundler.cpp
	gtsam/slam/tests/testPlanarSLAM.cpp
	gtsam/slam/tests/testPose2SLAM.cpp
	tests/testDoglegOptimizer.cpp
	tests/testGraph.cpp
2012-06-04 14:13:37 +00:00
Yong-Dian Jian 7d132ef217 add a simple spcg implementation and revive the example 2012-06-03 14:52:26 +00:00
Richard Roberts 1ca9e7049e Merge remote-tracking branch 'svn/trunk' into windows
Conflicts:
	gtsam/linear/HessianFactor.h
	gtsam/nonlinear/Marginals.cpp
2012-05-28 12:22:36 +00:00
Yong-Dian Jian b0c91d2fcf 2012-05-27 18:26:25 +00:00
Yong-Dian Jian ace4327897 reorg the nonlinear/linear parameters to accommodate the iterative solvers 2012-05-25 15:26:30 +00:00
Richard Roberts 510e2eacac More progress in compiling on windows 2012-05-22 22:52:17 +00:00
Richard Roberts 7b183d1237 Renamed derived optimizer verbosity parameters to start with 'verbosity' to make more auto-complete friendly 2012-05-15 13:33:32 +00:00
Richard Roberts 68467448a7 Fixed small LM bug (solving original instead of damped system) and added unit test 2012-05-15 13:23:43 +00:00
Richard Roberts 9e0996296a Added Cholesky/LDL switch in NonlinearOptimizer, preparing to remove
LDL, remove dependency of NonlinearOptimizer on linear solvers.
2012-05-15 05:08:57 +00:00
Richard Roberts 75bd1689df Changes in progress 2012-05-14 19:10:02 +00:00
Stephen Williams fdc4cc586d Incremental modifications to the new Nonlinear Optimizer interface. 2012-05-14 18:11:52 +00:00
Richard Roberts c83a399bba Continuing code simplification / restructuring 2012-04-05 02:45:47 +00:00
Richard Roberts d0211bb031 Simplifying code and minor restructuring to support SPCG - removed update functions so NLO is now completely immutable, moved ordering to parameters, added SuccessiveLinearizationOptimizer base class that will do direct and iterative linear solving, with derived classes for GN, LM, DL. This structure will allow us to later add a new NLO subclass for nonlinear gradient descent methods. 2012-04-04 23:20:42 +00:00
Richard Roberts 9366136c78 In progress - making NLO interface less confusing / error prone with a separate "state" class. Refactoring in NLO to reduce amount of code and remove code duplication. 2012-04-02 00:26:42 +00:00
Richard Roberts 5be3af8d6d Added ordering accessor 2012-03-24 19:53:25 +00:00
Richard Roberts bcd663244a Moved printing to NonlinearOptimizer base class 2012-03-23 03:38:58 +00:00
Richard Roberts b8ad7b2a0c Fixed bugs, all unit tests pass 2012-03-22 18:02:25 +00:00
Richard Roberts 8748f483b0 NonlinearOptimizer, GaussNewtonOptimizer, and LevenbergMarquardt Optimizer compile 2012-02-28 05:30:53 +00:00
Richard Roberts 67564d043b LevenbergMarquardtOptimizer in progress 2012-02-28 01:17:42 +00:00
Richard Roberts e7e64e945b GaussNewtonOptimizer, started LevenbergMarquardtOptimizer 2012-02-27 01:18:36 +00:00