Commit Graph

743 Commits (c9f80536c0049998b31d228664134397cb92f6ef)

Author SHA1 Message Date
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 51eab1068f Time the most common SFM expression 2014-10-06 13:57:37 +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 3f017bf51f An optimized version 2014-10-03 14:35:39 +02:00
dellaert c20b588fe0 timing, is pretty bleak for Expressions 2014-10-03 14:19:23 +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 d5709facf6 Added Pose2SLAMExample 2014-10-02 20:20:00 +02:00
dellaert 8f856ceaf8 Renamed 2014-10-02 20:19:49 +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 0800b83285 Slight efficiencies 2014-10-02 11:44:16 +02:00
dellaert bef23a2008 ExpressionExample now only uses BADFactors and yields same result as SFMExample 2014-10-02 11:21:24 +02:00
dellaert ebb091d390 BadFactor is now a functioning NoiseModelFactor 2014-10-02 11:01:39 +02:00
dellaert 3f5aa0f23e Expression version of SFMExample (in progress) 2014-10-01 14:10:54 +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
dellaert ef52e12f87 Split off BADFactor code from Expression 2014-09-30 12:29:57 +02:00
dellaert 5a1ea6071b Split off ExpressionNode hierarchy 2014-09-30 12:20:02 +02:00
dellaert e2f6f01941 Some cleanup of headers/old code 2014-09-30 12:12:17 +02:00
dellaert e789de2353 Check derivatives of compose 2014-09-29 12:14:59 +02:00
dellaert 05c49601ed Added Expression header 2014-09-29 12:06:04 +02:00
Paul Furgale de3e1c3ed1 Fixed the product compilation 2014-09-29 07:22:25 +02:00
dellaert 10a35f3535 Structure for compose. Does not compile (uncomment line 492) 2014-09-28 17:50:36 +02:00
dellaert 7be6ac0e8c Now compiles but product construction fails because optional derivatives can't be delivered by the operator*() 2014-09-28 10:22:19 +02:00
dellaert 11187a4c0d I added operator logic but can't get it to compile 2014-09-27 18:22:37 +02:00
dellaert ab1f4c1e32 keys now functional 2014-09-27 16:08:59 +02:00
dellaert 186afcc95e Made constructors private 2014-09-27 15:58:34 +02:00
dellaert e487979b0f Removed obsolete typedefs 2014-09-27 15:49:25 +02:00
dellaert cde9a41acc Formatting only 2014-09-27 15:48:07 +02:00
Paul Furgale 768c7f00e1 Removed the clone method 2014-09-27 15:01:02 +02:00
dellaert 9eed7e10fe Added testBAD.run target, fixed an issue with getKeys 2014-09-27 14:08:31 +02:00
Paul Furgale 1a00d7e3d9 Second draft of the BAD implementation 2014-09-27 11:39:46 +02:00
dellaert b47837462e Unit test succeeds !!! 2014-09-21 18:54:01 +02:00
dellaert 4bc82da85c Compile with optional derivatives 2014-09-21 18:36:19 +02:00
dellaert 8e3a0f4847 Prototype [jacobians] code 2014-09-21 18:22:28 +02:00
dellaert 583c81ffea Implemented uncalibrate, value test succeeds 2014-09-21 17:59:34 +02:00
dellaert 6a5e4191a3 UnaryExpression 2014-09-21 17:43:47 +02:00
dellaert b89f65cccc BinaryExpression 2014-09-21 17:37:09 +02:00
dellaert 59b0e6a657 Progress on error 2014-09-21 17:13:25 +02:00
dellaert d9fafc1bf1 No more base class 2014-09-21 16:48:24 +02:00
dellaert 7a64e2e546 Class hierarchy 2014-09-21 16:30:30 +02:00
dellaert 6532966f62 Call JacobianFactor constructor with map 2014-09-21 13:11:55 +02:00
dellaert c7b6a9af12 Now use old-style factor to create expected value and derivatives 2014-09-21 05:33:53 -04:00
dellaert a76c27d074 Now just linearize 2014-09-18 18:33:11 -04:00
dellaert b19132e004 First version of test, with vector of Matrices 2014-09-18 17:10:39 -05:00
Jing Dong be68cc0047 add given marginals to update_noiseModel to improve speed 2014-09-15 03:03:25 -04:00
Jing Dong 1a7653730c fix headers for TransBtwRobotFactorEM 2014-09-13 18:12:28 -04:00
Vadim Indelman 6b890cec0e added updateNoiseModels functionality 2014-09-10 00:24:32 +03:00
Chris Beall 2634b2e890 Finish concurrent-calibration 2014-08-12 16:00:20 -04:00
Chris Beall 50c8313233 Rename TransformProjectionFactor to ProjectionFactorPPP 2014-08-12 15:55:28 -04:00
Chris Beall 2c3f6e563d Renamed TransformCalProjectionFactor to ProjectionFactorPPPC to follow new naming convention 2014-08-12 15:29:05 -04:00
Vadim Indelman bcab483574 Changed norm to determinant. 2014-08-01 21:51:52 +03:00
Vadim Indelman 89410fe1ee added updateNoiseModels_givenCovs to BetweenFactorEM. 2014-08-01 21:11:19 +03:00
cbeall3 bc982293ab New unit tests for quaternary pose+transform+landmark+calibration factor 2014-07-29 21:55:14 -04:00
Jing Dong b5b1bbfba0 improve TransBtwRobotEM factor's preformance by removing redundant unwhitenedError calc 2014-07-18 17:11:21 -04:00
Jing Dong e06c2cfacc change few function parameters to const reference to improve preformance of TransformBtwRobot factors 2014-07-18 15:59:14 -04:00
cbeall3 f4dc6a3a95 Fix metis linking in tests 2014-07-16 14:45:12 -04:00
cbeall3 f261a6ddbc Merge remote-tracking branch 'origin/develop' into feature/concurrent-calibration 2014-07-02 15:49:47 -04:00
cbeall3 8bc87e8f4f Transform + Calibration examples and factor 2014-07-01 16:33:23 -04:00
cbeall3 5b2f4a2c3a Move Transform factors to unstable 2014-07-01 16:03:35 -04:00
Vadim Indelman 991906181b Updating EM factor (to accout for uncertainty in states) 2014-06-30 20:43:25 +03:00