Commit Graph

146 Commits (5d6b9c95160c0fe01bc7dabb54d3f8afbfa838c8)

Author SHA1 Message Date
Frank Dellaert ebae189c7b Re-ordered functions to minimize diff 2019-06-03 16:06:09 -04:00
Frank Dellaert 18553feb03 Recalculate now removes top 2019-06-03 14:57:25 -04:00
Frank Dellaert 3ab9a1e3cc Made detail handling more explicit in update 2019-06-03 14:12:10 -04:00
Frank Dellaert a9e955d56e using rather than typedef 2019-06-03 12:33:23 -04:00
Frank Dellaert 3b51bae5c1 made markedKeys explicit 2019-06-03 12:33:05 -04:00
Frank Dellaert 1757198463 Moved recalculate back to iSAM2.cpp 2019-06-02 01:51:14 -04:00
Frank Dellaert 1a29ab5533 Refactored iSAM2::update to reveal what is changed when 2019-06-01 17:34:24 -04:00
Jose Luis Blanco Claraco d6b2429471 better docs and variable names 2019-05-28 23:33:47 +02:00
Jose Luis Blanco Claraco 17edca2426 Alternative ISAM2::update() signature, easier to extend.
The old update() method still exists and calls the new one.
The idea is that by using a struct, it is easier (i.e. API/ABI
compatibility) to add the new parameters that we will need to add next.
2019-05-27 12:18:17 +02:00
Duy-Nguyen Ta b2e5dadcdb Merge branch 'develop' of https://bitbucket.org/gtborg/gtsam into fix/trailing_whitespaces
# Conflicts:
#	gtsam/symbolic/tests/testVariableIndex.cpp
#	gtsam_unstable/gtsam_unstable.h
#	gtsam_unstable/linear/RawQP.cpp
#	gtsam_unstable/linear/RawQP.h
2019-05-12 09:26:28 -04:00
jlblancoc 285ebd7dbd Type for Factor indices, dual to "Key"
This avoids a couple of confusing uses of KeySet to refer to lists of
Factors, and makes code more readable where formerly using size_t to
index factors.
2019-04-08 09:08:43 +02:00
Duy-Nguyen Ta 1cdc228d6a remove trailing spaces 2019-02-11 10:58:34 -05:00
Frank Dellaert 2aa43e11bd Use KeyVector everywhere to avoid conversions 2018-11-08 10:10:32 -05:00
Frank Dellaert 2fe2f1ad19 input/output convention 2018-09-30 14:22:20 -04:00
Frank Dellaert d6edc217ab Changed several Impl functions to methods in ISAM2 and ISAM2Clique 2018-09-30 14:11:00 -04:00
Frank Dellaert d401edc917 Split ISAM2 Clique, Params, and Result out in different files, cleaned up headers, and removed ISAM2-inl.h header 2018-09-30 12:58:48 -04:00
Frank Dellaert 7fd8bc1bf5 Restored non-recursive version, disabled solution pointers back-substitute. 2018-09-30 11:19:25 -04:00
Frank Dellaert ba64402985 Added fastBackSubstitute method 2018-09-30 10:47:32 -04:00
Frank Dellaert 5223713c18 Use VectorValues::vector rather than bespoke code for saving delta values. 2018-09-30 10:30:27 -04:00
Frank Dellaert a31294d777 Modernized, cleaned up, and turned off non-recursive version (fow now) because it has a bug. 2018-09-29 17:52:20 -04:00
Frank Dellaert e6c0d7334f Cleaned up cpplint errors - no functionality change 2018-09-29 00:06:19 -04:00
yao a0661b3813 Almost done. Still need to figure out how to remove the remaining 3 occurrences. 2016-05-21 12:44:46 -04:00
dellaert fad9462661 A better solution through typedef of FactorIndices -> FastVector<size_t> 2016-02-25 23:51:01 -08:00
dellaert 64aae16b3c Fixed problem with wrapping iSAM by a hack: made vector<size_t> into KeyVector. This is not a long-term solution: we should enable wrapping of vector<T>. 2016-02-25 22:07:04 -08:00
Frank 0372a959ee Many small improvements, bug-fixes, and tests 2016-02-24 11:01:19 -08:00
dellaert 128bac616c Globally replaced FastSet<Key> with KeySet. 2015-06-20 18:38:25 -07:00
Abe 13a4da21b2 misc bugfixes and cleanup from skydio 2015-05-13 22:26:24 -07:00
Thomas Schneider ebf5746987 Fix some serialization warnings. 2015-03-06 16:12:09 +01:00
dellaert e5017984a1 traits_x -> traits 2014-12-26 16:47:51 +01:00
dellaert 79d8514528 MASSIVE edit: made Testable its own concept, and moderinized Testable.h to use Testable traits. This required adding Testable traits in many classes. 2014-12-21 22:02:57 +01:00
Richard Roberts f9ca07e610 Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax 2014-11-23 10:22:25 -08:00
Richard Roberts aa093a35da Updated all comma initializer usages to use .finished() 2014-11-22 16:35:27 -08:00
Alex Cunningham cb3cec3789 Replaced static variable counter inside ISAM2 update() with a member variable to avoid a bug where if multiple instances of ISAM2 are running in the same process, the counter gets incremented in each of them, resulting in very difficult to debug failures. 2014-03-27 16:15:29 -04:00
Richard Roberts 7192bd2f79 Removed namespace-functions for ISAM2 optimize* and gradient*, these were only there to try to maintain a consistent interface for linear but really were not correct anyway since ISAM2 is a nonlinear object. They instead caused confusion and made the code complicated since they used a complicated system for updating and caching various components that go into calculating the solution. Replaced all this with much simpler code directly inside updateDelta, which uses clearly-defined functions in the ISAM2::Impl class to calculate the components that go into the solution. Also removed the redundant deltaUpToDate flags - now just checks whether deltaReplacedMask is empty. 2014-02-22 16:46:38 -05:00
cbeall3 7efe7cefca Removing unimplemented method optimize() 2014-02-18 18:24:27 -05:00
jing 90786c0203 fix Vector_() in rest of gtsam folder 2014-01-23 01:44:55 -05:00
Richard Roberts 686051c032 Convert DOS line endings to UNIX 2014-01-09 16:39:27 -05:00
Richard Roberts fa5d08d9a6 Option to reuse old factor slots in ISAM2 2013-11-18 19:23:09 +00:00
Richard Roberts 5f2a4e0dc6 Changed remaining Index to Key 2013-09-20 15:25:11 +00:00
Alex Cunningham 2d554a7b77 Made functions virtual to allow for overriding 2013-09-05 20:01:11 +00:00
Richard Roberts f9eb5b6e2c Small data structure change in ISAM2::getAffectedFactors for a speedup 2013-08-14 19:28:45 +00:00
Richard Roberts 7d2f3e69b5 First pass at solution pointer caching in ISAM2 wildfire 2013-08-14 19:25:01 +00:00
Richard Roberts 46beb6c6a4 Re-added ISAM2::marginalizeLeaves optional output arguments from Steves changes in r18185 2013-08-14 15:21:10 +00:00
Richard Roberts c2284a3d6b Changed FastVector to vector in GFG and ISAM2 2013-08-12 18:21:23 +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
Richard Roberts 4e2f2c3822 Changed public back to protected 2013-08-11 00:40:12 +00:00
Stephen Williams f9de5838f6 Added optional return information to the 'marginalizeLeaves' method of
iSAM2
2013-08-10 17:16:10 +00:00
Stephen Williams 485624f8d6 Added access to the set of fixed variables (the variables involved in
linear marginal factors) from iSAM2
2013-08-10 17:15:56 +00:00
Richard Roberts 63e89656d2 Temporary debugging for marginalizeLeaves 2013-08-10 15:52:00 +00:00
Richard Roberts 789f2bee97 ISAM2 compiling and fixed several issues but still some unit tests failing 2013-08-09 21:35:47 +00:00