Commit Graph

243 Commits (b51e89c910d50ca6fd98fce1818bac77fac9da94)

Author SHA1 Message Date
dellaert bf5580d518 AdaptAutoDiff now works with RowMajor Eigen matrices 2014-10-20 14:39:28 +02:00
dellaert df5e584412 Compiles, but Jacobains not correct yet 2014-10-20 14:32:20 +02:00
dellaert a423f284e9 Canonical coordinates prototype, works for Snavely 2014-10-20 14:23:08 +02:00
dellaert 821f776118 Wrapper works to some extent 2014-10-20 09:43:32 +02:00
dellaert 7ebc8e969f Charts with default constructors 2014-10-20 09:29:45 +02:00
dellaert 63ae33088e Some success on the way to autodiff 2014-10-19 23:47:59 +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 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 3413b98331 New storage sizes 2014-10-15 14:30:36 +02:00
dellaert 79ff0c54f9 createUnknowns 2014-10-15 10:38:54 +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 d8d94d0c34 dimensions implemented and tested 2014-10-14 09:53:47 +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 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 7fde47c48b No more JacobianTA typedefs -> all use Jacobian<T,A> now. 2014-10-13 09:25:06 +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 ed62271f81 Dealing with constrained noise model 2014-10-12 10:52:07 +02:00
dellaert c9f80536c0 Added a constraint model 2014-10-11 23:07:23 +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 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 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 ae93dd9869 Commented out repeated arguments 2014-10-10 13:57:37 +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 563c4d214c Renamed BADFactor -> ExpressionFactor 2014-10-09 13:00:56 +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 ba9faa68b6 New Leaf/noise tests 2014-10-08 13:56:54 +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
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 fdf9c10b42 Implemented value and now testBADFactor also runs 2014-10-05 15:00:10 +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 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 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 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 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 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
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
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 ec78d54f37 Removed old Index typedef and IndexFormatter 2013-11-08 16:35:28 +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
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 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
Luca Carlone 3701dc6322 Changes in CFS for unordered (still work in progress) 2013-08-15 22:12:09 +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 7a027be7e5 Fixed unit tests compiling on windows 2013-08-12 16:25:13 +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 ebc6a66c3a Updated to the marginal factor calculation in BatchFixedLagSmoother to
be more efficient
2013-08-10 17:16:31 +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
Alex Cunningham 4a4e16485c Making more things in gtsam_unstable compile 2013-08-08 20:08:54 +00:00
Richard Roberts 2d60d2cdfa Fixed more unit tests 2013-08-06 18:04:40 +00:00
Richard Roberts ede0805fac Global find+replace to remove Ordered 2013-08-05 22:31:44 +00:00
Richard Roberts 09643929fd Making some tests compile 2013-08-05 22:31:26 +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 d5e721a1d0 Continued work on unordered classes and elimination algorithm 2013-06-06 15:36:11 +00:00
Richard Roberts 124a38f72d Made unit test local vars/functions in anonymous namespace 2013-04-22 17:44:09 +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 dce575cb73 Refactored synchronization code for Concurrent Batch Smoother 2013-04-10 15:22:28 +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
Richard Roberts b68fee7b00 Fixed bug in hessian_equal in testConcurrentBatchFilter 2013-04-09 19:53:59 +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
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 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
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
Alex Cunningham 111ef8a0f0 Moved LinearizedFactor from MastSLAM, started on a test for LinearContainerFactor 2012-06-07 18:16:37 +00:00