Commit Graph

529 Commits (release/4.3a0)

Author SHA1 Message Date
dellaert 8ee16c9018 Comments for Paul 2014-10-19 11:19:09 +02:00
dellaert eac76cd0f0 Some progress on defining interface 2014-10-19 11:18:36 +02:00
dellaert 6e142184cc Implemented is_manifold and dimension for all types in testExpressionFactor 2014-10-19 00:35:25 +02:00
dellaert c32d2bb3b2 Fixed comments 2014-10-18 23:48:51 +02:00
dellaert d436d99146 Moved stuff to Manifold.h 2014-10-18 23:25:25 +02:00
dellaert fcda501ee2 double as manifold. No more LieScalar ! 2014-10-18 18:13:33 +02:00
dellaert ed6a2b6eff Charts !!!! 2014-10-18 17:11:28 +02:00
dellaert 9c97b1d8a0 Some more refactoring 2014-10-18 16:45:04 +02:00
dellaert 66b3081603 localCoordinates and retract 2014-10-18 15:02:22 +02:00
dellaert 10cfd47404 TangentVector meta-function 2014-10-18 14:29:40 +02:00
dellaert ec69949f43 Point2 specialized 2014-10-18 14:22:01 +02:00
dellaert f08dc6c031 More boost-style traits 2014-10-18 14:16:24 +02:00
dellaert 4c33444415 Snavely tested 2014-10-18 13:16:44 +02:00
dellaert bdf12b14b9 Add Snavely cost function 2014-10-18 12:35:02 +02:00
dellaert 7018afdd58 Slight refactor of numerical derivatives 2014-10-18 12:34:05 +02:00
dellaert 2972671064 Use boost::bind to avoid code duplication 2014-10-18 12:29:14 +02:00
dellaert db037c96c5 Implemented manifold_traits to allow numerical derivatives wrpt Matrix arguments 2014-10-18 12:12:25 +02:00
dellaert 2cbba15573 ceres style functor 2014-10-18 00:29:18 +02:00
dellaert 02d25f6658 New tests on traceSize 2014-10-16 15:07:05 +02:00
dellaert 0bcca2c386 Drastic reduction in allocations at ExpressionFactor construction by having dims constructed imperatively, and using it for both keys_ and dimensions_ 2014-10-16 14:16:58 +02:00
dellaert 944422e295 Only ExpressionFactor needs dimensions! Also, add dimensions at construction -> speeds up linearize. 2014-10-16 11:15:47 +02:00
dellaert 3413b98331 New storage sizes 2014-10-15 14:30:36 +02:00
dellaert 79ff0c54f9 createUnknowns 2014-10-15 10:38:54 +02:00
dellaert 649478f186 Should work but seg-faults 2014-10-15 01:19:14 +02:00
dellaert 9b1c9bbf37 Allocate temporary matrix on the stack rather tahn on heap, and give VerticalBlockMatrix a view on it. 2014-10-15 00:56:06 +02:00
dellaert c88b2a5902 Fixed bizarre link erro as well as off-by-1 bug 2014-10-15 00:34:28 +02:00
dellaert 0f055f7910 Pass matrix to VerticalBlockMatrix constructor 2014-10-15 00:28:53 +02:00
dellaert 625b939b66 Another very significant speed-up of reverseAD pipeline, by template specialization of the leaf case for fixed matrices. Unfortunately, while this sped up reverse AD for our SFM kernel by 300%, reverseAD was only 6%, and is now 2% of total time. So, time to look elsewhere.
Oh, and, it is clear that the Identity matrix for Leaf only expressions is completely known at compile time: Eigen::Matrix<double, T::dimension, T::dimension>::Identity(). That should nicely speed up many a PriorFactor (replacement).
2014-10-14 23:40:21 +02:00
dellaert baaeaacabe Made dimensions constant property. Now performance is ***blazing***, way past custom factors. 2014-10-14 17:46:57 +02:00
dellaert c971207abf Switched to vector for dimensions 2014-10-14 17:16:31 +02:00
dellaert 1c3f328fb2 Successful switch to Blocks ! 2014-10-14 15:43:41 +02:00
dellaert f3e1561105 Prepare VerticalBlockMatrix for filling 2014-10-14 11:13:49 +02:00
dellaert 4c76f39009 Now uses dimensions 2014-10-14 09:55:34 +02:00
dellaert d8d94d0c34 dimensions implemented and tested 2014-10-14 09:53:47 +02:00
dellaert 781cc6daa9 keys now from expression_ 2014-10-14 08:59:01 +02:00
dellaert 0a41b0a027 Moved meta-programming tests to testExpressionMeta.cpp 2014-10-14 08:53:16 +02:00
dellaert ef5bf03c81 Clean up 2014-10-13 23:04:30 +02:00
dellaert 70f0caf0e3 Experimenting w Fusion 2014-10-13 22:50:47 +02:00
dellaert dda91df6e1 On the way to full fusion: Optional meta-function now separate from Jacobian. 2014-10-13 18:32:58 +02:00
dellaert ba0b68110f Boost Fusion needed to access values :-( 2014-10-13 13:56:51 +02:00
dellaert a52ff52941 Try some meta-transforms 2014-10-13 13:34:00 +02:00
dellaert 1c1695353e Now we can apply ExecutionTrace and Expression as meta-functions 2014-10-13 13:04:37 +02:00
dellaert c11d7885e1 Comments 2014-10-13 11:55:16 +02:00
dellaert 74269902d7 Big collapse now realized all the way through 2014-10-13 11:37:47 +02:00
dellaert da0e5fe52f The great collapse: instead of two recursively defined classes, there is now only one. The Record class is now a (recursive) inner class. 2014-10-13 10:50:05 +02:00
dellaert bc9e11f43c Pre-big collapse: prototype recursively defined inner Record2 type 2014-10-13 10:10:46 +02:00
dellaert 7fde47c48b No more JacobianTA typedefs -> all use Jacobian<T,A> now. 2014-10-13 09:25:06 +02:00
dellaert 7848d74928 Detailed explanation of recursive class composition pattern.
Jacobian type now defined in argument.
2014-10-13 08:49:12 +02:00
dellaert 7f621af54a Fixed bug 2014-10-13 00:57:11 +02:00
dellaert 2e8d868cd2 keys have been implemented 2014-10-13 00:37:46 +02:00
dellaert a9d9fcd241 FunctionalNode inherited for all three functional ExpressionNode sub-classes 2014-10-13 00:31:03 +02:00
dellaert 8100d89094 So much better as methods 2014-10-12 23:57:08 +02:00
dellaert 55cc4ba56c Switched names of fold result and meta-function that is folded over 2014-10-12 23:31:58 +02:00
dellaert ef21a4ba4a Major re-org in preparation of recursive Functional nodes 2014-10-12 23:03:33 +02:00
dellaert 408be628d2 Small change in meta-programming, big improvement in clarity 2014-10-12 22:17:21 +02:00
dellaert 107bcd8bb4 Going forwards, we default to reverse :-) 2014-10-12 22:04:40 +02:00
dellaert 4d1eb05c7d Passing JacobianMap as an argument now.. 2014-10-12 20:16:08 +02:00
dellaert dc541f1051 made traceSize an instance variable 2014-10-12 18:52:12 +02:00
dellaert 7a5f48f6dd Fixed typo in assert 2014-10-12 12:20:12 +02:00
dellaert fea2eb0b5f Inlined VerticalBlockMatrix construction 2014-10-12 11:05:43 +02:00
dellaert ed62271f81 Dealing with constrained noise model 2014-10-12 10:52:07 +02:00
dellaert 86d3e559e6 Merge branch 'feature/BAD' into feature/BAD_linearize 2014-10-11 23:07:40 +02:00
dellaert c9f80536c0 Added a constraint model 2014-10-11 23:07:23 +02:00
dellaert 3c6f7a42e6 Merge branch 'feature/BAD' into feature/BAD_linearize: easier trace/dTdA access 2014-10-11 22:31:43 +02:00
dellaert c776e87f78 Refactoring for readability/sanity 2014-10-11 21:33:07 +02:00
dellaert 0c7ea68f2f Now overwriting linearize as preparation for direct VericalBlockMatrix 2014-10-11 17:05:53 +02:00
dellaert 1bac83381f Merge remote-tracking branch 'origin/feature/BAD_meta' into feature/BAD: Now the Record structures are recursively generated using template meta-programming, basically mpl::fold
Conflicts:
	gtsam_unstable/nonlinear/Expression-inl.h
