Commit Graph

443 Commits (bbb585079b4cf5eb3d0ece1067b94abb2b96e9e5)

Author SHA1 Message Date
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
Alex Cunningham 3d2c3aff05 Moved all Simulated* example domains and smallExample to the tests folder so they are no longer installed 2012-06-09 20:15:44 +00:00
Alex Cunningham f45c236585 Isolated exception case for use of Symbol.key(), removed use of Symbol in several tests. Removed "using namespace xxx" in header 2012-06-09 19:17:15 +00:00
Frank Dellaert dc879fe280 Moved testSubgraphPreconditioner from experimental back to linear/tests, though most of it is commented out, mostly because of JacobianFactorGraph - GaussianFactorGraph distinction 2012-06-09 18:54:47 +00:00
Frank Dellaert 54bfe722ad Returning ordering from planarGraph is obsolete since Index change 2012-06-09 18:52:22 +00:00
Alex Cunningham d70622abe0 Rearranged matlab folders to avoid calling utility functions "examples" 2012-06-07 20:09:54 +00:00
Alex Cunningham 8bfe8571bc Removed template argument from NonlinearISAM, now just uses NonlinearFactorGraph 2012-06-07 17:45:05 +00:00
Yong-Dian Jian a9c36fc172 move linear algebra functions for jacobian factor graph to a new file 2012-06-07 01:24:19 +00:00
Alex Cunningham ad3b431c4d Moved building of wrap libraries to a cmake macro and moved install for matlab components to the appropriate folder 2012-06-05 18:05:00 +00:00
Richard Roberts bef45d5b7b Merged from branch 'branches/windows' 2012-06-05 14:09:58 +00:00
Frank Dellaert 10d6157d1d formatting/naming only 2012-06-05 13:29:04 +00:00
Richard Roberts 6b1e862688 Fix errors 2012-06-04 18:46:05 +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
Frank Dellaert f924d01bc3 Synchronized mixed case naming 2012-06-03 05:25:05 +00:00
Frank Dellaert 8440939f27 Using symbol_shorthand instead of redundant kx, kl functions 2012-06-02 19:28:21 +00:00
Frank Dellaert a2512475c9 Symbol.h is now included just in time, no longer by default everywhere. 2012-06-02 19:05:38 +00:00
Frank Dellaert 5160c2eb50 Significant API change in slam (GTSAM 2.0.1 or 2.1): to eliminate confusion and give the user more freedom in creating their own Keys, the different slam variants no longer create Symbol keys themselves. Instead, all interaction is done via Keys (which are just unordered, unsigned ints). All PoseSLAM unit tests and examples now just use sequential keys. However, a user can still create Keys using the Symbol constructor, which is illustrated in the landmark-based unit tests and examples. 2012-06-02 16:18:40 +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