Commit Graph

460 Commits (b51a8380c4e38f5eec4b6a696ccb0173551f9a4f)

Author SHA1 Message Date
Richard Roberts d5e721a1d0 Continued work on unordered classes and elimination algorithm 2013-06-06 15:36:11 +00:00
Alex Cunningham 9c61d15fb1 Caught corner case in summarization causing ccolamd to segfault 2013-05-23 18:12:00 +00:00
Frank Dellaert d05560687b Avoid segfault on linking 2013-05-20 22:23:04 +00:00
Stephen Williams 07c4c95f18 Added serialization unit tests for binary files 2013-05-08 13:23:46 +00:00
Alex Cunningham 4e0dbbc2b1 Added tests for each summarization mode 2013-05-08 10:14:19 +00:00
Alex Cunningham c74de0136c Changed interface to allow for different modes 2013-05-08 10:14:10 +00:00
Alex Cunningham acd6e629e8 Moved older functions back to gtsam_unstable, cleanup. All tests pass. Rearranged summarization wrap interfaces. 2013-05-08 10:13:57 +00:00
Alex Cunningham 81f63bcc0e Rearranging summarization, now with unit test in gtsam 2013-05-08 10:11:45 +00:00
Richard Roberts 547323cc79 Fixed a bunch of compiler warnings 2013-04-05 21:34:04 +00:00
Richard Roberts f773a34834 Renamed experimentalMarginalizeLeaves to marginalizeLeaves and added comment 2013-03-26 20:46:08 +00:00
Richard Roberts e2aca2039e Further fix in iSAM2 marginalization 2013-03-20 13:48:16 +00:00
Richard Roberts 596c5cdae8 Revamped ISAM2::marginalizeLeaves again, more tree algorithm instead of relying on sorted keys, hopefully correct this time. 2013-03-18 19:28:02 +00:00
Richard Roberts 6111c099ab Improved build of shared vs static GTSAM libraries - now possible to build either one or both, executables link to the shared if it is being build, or otherwise to the static. Also removed separate shared/static CMake flags for gtsam_unstable, now uses the same GTSAM_BUILD_SHARED and GTSAM_BUILD_STATIC as gtsam. 2013-03-13 18:17:39 +00:00
Richard Roberts 72db4793c5 Fixed bugs in iSAM2 leaf marginalization found in HMF testing - set of factors to remove, adding new leaf clique from remaining variables. Also relies on bug fix in BayesTree::removeClique a couple of commits ago. 2013-03-05 05:47:27 +00:00
Richard Roberts cd300bfeff First pass at marginalization of leaves in iSAM2 - passes unit tests but needs to be tested on real data 2013-02-24 19:09:54 +00:00
Alex Cunningham 7aa45115a1 Replaced depreciated boost::shared_dynamic_cast with boost::dynamic_pointer_cast to work with boost 1.53 2013-02-11 20:24:53 +00:00
Duy-Nguyen Ta 6eafc9420e update namespace mEstimator for unittests 2013-02-08 00:47:52 +00:00
Richard Roberts 013705232c Maintain reverse-lookup inside of Ordering, to allow fast partial permutations, and modified iSAM2 to use partial permutations on Ordering. Removed InvertedOrdering and updated other GTSAM code and unit tests to use the Ordering reverse-lookup function "key" instead of calculating and inverse ordering. 2013-01-08 23:31:06 +00:00
Richard Roberts c42bccbb3e Increased chain length in timeiSAM2Chain 2012-12-18 14:21:49 +00:00
Richard Roberts 4e7393cc08 Added timing test for a long chain in iSAM2 2012-12-18 14:21:12 +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 5b9271cb97 VV work 2012-11-23 23:22:53 +00:00
Richard Roberts aba48e4492 Commented out serialization in timeIncremental 2012-11-14 00:55:31 +00:00
Richard Roberts 0c3761a2a9 Reverted r14178, r14179, r14195, r14196 (isam2 chain optimizations) to move them to a branch 2012-11-11 20:51:03 +00:00
Yong-Dian Jian 43778a6ed3 --update the distance() of robust noise model
--add a nonlinear optimization unit test using robust noise model
2012-11-06 22:42:01 +00:00
Richard Roberts 43f08ce806 Increased chain length in timeiSAM2Chain 2012-11-05 01:04:16 +00:00
Richard Roberts 10f69cfca0 Added timing test for a long chain in iSAM2 2012-11-02 22:07:30 +00:00
Richard Roberts 46c1d0c512 Added joint marginal timing to timeIncremental script 2012-10-31 22:27:36 +00:00
Richard Roberts 4d4e17c2a7 Joint marginals using lowest-common-ancestor shortcuts. As part of this commit, caching of shortcuts is removed, the BayesTreeCliqueBase::marginal function computing single-variable shortcut marginals is removed, and the factor/frontal size checks in symbolic and discrete elimination are modified to permit eliminating empty factors or zero frontal variables. 2012-10-28 06:21:21 +00:00
Richard Roberts 279738c56f Renamed unit tests to match file name 2012-10-28 06:21:17 +00:00
Richard Roberts 920bb52453 Moved eliminate and eliminateOne from inference to FactorGraph 2012-10-22 17:49:41 +00:00
Richard Roberts 656080ad2f Fixed warning 2012-10-08 23:58:57 +00:00
Richard Roberts 3218a7bca4 Added missing main function 2012-10-08 23:03:02 +00:00
Richard Roberts 9793f8b7f7 Finalized batch and incremental timing scripts 2012-10-08 22:40:47 +00:00
Richard Roberts f3a2887af1 Moved GaussianBayesTree tests into their own file, out of testGaussianISAM 2012-10-08 22:40:40 +00:00
Richard Roberts b60189104c Added checks for proper noise model dimension 2012-10-05 23:23:40 +00:00
Alex Cunningham 054c326e3c Added tests related to determining why non-unit sigmas were occurring in bayes tree - solution: Vector_() is dangerous 2012-10-04 20:23:45 +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 c44f8f7f80 Fixed examples from timing statement change (missed) 2012-10-02 18:49:48 +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 96ce28625b Timing marginals in timeIncremental 2012-10-01 16:12:43 +00:00
Richard Roberts 784e9f5755 Added overall timing scripts for batch and incremental (ISAM2) solving 2012-09-28 17:48:49 +00:00
Frank Dellaert aeb43bc8fc Used technique described in http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html to turn off excessive warnings generated by boost lambda headers 2012-09-16 18:07:50 +00:00
Frank Dellaert 89cd600165 avoid warnings 2012-09-16 17:54:43 +00:00
Frank Dellaert 7266293a61 Cleaned up some remaining JacobinaFactorGraph remnants 2012-09-05 03:52:01 +00:00
Frank Dellaert c4c5dec9a3 Fixed testIterative unit tests 2012-09-05 03:06:22 +00:00
Richard Roberts b0508cc1a8 Removed JacobianFactorGraph - moved its linear algebra interface to GaussianFactorGraph and redirected all uses of it to GaussianFactorGraph 2012-09-04 22:42:09 +00:00
Frank Dellaert c55f4be0d1 Comments added 2012-09-04 22:20:40 +00:00
Richard Roberts 73f8c0830b Created new dense matrix functions in GaussianFactorGraph returning pair<Matrix,Vector> for easier access, and renamed functions to augmentedJacobian, augmentedHessian, jacobian, hessian 2012-09-04 15:05:57 +00:00
Richard Roberts abd07e553e Made new global functions in unit tests static to avoid duplicate symbols 2012-09-04 15:05:55 +00:00
Yong-Dian Jian af652b0e04 remove simpleSPCG
reorg SubgraphSolver
add unit test for SubgraphSolver
2012-09-03 19:43:08 +00:00
Richard Roberts 9497a233ce Cleaned up all remaining commented-out unit tests from the old linear rewrite - removed or reenabled as needed. 2012-09-03 18:36:05 +00:00
Frank Dellaert 35d188e36d Moved testIterative.cpp back to GTSAM, made the first test compile/run 2012-09-03 18:01:24 +00:00
Richard Roberts b6150bd27e Removed deprecated unit tests from testGaussianFactorGraphB and moved SPCG-specific ones to testGraph and testJacobianFactorGraph 2012-09-03 18:00:26 +00:00
Frank Dellaert ab7594e8f0 Made SPCG unit tests compile again, needed several fixes in iterative.h 2012-09-03 00:06:13 +00:00
Richard Roberts 3e93c488e5 Removed extra code that was sometimes maintaining a staircase pattern in JacobianFactor by sorting rows - a holdover from the staircase optimization that is no longer done now that we are using Eigen's QR 2012-08-27 22:29:56 +00:00
Richard Roberts af48d086ed Fixed missing renames 2012-07-27 19:15:58 +00:00
Richard Roberts 5177f31a5d Merge remote-tracking branch 'svn/trunk' into remove_slam_namespaces
Conflicts:
	gtsam/nonlinear/SuccessiveLinearizationOptimizer.h
	matlab/examples/Pose2SLAMExample_circle.m
	matlab/examples/Pose2SLAMExample_graph.m
	matlab/examples/StereoVOExample_large.m
	tests/testGradientDescentOptimizer.cpp
