Commit Graph

495 Commits (c623dafecfc3f0b23e90d1358d5d866a7dcd066b)

Author SHA1 Message Date
Zsolt Kira cc724134a6 Added ability to run both smart and projection factor version (for comparison)
For projection factor version, we can specify a landmark-first ordering
2013-10-04 13:47:24 +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
Luca Carlone 4996db5023 Fix in running incremental optimization on Kitti 2013-10-03 18:02:25 +00:00
Richard Roberts 4d31dd99f3 Hopefully fixed the mex build flags 2013-10-03 16:50:14 +00:00
Luca Carlone a6dd4c0464 testing on kitti 2013-09-30 20:39:55 +00:00
Luca Carlone 441dcec64e added unit test for selective relinearization 2013-09-28 21:25:08 +00:00
Luca Carlone 9ad72e9523 included rank tolerance in Smart factor constructor 2013-09-28 18:49:26 +00:00
Luca Carlone d10ffee4d4 management of degeneracy 2013-09-28 00:49:37 +00:00
Luca Carlone 7560a1f6e3 Typo fixed 2013-09-27 16:06:36 +00:00
Luca Carlone e10a0a0650 bool to disable selective relinearization 2013-09-26 23:09:50 +00:00
Luca Carlone 8168d4a186 commented test 2013-09-26 23:09:48 +00:00
Luca Carlone 22ccd4b4b4 update to smartFactor 2013-09-26 23:09:47 +00:00
Zsolt Kira b04d2f1512 ICRA version of Kitti dataset processing 2013-09-26 20:36:57 +00:00
Alex Cunningham d440901920 Fixed quoting on include paths for building the toolbox so that the toolbox builds again 2013-09-26 18:12:32 +00:00
Luca Carlone 70a448f43e Efficient implementation of Selective Linearization 2013-09-26 15:07:56 +00:00
Luca Carlone 73e72a98bd Selective relinearization 2013-09-26 01:06:55 +00:00
Luca Carlone 9f68c04792 Initial implementation of selective relinearization 2013-09-20 20:19:58 +00:00
Zsolt Kira c310bafc8a ISAM2 option, increased num poses 2013-09-14 03:10:10 +00:00
Luca Carlone 0e5069c26c Added toy example on SmartRangeFactors 2013-09-14 00:21:10 +00:00
Chris Beall 5dc138aa09 wrap important bits of SmartRangeFactor 2013-09-13 21:00:48 +00:00
Chris Beall 14e65ce607 Matrix initialization bug fix 2013-09-13 18:26:39 +00:00
Zsolt Kira 7413b50da1 Support for running on entire kitti dataset.
Cleaned up prints, added gathering of statistics (# variables, triangulation failures, etc.)
2013-09-13 13:22:43 +00:00
Zsolt Kira 35327d0d56 Added incremental version using the normal Projection Factor.
Supports initialization both using read-in landmark poses or triangulation.
2013-09-11 14:02:41 +00:00
Zsolt Kira a8d1072a02 Further optimization with another ~9% speed improvement.
Don't retriangulate on linearize if previous triangulation involved same poses
Added noalias in non-blockwise portion
Added exception handling for project() function
2013-09-10 15:15:24 +00:00
Vadim Indelman b3d500f58c Added optional flag_bump_up_near_zero_probs. 2013-08-29 22:43:09 +00:00
Vadim Indelman 86d21aaa05 Added optional flag_bump_up_near_zero_probs. 2013-08-29 22:42:33 +00:00
Luca Carlone 141958123a Working version of rotation only smart factor 2013-08-28 17:37:58 +00:00
Vadim Indelman df36ee643a Added option to start with an M step. 2013-08-28 16:56:57 +00:00
Luca Carlone 0422b9cfef degenerate case in smart vision factor 2013-08-28 16:07:58 +00:00
Luca Carlone 633220a9dd degenerate case in SmartProjectionFactor 2013-08-28 16:07:56 +00:00
Chris Beall 19ddf3f228 minor speedup 2013-08-28 14:47:57 +00:00
Zsolt Kira bf8621aa3a Added some state that is returned/passed in to smart projection factor to support smart re-linearization
Fixed bug in batch example that did not add last set of measurements in file
Created incremental version that reads measurements as they come, associates with a smart factor (or creates new one), and optimizes.  
Last example achieves same results on 200-pose example as batch example.
2013-08-28 12:31:56 +00:00
Chris Beall 138a7ea28c minor fixes - removed unnecessary boost optional 2013-08-27 17:48:59 +00:00
Zsolt Kira f779736380 Fixed failed test, which resulted from removal of feature allowing one to pass a landmark in to constructor 2013-08-26 12:46:13 +00:00
Vadim Indelman e6d5c2bf73 updated to the new gtsam version. 2013-08-23 18:15:28 +00:00
Vadim Indelman 6ab49e95da Added cref_list_of. 2013-08-23 18:12:59 +00:00
Vadim Indelman e439a298b8 disabled until debugging is done. 2013-08-23 16:18:18 +00:00
Vadim Indelman 3b7670c5aa added TransformBtwRobotsUnaryFactorEM. 2013-08-23 15:24:46 +00:00
Vadim Indelman 77e02a332e Added TransformBtwRobotsUnaryFactorEM. May need to move to MAST later. 2013-08-23 15:24:16 +00:00
Vadim Indelman f6402916d6 added flag_bump_up_near_zero_probs_. 2013-08-23 15:22:50 +00:00
Vadim Indelman ca3956adc1 minor changes. 2013-08-23 15:21:50 +00:00
Richard Roberts 930c537991 Added TBB include directories when compiling matlab wrapper 2013-08-22 21:44:14 +00:00
Zsolt Kira 0466e606b0 Added try/catch for triangulation exception
Optimizations resulting in about 6-7% improvement
Added methods returning keys and other information needed to create generic projection factors
Code cleanup
2013-08-21 01:35:13 +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
Chris Beall e42f8e5a35 fix documentation 2013-08-19 20:25:04 +00:00
Chris Beall ab51b50a9a landmark triangulation now throws two different exceptions instead of returning boost::none. TriangulationCheiralityException and TriangulationUnderconstrainedException 2013-08-19 20:10:36 +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
Zsolt Kira fe860be33f SmartProjectionFactor: Added add(measured, poseKey) method to incrementally add views to the same landmark.
Added unit test for new method and way of creating factor.
Fixed missing negative when calculating b for non-blockwise version of Schur complement
2013-08-18 02:18:32 +00:00
Richard Roberts 09c4d8b712 Disabled testBetweenFactorEM because it is in progress for debugging 2013-08-16 21:57:49 +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
Richard Roberts 68c6bf4a38 Added CMake code and preprocessor macros so that everything works without TBB and falls back on single-threading 2013-08-16 20:26:07 +00:00
Alex Cunningham 2d413e05c6 Removed functions largely supersceded by newer bayes tree functionality 2013-08-16 16:32:19 +00:00
Richard Roberts 0212bbc30d Fixed some unit tests 2013-08-16 04:11:02 +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
Alex Cunningham 591a43a343 Added TBB linking flags to wrap build script 2013-08-15 17:44:17 +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 0514ad39c6 Smart projection factor working on Kitti 2013-08-14 19:12:23 +00:00
Luca Carlone d7e6f43fa7 Updated to work with unordered GTSAM 2013-08-14 19:12:21 +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 16b4f0fe8b Moved ImuFactor and CombinedImuFactor into main gtsam, and moved InertialNavFactor family into gtsam_unstable. 2013-08-13 21:04:31 +00:00
Richard Roberts 5d0f8399ed Fixed gtsam_unstable matlab wrapper 2013-08-12 22:26:37 +00:00
Richard Roberts 175965a6bf Merged from branch 'branches/unordered' 2013-08-12 21:52:43 +00:00
Richard Roberts 13d829687c Merged from branch 'trunk' 2013-08-12 21:49:59 +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
Zsolt Kira b34b6cc9ee Added warning if triangulation fails
Added ability to pass in landmark position directly, thereby avoiding triangulation
Added test that compares GenericProjectionFactor and SmartProjectionFactor for 1 iteration using
both GaussNewton and LM optimization.  These tests also fail, until we find the problem/bug.
2013-08-12 21:44:54 +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 6cba528671 Fixed include path 2013-08-12 18:21:27 +00:00
Richard Roberts 7a027be7e5 Fixed unit tests compiling on windows 2013-08-12 16:25:13 +00:00
Vadim Indelman 87a7c56c88 Switched to square root of covariance norm. 2013-08-12 16:11:48 +00:00
Chris Beall 14931bcc7d improved tests a little. basic 3 landmark test with smart projection factor fails! 2013-08-12 14:40:57 +00:00
Richard Roberts ea3ca54cba "Fixed" more unit tests 2013-08-11 19:01:06 +00:00
Richard Roberts 517a5037a7 Enabled more unit tests and either fixed them or have them print a "disabled" message during make check 2013-08-11 18:41:08 +00:00
Richard Roberts f4d816dcf8 Disabled testSmartProjectionFactor and made print message about this 2013-08-11 18:40:57 +00:00
Richard Roberts f240327f24 Fixed testIMUSystem and BetweenFactorEM 2013-08-11 18:40:47 +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
Richard Roberts bb4ad176da Needed std:: 2013-08-09 18:50:15 +00:00
Richard Roberts 1eae17561d Taking ImuFactor noise model automatically from preintegrated measurement covariance 2013-08-09 18:50:14 +00:00
Chris Beall c03172aca3 add prior on second camera 2013-08-09 15:31:15 +00:00
Chris Beall 369e69b0d2 actually set everything to zero to turn factor off during linearization 2013-08-09 15:28:57 +00:00
Zsolt Kira 8d9dcfbfc2 Fixed problem with pixel_sigma (2-dimensional only)
Added switch to determine if normal GenericProjectionFactor or SmartProjectionFactor is used
2013-08-09 14:52:26 +00:00
Alex Cunningham 5b7d7b3793 Closer to building and tests running 2013-08-08 20:45:44 +00:00
Vadim Indelman b0c96f9bf6 unwhitenedError. 2013-08-08 20:14:12 +00:00
Vadim Indelman 27cabb62f1 added unwhitenedError to BetweenFactorEM. 2013-08-08 20:13:39 +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
Zsolt Kira 5af82c4042 SmartProjectionFactor example: Cleaned up some code, added comments,
changed some of the LM parameters.  Switched to use smaller kitti
dataset for now.
2013-08-08 17:16:23 +00:00
Vadim Indelman 579e0931dc Fixed different issues with EM. 2013-08-08 15:12:21 +00:00
Luca Carlone b3ea3f9465 lines added to testSmartProjectionFactor 2013-08-08 14:30:26 +00:00
Zsolt Kira 6dd67a13fd Changed to optimize entire graph instead of sub-graphs 2013-08-08 14:20:08 +00:00
Luca Carlone a82262cf99 Included noise model and f term in SmartProjectionFactor 2013-08-08 14:00:26 +00:00
Zsolt Kira 159f9eee1e Added SmartProjectionFactorExample_kitti.cpp.
Currently loads kitti dataset after processing by VO code (stereo_factors.txt and camera_poses.txt)
Creates graph after N landmarks have been seen, runs it through SmartProjectionFactor
Verification of output is still needed; LM seems to optimize but poses don't seem to change.
2013-08-08 03:11:42 +00:00
Zsolt Kira f423d6f2a8 SmartProjectionFactor: More cleanup, added more tests, added some timing 2013-08-07 23:32:40 +00:00
Vadim Indelman d33f435eab Added BetweenFactorEM with 2 indicator variables. 2013-08-07 15:25:00 +00:00
Zsolt Kira c2f5adc7d0 Cleaned up code: Removed commented out code, added debug condition
If debug is enabled, both blockwise and full implementations are performed and then compared
2013-08-07 13:05:08 +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
Luca Carlone 482c5df647 updates in SmartProjectionFactor: first working version with full and block version producing the same results (non-optimized) 2013-08-05 22:34:31 +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
Richard Roberts 628d4e0d77 Disabled discrete for the time being 2013-08-05 22:30:52 +00:00
Luca Carlone 2e085ace91 Changes in SmartProjectionFactor 2013-08-05 19:25:08 +00:00
Chris Beall 5518007317 adding test with regular projection factors for comparison, and bug fixes in SmartFactor test. 2013-08-05 17:58:32 +00:00
Chris Beall d1de6b29a9 adding 3 camera, 3 landmark test 2013-08-05 15:50:19 +00:00
Luca Carlone 39ec641c4a Modifications to SmartProjectionFactor and unit test: work in progress 2013-08-05 15:09:03 +00:00
Luca Carlone d1419a3d11 Added SmartProjectionFactor (+unit tests) 2013-08-02 23:35:39 +00:00
Richard Roberts f273b8f915 Removed extra 'typename' 2013-08-02 16:04:29 +00:00
Richard Roberts 34dc67c1af Brought some relevant changes from aspn-imu-factor branch (is correct this time) 2013-08-02 16:04:17 +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 2705d85fa7 Merged from branch 'trunk' 2013-07-31 18:55:15 +00:00
Luca Carlone ed79432a69 Added MultiProjectionFactor, invoving n views (camera poses) observing a single landmark: work in progress 2013-07-31 18:02:56 +00:00
Richard Roberts 34998b3435 Added missing export tag 2013-07-31 15:36:39 +00:00
Richard Roberts 321a286f02 Revert "Brought some relevant changes from aspn-imu-factor branch"
This reverts commit b08a11ffb27d14487115f20745f1cea17fcc55ee.
2013-07-31 15:26:48 +00:00
Richard Roberts b62af20fdc Revert "Removed extra 'typename'"
This reverts commit 04fd69f56c1e1cbd934a54aeb415e2cf2132d236.
2013-07-31 15:26:46 +00:00
Richard Roberts 90cf73d4a7 Removed extra 'typename' 2013-07-31 15:25:05 +00:00
Richard Roberts 7345b40feb Brought some relevant changes from aspn-imu-factor branch 2013-07-31 15:25:03 +00:00
Chris Beall 201a7bfda5 adding triangulation function needed by new Schur complement factor 2013-07-30 18:52:06 +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 b5c530d080 Merge branch 'svn/trunk'
Conflicts:
	CMakeLists.txt
2013-07-09 17:54:06 +00:00
Richard Roberts ecb24ebd06 Fixes to include path ordering and boost libraries 2013-07-09 15:43:55 +00:00
Richard Roberts d7767188b3 Merged from branch 'trunk' 2013-07-01 13:11:15 +00:00
Alex Cunningham f3aa2fde53 Fixed compile error 2013-06-25 17:22:45 +00:00
Frank Dellaert 0837eab8f5 Scripts to test (still not working so-well) smart range factor 2013-06-25 17:13:02 +00:00
Richard Roberts 31a9319fca Merge branch 'trunk' 2013-06-24 19:30:29 +00:00
Richard Roberts bad9373aec Merge branch 'trunk' 2013-06-24 19:30:24 +00:00
Richard Roberts 26df712592 Put new unit test global variables into anonymous namespaces. Removed dll export tag from SmartRangeFactor since it is a header-only class. 2013-06-24 19:30:00 +00:00
Frank Dellaert 39910717d6 Picked the winner 2013-06-24 16:25:02 +00:00
Frank Dellaert 34db300802 Fixed n<3 Jacobians 2013-06-24 16:18:48 +00:00
Frank Dellaert 3383e52c5f Split unit tests.... 2013-06-24 16:02:17 +00:00
Frank Dellaert 43fe036c32 Made more efficient by adding errors -> Jacobians back to 1*3, always. This is big savings if a landmark is seen from many poses. 2013-06-24 15:57:03 +00:00
Frank Dellaert aea4f31096 Fixed Jacobians, optimization works 2013-06-24 15:31:13 +00:00
Richard Roberts 123657e3d0 Merged from branch 'trunk' 2013-06-24 15:28:16 +00:00