Commit Graph

393 Commits (2730dab4c626f09aef46cb1b51a5edc352f30f16)

Author SHA1 Message Date
dellaert 59af1c4b6d Major refactor that does not ask for derivatives when argument is constant. Also split combine into double add, added print, and moved those two statics to ExpressionNode. 2014-10-02 23:28:19 +02:00
dellaert 166396d6f6 Added tests with constant Expression 2014-10-02 23:26:59 +02:00
dellaert e7e7b3806f New test with constant argument 2014-10-02 20:28:37 +02:00
dellaert df17758469 Assume H pre-allocated as usual, and *move* Jacobians to avoid allocations 2014-10-02 13:30:16 +02:00
dellaert ebb091d390 BadFactor is now a functioning NoiseModelFactor 2014-10-02 11:01:39 +02:00
dellaert ce53346a9e Added Symbol versions 2014-10-01 13:12:07 +02:00
dellaert 0d94eeb480 Created expressions.h header 2014-10-01 11:25:49 +02:00
dellaert 254f8c5f75 Possible naming convention 2014-10-01 11:01:38 +02:00
dellaert a6c1ba19cc Concise version 2014-10-01 10:53:35 +02:00
dellaert d45250a989 Fixed dim 2014-10-01 10:45:57 +02:00
dellaert d935172ac5 Tightened 2014-10-01 10:43:03 +02:00
dellaert 8f6eae922a Tightened/cleaned up 2014-10-01 10:36:24 +02:00
Paul Furgale 837b2a6bc0 Fixed the member function with very ugly syntax 2014-09-30 23:13:07 +02:00
dellaert c68c2d2dac Prototype code for passing methods. Does not work (uncomment line 61) 2014-09-30 13:19:44 +02:00
dellaert ae17f8a82f Some refactoring, new static method "combine" 2014-09-30 13:00:37 +02:00
dellaert 374140abb8 Moved all BAD stuff to nonlinear 2014-09-30 12:34:03 +02:00
dellaert 1aa7b570f9 Added BADFactor header and created new test 2014-09-30 12:30:15 +02:00
cbeall3 0450c58d66 silence warning 2014-05-06 12:06:07 -04:00
Richard Roberts ed8b1eeaa1 Converted another loop to use insert like was fixed in the previous commit (wasn't a problem this time but am matching the style to the other file) 2014-02-24 09:29:30 -05:00
cbeall3 3e0904e250 remove unneeded/wasteful loop 2014-02-23 23:12:25 -05:00
Richard Roberts 1770f44ad9 Fixed a number of clang warnings 2014-02-23 18:53:48 -05:00
Richard Roberts 661a157553 Working on standardizing/simplifying building unit tests and examples. Much simpler cmake function to add a glob of tests, doing away with convenience libraries, and removing other options that we never change from their defaults. 2014-02-13 01:34:31 -05:00
Richard Roberts 4b8c17ec77 Changed target name to 'gtsam' instead of 'gtsam-shared' and 'gtsam-static'. Modified CMake options to only allow building either static or shared, but not both. Enabled GTSAM_BUILD_TYPE_POSTFIXES by default on all platforms. 2014-01-30 14:41:25 -05:00
Frank Dellaert d7dc390130 Particle factor scaffold 2013-12-19 17:14:40 +00:00
Richard Roberts 880d9a8e3c Switched to new Eigen built-in special comma initializer 2013-12-16 21:33:12 +00:00
Richard Roberts 5f87cbea7f New SymmetricBlockMatrix interface - should be safer as all exposed functions use symmetric matrix expressions and the internal uninitialized values below the diagonal are never exposed. 2013-11-26 23:49:53 +00:00
Richard Roberts a27f97dec4 Fix in ConcurrentFilteringAndSmoothing - one elimination call was using the default elimination function instead of the one from the parameters. 2013-11-21 15:42:17 +00:00
Richard Roberts ec78d54f37 Removed old Index typedef and IndexFormatter 2013-11-08 16:35:28 +00:00
Richard Roberts 5defdbe73f Fixed compile problems on windows 2013-11-05 16:06:10 +00:00
Frank Dellaert fccdc46180 Fixed some compile errors related to rename 2013-10-25 19:16:15 +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
Jing Dong 87f9a2ab03 Fix Vector_() to Vec() in gtsam_unstable/nonlinear 2013-10-22 04:35:21 +00:00
Chris Beall e799c9ffa9 tabs converted to two spaces 2013-10-10 17:52:57 +00:00
Richard Roberts 43d56b120a From Hmf6_unordered: getISAM2 and variables Reeliminated/Relinearized (d97dcacf186900d12003c399e7fe55e03ca34e3f) 2013-10-03 19:52:05 +00:00
Richard Roberts 0c7b2ec062 From Hmf6_unordered: Public isam2 - to be changed (10834edc1698d941be3203e8e6bea0bd4a573443) 2013-10-03 19:52:01 +00:00
Richard Roberts bf40956592 Merged from Hmf6_unordered 970392249a8c50153f24594c9c81acb740cedd06 2013-10-03 19:51:56 +00:00
Richard Roberts ae958ad0f5 Fixed testConcurrentIncrementalFilter 2013-08-19 22:07:32 +00:00
Luca Carlone 568335d21f In progress fixing filter/smoother unit tests 2013-08-19 21:33:13 +00:00
Alex Cunningham c6cf4d2dab Removed use of convenience libraries for tests - wasn't really supported in current version 2013-08-19 15:32:21 +00:00
Alex Cunningham 4b12d6f794 Moved Symbol and LabeledSymbol to inference as they are no longer specific to nonlinear optimization 2013-08-19 15:32:16 +00:00
Alex Cunningham f9dcf31c2b Fixing examples and some tests for gtsam_unstable/nonlinear. testConcurrentIncrementalFilter doesn't compile and is disabled, testIncrementalFixedLagSmoother is enabled and builds, but fails. 2013-08-19 15:32:08 +00:00
Richard Roberts ce9e9b4a91 Added "TODO: correct?" comments 2013-08-16 21:16:07 +00:00
Richard Roberts 192962d96f Fixed a couple problems in converted ConcurrentIncrementalFilter and ConcurrentIncrementalSmoother 2013-08-16 21:16:06 +00:00
Luca Carlone 3701dc6322 Changes in CFS for unordered (still work in progress) 2013-08-15 22:12:09 +00:00
Luca Carlone 6337a65ce7 Updated Incremental Smoother to unordered 2013-08-15 22:12:07 +00:00
Luca Carlone e4f65eacf8 Updating ConcurrentIncrementalSmoother/Filter to work with unordered (work in progress) 2013-08-14 19:12:24 +00:00
Luca Carlone 4dfa2506ab ConcurrentFilterAndSmoother updated and working with the unordered version of GTSAM 2013-08-13 22:30:08 +00:00
Richard Roberts d9c9682f6e Merge branch 'svn/trunk'
Conflicts:
	gtsam_unstable/slam/BetweenFactorEM.h
	gtsam_unstable/slam/tests/testBetweenFactorEM.cpp
2013-08-12 21:47:36 +00:00
Richard Roberts f1c9322d37 Removed old VerticalBlockView and SymmetricBlockView (replaced with VerticalBlockMatrix and SymmetricBlockMatrix) 2013-08-12 21:41:05 +00:00
Richard Roberts 7a027be7e5 Fixed unit tests compiling on windows 2013-08-12 16:25:13 +00:00
Richard Roberts 0db8e446d5 Disabled gtsam_unstable/nonlinear filters and smoothers 2013-08-11 18:40:39 +00:00
Richard Roberts 4585fd1caa Merge branch 'svn/trunk'
Conflicts:
	gtsam/navigation/tests/testInertialNavFactor_GlobalVelocity.cpp
	gtsam/nonlinear/ISAM2.cpp
	gtsam/nonlinear/ISAM2.h
	gtsam/slam/tests/testBetweenFactor.cpp
	gtsam_unstable/nonlinear/ConcurrentBatchFilter.cpp
	gtsam_unstable/nonlinear/tests/testConcurrentBatchFilter.cpp
	gtsam_unstable/nonlinear/tests/testConcurrentBatchSmoother.cpp
	gtsam_unstable/slam/SmartProjectionFactor.h
2013-08-11 18:16:56 +00:00
Stephen Williams f41d4b879b Added the ability to remove factors from ConcurrentIncrementalFilter 2013-08-10 17:16:47 +00:00
Stephen Williams 34a3a6ea49 Added the ability to remove factors from the ConcurrentBatchFilter 2013-08-10 17:16:38 +00:00
Stephen Williams ebc6a66c3a Updated to the marginal factor calculation in BatchFixedLagSmoother to
be more efficient
2013-08-10 17:16:31 +00:00
Stephen Williams 12d003229a Fixed missing '}' 2013-08-10 17:16:19 +00:00
Stephen Williams c33c6e2c70 Added unit tests for Concurrent Incremental Filter and Smoother 2013-08-10 17:15:48 +00:00
Stephen Williams 915dc98bd2 Updated unit tests for Concurrent Batch Filter and Smoother 2013-08-10 17:15:38 +00:00
Stephen Williams f656e93202 Created Concurrent Incremental Filter and Smoother 2013-08-10 17:15:31 +00:00
Stephen Williams 663c598591 Updated Concurrent Batch Filter and Smoother to the latest versions 2013-08-10 17:15:20 +00:00
Stephen Williams 1dc0e6192b Added accessor functions for internal data structures to
IncrementalFixedLagSmoother
2013-08-10 17:15:03 +00:00
Alex Cunningham 4a4e16485c Making more things in gtsam_unstable compile 2013-08-08 20:08:54 +00:00
Alex Cunningham 883c870dff Removed unnecessary summarization files in gtsam_unstable, restricted compilation of gtsam_unstable for components needing iSAM2 - core gtsam_unstable library builds 2013-08-08 20:08:52 +00:00
Richard Roberts e2f8dd866d Merge branch 'svn/trunk'
Conflicts:
	gtsam/linear/GaussianBayesTree.cpp
	gtsam/linear/GaussianBayesTree.h
	gtsam/linear/VectorValues.h
	gtsam/linear/tests/testVectorValues.cpp
	gtsam_unstable/nonlinear/sequentialSummarization.cpp
2013-08-06 18:33:24 +00:00
Richard Roberts 2d60d2cdfa Fixed more unit tests 2013-08-06 18:04:40 +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 ede0805fac Global find+replace to remove Ordered 2013-08-05 22:31:44 +00:00
Richard Roberts cb7eb1b510 Find+replace Ordered headers 2013-08-05 22:31:33 +00:00
Richard Roberts 09643929fd Making some tests compile 2013-08-05 22:31:26 +00:00
Alex Cunningham 424ef0728f Changed a filename to avoid having multiple object files of the same name in the library 2013-08-01 16:54:44 +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 123657e3d0 Merged from branch 'trunk' 2013-06-24 15:28:16 +00:00
Richard Roberts 5ae4f21517 Added missing dll export tags to new functions 2013-06-20 16:05:23 +00:00
Richard Roberts d5e721a1d0 Continued work on unordered classes and elimination algorithm 2013-06-06 15:36:11 +00:00
Stephen Williams 1e5f9c742d Revert "Modified Concurrent Filter to calculate marginals using a "shortcut" that allows constant-time updates during synchronization. Still need to test implementation."
This reverts commit f24a4f4668006cfe9a3eeb1658b7df03c74490d5.
2013-05-22 00:05:03 +00:00
Stephen Williams 5f371a4e55 Modified Concurrent Filter to calculate marginals using a "shortcut"
that allows constant-time updates during synchronization. Still need to
test implementation.
2013-05-21 21:07:43 +00:00
Stephen Williams 13d3f1cb6e Updated Fixed-Lag smoother example 2013-05-21 14:57:40 +00:00
Stephen Williams 1c5061cf3c Added optional flag to ConcurrentBatchFilter to control relinearization
during syncs.
2013-05-17 08:06:06 +00:00
Stephen Williams 7d03d3c502 Moved pre-sync code to the update() call for the cuncurrent smoother 2013-05-09 18:59:22 +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
Stephen Williams 36e66b2f0b Fixed synchronization code in ConcurrentBatchFilter such that an empty graph does not trigger a segfault 2013-05-01 20:54:53 +00:00
Alex Cunningham 224be276e4 Added a new summarization convenience function and cleaned up documentation 2013-04-26 18:27:22 +00:00
Stephen Williams 009012005e Removed VariableIndex from the class members as it was often left in an inconsistent state 2013-04-25 18:12:05 +00:00
Stephen Williams 1e1dfdd808 Updated BatchFixedLagSmoother to use the latest version of optimization and marginalization code 2013-04-25 18:10:21 +00:00
Richard Roberts 5f3238634d Added missing GTSAM_UNSTABLE_EXPORT tag 2013-04-25 15:57:06 +00:00
Richard Roberts 124a38f72d Made unit test local vars/functions in anonymous namespace 2013-04-22 17:44:09 +00:00
Stephen Williams c1f14d60be Purged unused code 2013-04-19 12:16:18 +00:00
Stephen Williams 201ca3da9e Removed debug print statement 2013-04-19 12:16:04 +00:00
Stephen Williams 3eade960b8 Fixed bugs in marginal generation. It is possible that the marginalization will be "perfect", resulting in no marginal factor. However, a factor was being created anyway. 2013-04-19 12:13:43 +00:00
Stephen Williams c2fb82b935 Added matlab wrapping for Fixed-Lag Smoothers and Concurrent Filters and Smoothers 2013-04-15 19:54:46 +00:00
Stephen Williams f216e97a15 Modified the getter method in the FixedLagSmoother base class to follow general GTSAM conventions 2013-04-15 17:53:33 +00:00
Stephen Williams f3007f5013 Moved the pre-sync code back into the presync() function call. This allows the Filter and Smoother to synchronize properly even when no call to smoother.update() has been made. 2013-04-12 13:05:20 +00:00
Stephen Williams 03db2b7e55 Modified comments 2013-04-12 12:53:05 +00:00
Stephen Williams 460a428c97 Provided default parameters for concurrent batch filter and smoother constructors 2013-04-12 12:52:29 +00:00
Stephen Williams 321de2f701 Removed debugging check from IncrementalFixedLagSmoother and added work around for tree reordering 2013-04-11 20:55:55 +00:00
Stephen Williams 95e97c2dfc Changed the default 'enforceConsistency' flag to true in the Batch Fixed-Lag Smoother to match the incremental version 2013-04-11 20:07:58 +00:00
Stephen Williams d44a9e3b75 Removed unused code from Concurrent Batch Filter unit test 2013-04-11 19:16:52 +00:00
Stephen Williams f963aeb401 Completed rewrite of synchronization functions for the Concurrent Batch Filter 2013-04-11 19:16:15 +00:00
Stephen Williams 04d595dec1 Started re-implementing the synchronization functions for the Concurrent Filter 2013-04-11 12:43:42 +00:00
Stephen Williams 634a4c5ef9 Updated Concurrent Smoother for changes in the base class synchronization 2013-04-11 12:42:45 +00:00
Stephen Williams 0a459549f8 Updated synchronization interface to require the smoother and filter to track their own separator keys and values 2013-04-11 12:42:09 +00:00
Stephen Williams 1952337e23 Removed unused code from Concurrent Batch Smoother 2013-04-10 21:08:52 +00:00
Stephen Williams dce575cb73 Refactored synchronization code for Concurrent Batch Smoother 2013-04-10 15:22:28 +00:00
Stephen Williams e4b452473e Removed variable index from equal test in ConcurrentBatchFilter 2013-04-10 15:21:50 +00:00
Stephen Williams 5cd020080b Added marginalization code and unit tests to ConcurrentBatchFilter 2013-04-10 12:47:55 +00:00
Stephen Williams ed560aa13a Updated unit tests for changes in the Concurrent Filtering and Smoothing classes. Currently the synchronization tests are disabled. 2013-04-09 21:48:48 +00:00
Stephen Williams 0b5c07e543 Starting to clean up and refactor the Concurrent Filtering and Smoothing classes. Currently the synchronization is disables, as is the marginalization in the filter. 2013-04-09 21:24:05 +00:00
Richard Roberts b68fee7b00 Fixed bug in hessian_equal in testConcurrentBatchFilter 2013-04-09 19:53:59 +00:00
Stephen Williams ed90b00edf Updated ConcurrentBatchSmoother to use LinearContainerFactors 2013-04-09 15:48:53 +00:00
Stephen Williams 4f064be4fa Updated synchronization code for CConcurrent Filter 2013-04-09 15:39:24 +00:00
Stephen Williams 4c6a460fa0 Fixed bugs in tic-toc statements for Concurrent Filter and Smoother 2013-04-08 17:42:26 +00:00
Richard Roberts 7c362b2cbd Loosened unit test thresholds slightly to account for roundoff error on some systems 2013-04-05 19:12:46 +00:00
Richard Roberts 67e36febf2 Added DLL export annotations on new code 2013-04-01 19:29:53 +00:00
Richard Roberts f773a34834 Renamed experimentalMarginalizeLeaves to marginalizeLeaves and added comment 2013-03-26 20:46:08 +00:00
Alex Cunningham da334ed8a2 Added linear tools (including summarization) from MastSLAM 2013-03-23 20:19:36 +00:00
Stephen Williams 396732ff6a Only call iSAM2 marginalize function if there are actually keys to marginalizae out 2013-03-18 22:28:14 +00:00
Stephen Williams 9e1a07fcec Added debugging function to IncrementalFixedLagSmoother 2013-03-18 21:39:07 +00:00
Stephen Williams f03be70770 Updated iSAM2 Marginalize call for the latest version of GTSAM 2013-03-18 21:32:43 +00:00
Richard Roberts a54d177202 Added dll export tags and updated cmake scripts so that GTSAM can build as a shared library on windows 2013-03-13 18:56:21 +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
Stephen Williams eacbaeb84d Updated incremental version of the fixed lag smoother to use the in-development iSAM2 marginalize functionality 2013-03-05 20:54:00 +00:00
Stephen Williams 60d3ba2d0e Added and incremental fixed-lag smoother using new iSAM2 marginalization functionality, and created a common base class for all fixed-lag smoother implementations. 2013-02-27 20:23:47 +00:00
Richard Roberts 2b27c14dac Fixed compile errors on windows 2013-02-24 19:09:52 +00:00
Stephen Williams 6fef6cf7d5 Added Fixed Lag Smoother and Concurrent Filtering and Smoothing to gtsam_unstable 2013-02-19 21:37:17 +00:00
Alex Cunningham 237da8b3a7 Moved LinearContainerFactor to gtsam/nonlinear and removed the now-redundant LinearizedFactor from gtsam_unstable 2012-11-21 19:41:24 +00:00
Alex Cunningham cba120c96d LinearContainerFactor now includes ability to "relinearize" when supplied with an original linearization point 2012-11-21 19:02:13 +00:00
Chris Beall 4297d24c96 changed tabs to spaces for consistent indentation in all of GTSAM 2012-10-02 14:40:07 +00:00
Alex Cunningham 1985758d35 Updated interfaces and wrapped LinearContainerFactor 2012-09-21 14:19:57 +00:00
Alex Cunningham d3b5c463ed Fixed initialization bug 2012-09-03 17:22:09 +00:00
Alex Cunningham d8e0a95890 Small bug-fixes for managing linearization points 2012-09-03 03:06:08 +00:00
Alex Cunningham 6b14e652ff Fixed bug in equality check 2012-08-27 01:40:11 +00:00
Alex Cunningham 12290dc7b2 Added linearization points to LinearContainerFactor. Fixed bug with localCoordinates() in Values 2012-08-27 01:11:37 +00:00
Alex Cunningham f9c3af7e3d Fixed bug in key assignment 2012-08-26 04:16:47 +00:00
Alex Cunningham 9962a66e7c Added utility functions for converting graphs with LinearContainerFactors, added direct order() to avoid the need to fake linearize. 2012-08-21 18:48:04 +00:00
Alex Cunningham bac1faa68e Added ordering-less negate() 2012-08-20 18:28:19 +00:00
Stephen Williams e2e780de4d Removed SLAM namespaces from testLinearizedFactor 2012-07-23 22:51:18 +00:00
Alex Cunningham e6a294d188 Added LinearContainerFactor to add linear factors to nonlinear graphs 2012-07-10 18:15:51 +00:00
Alex Cunningham 1abf81052f Removed unused test file - linear containers to appear in MastSLAM 2012-07-06 14:48:25 +00:00
Frank Dellaert 0fe2d527f9 Fixed warnings due to discrete. GTSAM now Wall-safe? 2012-06-22 21:45:36 +00:00
Alex Cunningham 94560fcc45 Fixed factor equals 2012-06-10 19:55:01 +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 111ef8a0f0 Moved LinearizedFactor from MastSLAM, started on a test for LinearContainerFactor 2012-06-07 18:16:37 +00:00