2012-07-27 19:01:43 +00:00
Stephen Williams 7fc6a622bf Added additional factors to the serialization unit test 2012-07-25 22:13:22 +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
Stephen Williams 592fa95d66 Fixed serialization for LieVector and LieMatrix 2012-07-24 14:50:01 +00:00
Stephen Williams c2daf40c5d Removed SLAM namespaces from testSerializationSLAM. Instead of testing each SLAM namespace individually, a single test was created that instanciates all variable-factor combinations. However, there is currently an issue with LieVector that should be resolved. 2012-07-23 22:50:21 +00:00
Stephen Williams 01bcd9e939 Removed SLAM namespace from testNonlinearOptimizer 2012-07-23 22:47:31 +00:00
Stephen Williams 7a0030070c Removed SLAM namespace from testNonlinearISAM 2012-07-23 22:46:55 +00:00
Stephen Williams c8f3356af5 Removed SLAM namespace from testNonlinearEquality 2012-07-23 22:46:21 +00:00
Stephen Williams 0e6762e5c9 Removed SLAM namespace from testInferenceB 2012-07-23 22:45:46 +00:00
Stephen Williams 2de44904ad Removed SLAM namespace from testGraph 2012-07-23 22:45:07 +00:00
Stephen Williams a641f599f6 Removed SLAM namespace from testGradientDescentOptimizer 2012-07-23 22:44:02 +00:00
Stephen Williams fb33b8a609 removed SLAM namespace from testGaussianJunctionTreeB 2012-07-23 22:43:17 +00:00
Stephen Williams 0863b4148d Removed SLAM namespace from testGaussianISAM2 2012-07-23 22:42:42 +00:00
Stephen Williams f56d9c18e5 Removed SLAM namespace from testDoglegOptimizer 2012-07-23 22:41:53 +00:00
Richard Roberts c32d1c7e02 Fixed dimensions bug in Marginals and added unit test 2012-07-23 19:29:52 +00:00
Richard Roberts d397139fa9 Fixed dimensions bug in Marginals and added unit test 2012-07-23 19:20:53 +00:00
Alex Cunningham 6266a2c56d Removed SimpleString from CppUnitLite - now just uses std::string and boost::lexical_cast 2012-07-18 15:43:54 +00:00
Alex Cunningham af52b6811f Fixing small warnings 2012-07-10 18:35:57 +00:00
Richard Roberts 96fc5991db Automatic removal of unused variables in iSAM2 working in unit tests! 2012-06-30 22:32:49 +00:00
Richard Roberts 86f19362ab Return FastSet instead of std::set from NonlinearFactorGraph::keys() 2012-06-30 22:32:46 +00:00
Richard Roberts f06c7ad2e9 Lots of code de-duplication and cleanup in testGaussianISAM2 2012-06-30 22:32:42 +00:00
Richard Roberts abd6795f5b In progress removing variables from iSAM2 2012-06-30 19:17:54 +00:00
Richard Roberts 57ca7d77db Removed Permuted views to simplify a lot of code - all objects that need to be permuted now have their data rearranged instead of using the "Permuted" indirection class. 2012-06-30 01:45:21 +00:00
Richard Roberts c443ccbedd More adding of static to avoid naming conflicts in unit tests 2012-06-30 01:44:00 +00:00
Stephen Williams c7ff913f64 Added yet another configuration parameter to iSAM2. 'enablePartialRelinearizationCheck' checks variables for relinearization by descending the Bayes tree. Once a variable does not need to be relinearized, we stop checking that branch. A full check is still the default. 2012-06-28 20:46:53 +00:00
Alex Cunningham 4e2aae0121 formatting of comments, added parent() interface for Bayes Tree cliques 2012-06-26 18:49:30 +00:00
Frank Dellaert 1bf3ae51a9 Fixed make check compile error 2012-06-24 14:49:52 +00:00
Frank Dellaert 2d0ce1c3ca Streamlining of SLAM namespaces:
planarSLAM Values and Graph now derive from Pose3SLAM. 
visualSLAM Values and Graph now derive from pose3SLAM.
Several methods have been renamed to make them consistent through these 4 namespaces:
addPrior -> addPosePrior
addHardConstraint -> addPoseConstraint
addOdometry/addConstraint -> addRelativePose
All gtsam and matlab examples/tests run.
PS: please don't use the deprecated typedefs in these namespaces.
2012-06-24 02:48:12 +00:00
Frank Dellaert 0fe2d527f9 Fixed warnings due to discrete. GTSAM now Wall-safe? 2012-06-22 21:45:36 +00:00
Duy-Nguyen Ta 6f1ea87a00 clean up noise model: Remove Shared[NoiseModel] classes and headers, typedef for backward compatibility in NoiseModel.h. Fix all tests and examples to create shared noise models through static functions in noise model classes. Fix MATLAB wrapper and examples as well. Add tests for MATLAB examples 2012-06-22 19:36:49 +00:00
Stephen Williams 94a769a447 Created derived classes for SymbolicSequentialSolver and SymbolicMultifrontalSolver. This simplifies calling eliminate, mimics the Gaussian versions, and makes matlab wrapping possible. 2012-06-21 22:31:41 +00:00
Alex Cunningham 8789201822 Added mechanism to create a constrained ordering directly from a NonlinearFactorGraph 2012-06-20 01:35:42 +00:00
Yong-Dian Jian 9cb903fe08 1. remove a redundant constructor of PinholeCamera
2. remove a "backproject_from_camera" function from PinholeCamera, please use "backproject" directly
2012-06-19 15:28:22 +00:00
Richard Roberts d57fc32e74 To simplify FactorGraph, removed convertCastFactors and dynamicCastFactors from FactorGraph - replaced their calls with in-place code to do the needed conversions 2012-06-18 14:55:30 +00:00
Yong-Dian Jian cee80c1938 add a generic nonlinear cg solver 2012-06-13 01:21:10 +00:00
Yong-Dian Jian 8687e1293c disable error msg 2012-06-12 14:20:08 +00:00
Yong-Dian Jian 6fd2ac7f86 move iterative.* back to stable. add a template-style nonlinear iterative solver 2012-06-12 14:19:01 +00:00
Yong-Dian Jian 83dc580220 add a nonlinear gradient-descent optimizer, and a unit test.
todo: 1. test wolfe condition or armijo rule, 2. use iterative.h
2012-06-11 22:10:23 +00:00
Richard Roberts 3be4be9039 Moved "bigobj" MSVC compile flag to affect testSerializationSLAM 2012-06-11 14:50:22 +00:00
Frank Dellaert 80e2179a8d Cleaned up typedefs in FactorGraph.h (and removed FactorizationResult), and also made sure ::shared_ptr was never assumed to exist for a FACTOR template argument. Should it exist, ever? 2012-06-09 21:33:10 +00:00
Alex Cunningham b602e75a99 Removed the use of the ADD_CLONE_NONLINEAR_FACTOR macro, documented instances of clone() in factors 2012-06-09 21:06:06 +00:00