2014-10-11 15:20:12 +02:00
dellaert 88f9a423c5 Numbered types avoid ambiguity 2014-10-11 14:19:39 +02:00
dellaert ecf6462a25 Victory!! Unit tests work! 2014-10-11 13:07:58 +02:00
dellaert 599e232d1d traceSize, two tests work 2014-10-11 12:11:22 +02:00
dellaert 9585823d5d ...but works with correct size ! 2014-10-11 11:32:52 +02:00
dellaert deed7b8018 Unary prints, but still-faults downstream 2014-10-11 11:30:06 +02:00
dellaert 05f78b6dca Re-factor, allow traceExecution 2014-10-11 11:29:42 +02:00
dellaert 1f692638f5 Accessing matrices works 2014-10-11 11:04:39 +02:00
dellaert 69b69a0bc8 placement new works! And sophisticated Trace::print 2014-10-11 11:03:35 +02:00
dellaert eef2d49e8d First prototype, segfaults 2014-10-11 10:27:30 +02:00
dellaert e09e24964a No need to have all of T as template parameter 2014-10-11 09:00:03 +02:00
dellaert 820988b04e Do casting inside Trace 2014-10-11 08:52:24 +02:00
dellaert 52fc6f2db4 Testing old trace 2014-10-11 08:41:39 +02:00
dellaert 820e9553ee TestBinaryExpression friend 2014-10-11 08:17:46 +02:00
dellaert a2d2d82e0e some namespace management 2014-10-11 07:39:13 +02:00
dellaert 23485a0e71 New and consistent naming: ExecutionTrace = whole tree, CallRecord = local information left by the function. 2014-10-10 17:45:39 +02:00
dellaert ae93dd9869 Commented out repeated arguments 2014-10-10 13:57:37 +02:00
dellaert 58bbce482d Ternary works, same caveat 2014-10-10 13:33:13 +02:00
dellaert 406467e341 Binary works, but it's ugly and does not work for repeated types 2014-10-10 13:29:56 +02:00
dellaert 24714e48c5 Works for Unary ! 2014-10-10 12:38:26 +02:00
dellaert f8468bd596 Recursion done 2014-10-10 12:31:40 +02:00
dellaert 40fc6f5c03 Working prototype 2014-10-10 12:29:01 +02:00
dellaert dd1b931802 Successfully defined Jacobian 2014-10-10 12:03:13 +02:00
dellaert 732ff54b83 More experiments 2014-10-10 11:41:01 +02:00
dellaert 8e264f4289 Attempt at defining Trace recursively 2014-10-09 14:38:16 +02:00
dellaert 5e5457b390 Renamed entry point to startReverseAD to emphasize it is only called once 2014-10-09 13:42:43 +02:00
dellaert 563c4d214c Renamed BADFactor -> ExpressionFactor 2014-10-09 13:00:56 +02:00
dellaert 7e069191e5 Slight refactor 2014-10-09 10:58:46 +02:00
dellaert a38a0ae9e1 Some comments 2014-10-09 00:21:10 +02:00
dellaert 9ebe1e6d10 Super-speedup by specializing to 2-dimensional output (for now). Using some template magic. 2014-10-08 23:50:17 +02:00
dellaert abb92632b8 Empty derived destructors are not needed 2014-10-08 17:32:46 +02:00
dellaert 6a1bc6e242 Documentation 2014-10-08 17:28:33 +02:00
dellaert ce2dcaeb3b Tagged union, lightweight 2014-10-08 15:39:59 +02:00
dellaert 390842e1f7 Put Trace in front 2014-10-08 13:58:15 +02:00
dellaert ba9faa68b6 New Leaf/noise tests 2014-10-08 13:56:54 +02:00
dellaert c4a92acde1 Avoid argument temporaries 2014-10-07 19:35:44 +02:00
dellaert 3c1c9c6d12 Switch to pointers - nice improvement 2014-10-07 18:11:12 +02:00
dellaert e4392c0a3b JacobianTrace no longer templated 2014-10-07 16:11:55 +02:00
dellaert 83d77271d9 Ternary now fixed 2014-10-07 13:04:04 +02:00
dellaert 613cb0bb12 Binary functions now take fixed Jacobians 2014-10-07 01:01:46 +02:00
dellaert e48b38ca21 Fixing uncalibrate (does not yet compile) 2014-10-06 15:45:26 +02:00
dellaert e5c3f4228a Some fixed size in UnaryExpression 2014-10-06 14:22:18 +02:00
dellaert 5c96b7f38d Made naming more suggestive of AD process rather than generic H1,H2... 2014-10-06 13:19:01 +02:00
dellaert 0ed96dda33 Avoid alloc and copy 2014-10-06 12:14:15 +02:00
dellaert c748fdb404 Re-did with move semantics. Dangerously imperative. 2014-10-06 12:13:52 +02:00
Sungtae An 69f74014aa add traceExecution in TernaryExpression 2014-10-05 17:40:11 -04:00
Sungtae An cc3c0fcfec add trace structure for reverse AD in TernaryExpression 2014-10-05 17:38:09 -04:00
Sungtae An 0421d05d44 add forward() in TernaryExpression 2014-10-05 17:36:53 -04:00
Sungtae An 0a7db2d252 Merge remote-tracking branch 'origin/feature/BAD' into feature/BAD 2014-10-05 16:16:19 -04:00
Sungtae An 40565564f5 TernaryExpression is added 2014-10-05 16:09:24 -04:00
dellaert 632810ff9a Now only inline add, for performance 2014-10-05 21:53:40 +02:00
dellaert 33c1d072a4 Add switch between inline add and JacobianMap as a new class. 2014-10-05 21:49:30 +02:00
dellaert 5b13306104 Split out starting the AD process vs. propagating it, is more efficient than starting with a useless identity matrix 2014-10-05 19:27:52 +02:00
dellaert ff9dd8eb8d Removed some obsolete code 2014-10-05 19:09:16 +02:00
dellaert caf742d5e1 Better names 2014-10-05 17:20:55 +02:00
dellaert 001504a432 JacobianTrace base, and avoid copying JacobianMaps. 2014-10-05 17:12:38 +02:00
dellaert 2718662467 Removed debug printing 2014-10-05 15:01:36 +02:00
dellaert fdf9c10b42 Implemented value and now testBADFactor also runs 2014-10-05 15:00:10 +02:00
dellaert 8db2cd17fc Finished constant Trace and *everything* just works!!! Amazing :-) 2014-10-05 13:41:20 +02:00
dellaert 7c19542245 Leaf Trace compiles 2014-10-05 13:37:51 +02:00
dellaert 75445307b2 Unary Trace done 2014-10-05 13:33:23 +02:00
dellaert 8e527a2251 Binary Trace compiles, runs 2014-10-05 13:27:41 +02:00
dellaert 303d37a716 Separate hierarchy 2014-10-05 11:22:14 +02:00
dellaert 6fb10a5de9 Rename, emphasizing is forward AD 2014-10-03 21:13:34 +02:00
dellaert a5b92f0342 MUCH simpler by just using boost::bind to turn methods into functions 2014-10-03 13:18:25 +02:00
dellaert bdf5451565 Typedefs 2014-10-03 12:52:35 +02:00
dellaert c8dd361080 Common base class BinaryExpression 2014-10-03 12:48:28 +02:00
dellaert 987b123ec9 NullaryMethodExpression and UnaryFunctionExpression, derived from UnaryExpression 2014-10-03 12:40:26 +02:00
dellaert aefad1e548 MAJOR refactor: I now use separate functions for value (only) and "augmented", for combined value-derivatives. The latter returns a new templated class, Augmented<T>. 2014-10-03 10:25:02 +02:00
dellaert da4cfe6fdc ternary test 2014-10-02 23:39:17 +02:00
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