Commit Graph

836 Commits (release/4.3a0)

Author SHA1 Message Date
Varun Agrawal 519fa65beb use 2000 timesteps as our benchmark and report total time in seconds 2025-01-24 12:07:48 -05:00
Varun Agrawal 4a302d7945 use HybridSmoother for City10000 2025-01-23 21:54:57 -05:00
Varun Agrawal 0796ee293e Merge branch 'hybrid-smoother' into city10000 2025-01-23 21:27:30 -05:00
Varun Agrawal 17836314ab small cleanups 2025-01-23 13:43:56 -05:00
Varun Agrawal b2503ca443 some improvements 2025-01-23 12:53:08 -05:00
Varun Agrawal ea82d51d10 working example 2025-01-23 12:52:45 -05:00
Varun Agrawal 7c24448a2b update script and add dedicated ISAM2 script so we can view results in the continuous-only case 2025-01-23 01:04:20 -05:00
Varun Agrawal 97ae9fde87 matlab script to plot results for City10000 2025-01-22 19:56:40 -05:00
Varun Agrawal 671184068f simple ISAM2 based example for City10000 dataset 2025-01-22 19:55:50 -05:00
Gold856 a3f2bddb66 Fix GCC 13 build issues 2025-01-22 17:10:47 -05:00
JokerJohn 2eba9fb39d move the IncrementalFixedLagExample example to gtsam_unstable folder to fix the link error 2025-01-22 16:59:34 +08:00
JokerJohn a9da253d00 add IncrementalFixedLagSmootherExample 2025-01-18 17:38:34 +08:00
JokerJohn 630ee11885 remove example 2025-01-17 23:57:58 +08:00
JokerJohn 6795bf5709 add a new line at the end of file 2025-01-15 13:33:53 +08:00
JokerJohn fbd45776a6 add a new line at the end of file 2025-01-15 13:21:32 +08:00
JokerJohn 3743b562c1 Move the example to the appropriate folder, and modify the code for reading files and adding factors. 2025-01-15 13:17:21 +08:00
Frank Dellaert 088332978b Check issue 1452 2025-01-13 13:02:39 -05:00
Fan Jiang ed098eaec6 Cleanup some includes and fix cassert 2024-12-11 14:05:05 -05:00
Frank Dellaert be9195465e Differentiated EssentialTransferFactor and EssentialTransferFactorK 2024-11-05 15:55:06 -05:00
Frank Dellaert b9dc9ae459 Switch to using Cal3f 2024-10-28 15:59:19 -07:00
Frank Dellaert 4057e41a80 Python version of EssentialViewGraphExample 2024-10-28 15:59:19 -07:00
Frank Dellaert 5eb858b729 Naming convention 2024-10-28 15:59:19 -07:00
Frank Dellaert 5b94956a59 New example now uses EssentialTransferFactor 2024-10-28 15:59:19 -07:00
Frank Dellaert 9335d2c0dd Copy example 2024-10-28 15:59:19 -07:00
Frank Dellaert ced6d5721d Fix call w new API 2024-10-28 11:59:29 -07:00
Frank Dellaert 26a3728d80 Fix createPoses 2024-10-28 08:55:49 -07:00
Frank Dellaert 38ac1b4837 Batched version 2024-10-25 07:34:42 -07:00
Frank Dellaert 19c75cb95c Use FundamentalMatrix now 2024-10-25 07:34:42 -07:00
Frank Dellaert ca199f9c08 Switch to general F 2024-10-25 07:34:42 -07:00
Frank Dellaert 77754fd69b Example with SimpleF 2024-10-25 07:34:42 -07:00
Frank Dellaert 00fc2ecc2b Slight modernization 2024-10-25 07:34:42 -07:00
Varun Agrawal d2ca1ef285 updat example 2024-10-15 23:43:56 -04:00
Michal Nowicki 865288a4dd Fixing strength of bias constraints in IMUKittiExampleGPS.cpp 2024-03-18 08:47:11 +01:00
Varun Agrawal e4fff74690 update gtsamAddExamplesGlob and gtsamAddTimingGlob to take an additional argument rather than using a global variable 2023-10-08 12:16:24 -04:00
achintyamohan 5cb98a6dcd Modify GNC example, add comments to explain example purpose 2023-09-11 18:01:21 -04:00
achintyamohan d6e9889f45 Add cpp example for GNC 2023-09-10 20:07:12 -04:00
Ankur Roy Chowdhury f95ffed82e Moves examples/FixedLagSmootherExample.cpp -> gtsam_unstable/examples/FixedLagSmootherExample.cpp 2023-03-02 13:57:18 -08:00
Frank Dellaert 6df2f3eeda Fixed examples 2023-02-20 08:05:07 -08:00
Frank Dellaert c6dd2bb0f0 Fix up timing and examples 2023-02-06 01:44:55 -08:00
Frank Dellaert bd3b5be0a0 Exclude more files 2023-02-05 20:45:55 -08:00
Frank Dellaert 285cbe4f22 Get rid of all (pre c++11) += calls to create Orderings. 2023-02-05 20:45:54 -08:00
kartik arcot 27acf2231b removed a message 2023-02-05 20:45:54 -08:00
kartik arcot 2eecfe382b excluding some examples and moved index_sequence implementation to gtsam namespace 2023-02-05 20:45:54 -08:00
Frank Dellaert e2260b7ee1 Fix serialized test files for testSerializationSlam.cpp 2023-02-05 18:09:44 -08:00
Frank Dellaert fbc748a1a1 Merge branch 'develop' into feaure/remove_misc_boost 2023-02-05 10:43:34 -08:00
kartik arcot 9347f35ae5 replace boost::format 2023-02-04 12:21:32 -08:00
Frank Dellaert 42be860f73 Use c++17 in examples 2023-02-04 10:35:42 -08:00
kartik arcot 773d4975e6 remove all adaptors 2023-01-23 18:28:55 -08:00
kartik arcot d1d5336ed0 global find/replace. Does not compile 2023-01-23 18:26:44 -08:00
kartik arcot 1d7181be10 fix CI issue 2023-01-23 15:56:33 -08:00
Frank Dellaert 3b94469ce2 Merge branch 'develop' into feature/remove_boost_in_Values 2023-01-22 21:32:27 -08:00
Frank Dellaert 79682c2d8e Deprecated boost iterators in Values 2023-01-22 17:04:49 -08:00
kartik arcot 703cb5cbc7 remove make_shared header 2023-01-22 08:40:02 -08:00
kartik arcot c037e0a1fc replaced casts 2023-01-22 08:40:02 -08:00
kartik arcot 852e8768c0 shared_ptr, make_shared, allocate_shared 2023-01-22 08:40:02 -08:00
Kartik Arcot 6cd59d755f Merge branch 'feature/remove_deprecated_code' into verdant/replace-boost-optional-vals 2023-01-21 11:42:23 -08:00
Frank Dellaert c71d07bbfd Removed filter from examples and timing scripts 2023-01-21 11:39:42 -08:00
kartik arcot ee65c85442 linear, navigation, std::optional serialization tests 2023-01-21 09:27:20 -08:00
kartik arcot 236c02eb52 examples folder 2023-01-21 09:27:20 -08:00
kartik arcot 200aa13701 return before using statement 2023-01-20 18:06:55 -08:00
kartik arcot 9c56c73c1a fixing some mr comments. added new lines 2023-01-20 18:06:55 -08:00
kartik arcot ce02873140 everything compiles but tests fail in no boost mode 2023-01-20 18:06:55 -08:00
kartik arcot 841dc6005a changed signatures to use OptionalMatrix keyword 2023-01-20 18:06:55 -08:00
kartik arcot abc7e34a8b replace list_of with initializer list 2023-01-10 16:45:33 -08:00
Frank Dellaert 9b5321ce03 Remove unused boost::assign headers 2023-01-07 23:58:35 -08:00
Gerry Chen 885eed33d1
replace all NoiseModelFactor1, 2, ... with NoiseModelFactorN 2022-12-22 17:25:48 -05:00
Varun Agrawal ad9c1a72f5
Merge pull request #1324 from Taeyoung96/fix-imuFactor-example 2022-11-14 11:04:46 -05:00
Tae Young Kim 193ee66e8f Remove unnecessary functions in ImuFactorsExample.cpp 2022-11-13 16:57:16 +09:00
Varun Agrawal d57fffb703 allow examples to link to gtsam_unstable 2022-11-07 18:31:15 -05:00
Varun Agrawal 587678e0b7
Merge pull request #874 from borglab/fix/368
CombinedImuFactor: Add bias effect on position jacobian
2022-08-21 16:33:53 -04:00
Philipp Glira a8720fe910
Update README.md
Removed unavailable file
2022-08-12 11:49:35 +02:00
Varun Agrawal 103c78b0de revert name change, save for another PR 2022-08-10 10:31:10 -04:00
Varun Agrawal 322c08071e Merge branch 'develop' into fix/368 2022-07-22 14:29:44 -04:00
Akshay Krishnan 897dae4436 more renames to camelcase 2022-07-12 20:03:02 -07:00
Akshay Krishnan ed5fa923cf Example to run LOST and compare to DLT 2022-07-10 16:49:30 -07:00
Varun Agrawal 2d3859db01 Merge branch 'develop' into fix/combined-imu 2022-05-05 13:41:52 -04:00
Frank Dellaert cf5e3729e0 Fixed parsing error and cleaned up 2022-03-19 15:19:25 -04:00
Frank Dellaert f7af2c09e7 Now initializing randomly 2022-03-10 17:28:18 -05:00
Frank Dellaert 98efc464dc Fixed all lint errors, formatting 2022-03-10 16:51:19 -05:00
acxz 67fc9a93e2 add newline at end of file 2022-02-21 13:50:27 -05:00
acxz 1bf53fc414 add missing header guards under timing/ and examples/ 2022-02-21 13:50:27 -05:00
Frank Dellaert 55ad1841bd
Merge pull request #1108 from borglab/fix/headers
Header discipline in base
2022-02-17 01:25:01 -05:00
Frank Dellaert c78af4d3ea Add headers in the place they are needed 2022-02-16 22:51:53 -05:00
Frank Dellaert bac5d4f120 Fix serialization class name 2022-02-16 20:59:26 -05:00
Frank Dellaert 2e9b51aff1 fix typo 2022-01-31 16:22:09 -05:00
Frank Dellaert 9dfe52d0b6 Made reading static named constructors 2022-01-31 13:43:41 -05:00
Frank Dellaert 762e8097bb nr -> number 2022-01-31 12:46:42 -05:00
Frank Dellaert 3d51989f2e Deprecated incorrectly named methods 2022-01-31 08:32:44 -05:00
Frank Dellaert 99a97da5f7 Fix examples 2022-01-21 18:12:38 -05:00
Frank Dellaert c1561dba02 Made cartesian product static, and added specialization in DiscreteValues. Added markdown and html methods for the latter. 2022-01-09 14:46:23 -05:00
Frank Dellaert 92744d13c6 Add auto 2021-12-30 10:30:13 -05:00
Frank Dellaert 752972c1fa Use non-deprecated graphviz methods 2021-12-21 10:17:36 -05:00
Frank Dellaert 371fe3e865 Fixed all examples 2021-11-20 16:34:53 -05:00
Frank Dellaert 9fe6d23d9f Got rid of sharedValues 2021-11-20 16:15:05 -05:00
Varun Agrawal 9aa0dbf493 replace static variable with variable of greater scope in cpp example 2021-10-21 18:42:46 -04:00
Varun Agrawal 86ab7d323a Merge branch 'develop' into fix/566 2021-10-21 15:02:33 -04:00
Varun Agrawal af714cdb5a undo name change from 984a90 2021-09-30 09:05:22 -04:00
Varun Agrawal 5e735e10f7 minor improvements to CombinedImuFactor 2021-09-16 13:03:11 -04:00
Eric 1046bf481a Small clarification and md cleanup 2021-08-21 17:04:33 -04:00
Varun Agrawal a4a58cf803 only format c++ file (no code changes) 2021-08-20 13:33:57 -04:00
Akshay Krishnan aec2cf06a5
Merge pull request #753 from borglab/feature/essential-mat-with-approx-k
Adding factor which considers the essential matrix and camera calibration as variable
2021-06-21 09:14:06 -07:00
akrishnan86 01561bc217 formatting example 2021-06-20 22:26:19 -07:00
Akshay Krishnan e3b6c8308a updating points name, constexpr 2021-06-21 03:47:10 +00:00
Akshay Krishnan d9a8111bbd resolving merge conflict 2021-06-17 01:42:51 +00:00
Akshay Krishnan 545dfd0be7 removing failing test and unused data 2021-06-17 01:36:57 +00:00
akrishnan86 c4582941bf removing duplicate data file 2021-06-13 20:33:37 -07:00
akrishnan86 01515d1001 formatting changes 2021-06-13 20:30:04 -07:00
Akshay Krishnan 14f8b8aa62 removing Sampson error + some tests cleanup 2021-06-14 01:30:00 +00:00
Ayush Baid bce9050672 adding 11 point example for cal3bundler 2021-06-10 14:47:43 -07:00
Ayush Baid 4fbd98df3a creating 18 point example 2021-06-08 13:14:56 -07:00
HMellor 1744eaf599 Correct ImuFactorExamples frame description 2021-05-28 21:00:34 +01:00
Navid Mahabadi 587ad0fad3 update: use avialble rot2 class 2021-03-23 16:13:13 +01:00
Navid Mahabadi 554dd790d9 fix: UnaryFactor Jacobian 2021-03-23 10:11:19 +01:00
Toni 7f80c906c4 Fix override warnings: modernize-use-override 2021-01-28 23:02:13 -05:00
Varun Agrawal 06d8ec289d
Merge pull request #633 from borglab/fix/foot-imu
Adds unit test for imu preintegration of a single step
2021-01-19 21:03:10 -05:00
Toni 3d7e182822 Remove gtsam_unstable lib from examples 2021-01-18 14:47:39 -05:00
Toni a567a570ed Move example to gtsam_unstable 2021-01-18 14:41:28 -05:00
Toni 19b7312edb Split .h/.cpp, use const& (WIP) 2021-01-17 11:08:53 -05:00
Varun Agrawal fb44e56dc8
Merge pull request #547 from borglab/feature/RobustShonan
Feature/robust shonan
2021-01-11 21:58:42 -05:00
Frank Dellaert 4d100461d4 Removed reference for iterating over values. Also used auto where I could, when changing. 2021-01-04 20:46:16 -05:00
Varun Agrawal e54ef580f7 add simulation data 2020-12-14 14:32:36 -05:00
lcarlone 5e82b72b60 fixed typo 2020-12-05 14:34:35 -05:00
Varun Agrawal 799788672f formatting 2020-11-30 17:32:16 -05:00
Varun Agrawal d8fc330be4 Assign pointer to prevent errors 2020-11-27 19:35:12 -05:00
lcarlone 1506001166 fixed typo 2020-09-30 16:10:27 -04:00
lcarlone 6567422ec5 added control over minimum rank in ShonanAveraging example, and resolved hard-coded sigma in FrobeniusFactor 2020-09-26 19:06:55 -04:00
Varun Agrawal 32943df612
Merge pull request #365 from borglab/imu-examples
Reworked IMU examples
2020-08-24 13:54:39 -04:00
Varun Agrawal 9e1c4fc2fb Merge branch 'develop' into imu-examples 2020-08-21 11:25:39 -04:00
Frank dellaert 12d18343b9 Shonan C++ CLI 2020-08-19 23:13:28 -04:00
Frank dellaert 5e803e917e Fixed example printing 2020-08-19 09:29:09 -04:00
Varun Agrawal 5a85494f33 replace atof/atoi with standardized stof/stoi 2020-08-17 13:12:40 -04:00
Frank Dellaert 84afc94458
Feature/shonan averaging (#473)
Shonan Rotation Averaging.

199 commit messages below, many are obsolete as design has changed quite a bit over time, especially from the earlier period where I thought we only needed SO(4).

* prototyping weighted sampler

* Moved WeightedSampler into its own header

* Random now uses std header <random>.

* Removed boost/random usage from linear and discrete directories

* Made into class

* Now using new WeightedSampler class

* Inlined random direction generation

* eradicated last vestiges of boost/random in gtsam_unstable

* Added 3D example g2o file

* Added Frobenius norm factors

* Shonan averaging algorithm, using SOn class

* Wrapping Frobenius and Shonan

* Fixed issues with <<

* Use Builder parameters

* Refactored Shonan interface

* Fixed << issues as well as MATLAB segfault, using eval(), as discussed in issue #451

* ShonanAveragingParameters

* New factor FrobeniusWormholeFactorP computes |Rj*P - Ri*P*Rij|

* Fixed broken GetDimension for Lie groups with variable dimension.

* Removed all but Shonan averaging factor and made everything work with new SOn

* Just a single WormholeFactor, wrapped noise model

* Use std <random>

* comments/todos

* added timing script

* add script to process ShonanAveraging timing results

* Now producing a CSV file

* Parse csv file and make combined plot

* Fixed range

* change p value and set two flags on

* input file path, all the csv files proceeses at the same time

* add check convergence rate part

* csv file have name according to input  data name

* correct one mistake in initialization

* generate the convergence rate for each p value

* add yticks for the bar plot

* add noises to the measurements

* test add noise

* Basic structure for checkOptimalityAt

* change optimizer method to cholesky

* buildQ now working. Tests should be better but visually inspected.

* multiple test with cholesky

* back

* computeLambda now works

* make combined plots while make bar plot

* Calculate minimum eigenvalue - the very expensive version

* Exposed computeMinEigenValue

* make plots and bar  togenter

* method change to jacobi

* add time for check optimality, min_eigen_value, sub_bound

* updated plot min_eigen value and subounds

* Adding Spectra headers

* David's min eigenvalue code inserted and made to compile.

* Made it work

* Made "run" method work.

* add rim.g2o name

* Fixed bug in shifting eigenvalues

* roundSolution which replaces projectFrom

* removed extra arguments

* Added to wrapper

* Add SOn to template lists

* roundSolution delete the extra arguement p

* only calculate p=5 and change to the correct way computing f_R

* Fixed conflict and made Google-style name changes

* prototype descent code and unit test for initializeWithDescent

* add averaging cost/time part in processing data

* initializewithDescent success in test

* Formatting and find example rather than hardcode

* Removed accidentally checked in cmake files

* give value to xi by block

* correct gradient descent

* correct xi

* }

* Fix wrapper

* Make Hat/Vee have alternating signs

* MakeATangentVector helpder function

* Fixed cmake files

* changed sign

* add line search

* unit test for line search

* test real data with line search

* correct comment

* Fix boost::uniform_real

* add save .dat file

* correct test case

* add explanation

* delete redundant cout

* add name to .dat output file

* correct checkR

* add get poses_  in shonan

* add Vector Point type for savig data

* Remove cmake file which magically re-appeared??

* Switched to std random library.

* Prepare Klaus test

* Add klaus3.g2o data.

* fix comment

* Fix derivatives

* Fixed broken GetDimension for Lie groups with variable dimension.

* Fix SOn tests to report correct dimension

* Added tests for Klaus3 data

* Add runWithRandomKlaus test for shonan.

* Finish runWithRandomKlaus unittest.

* Correct datafile.

* Correct the format.

* Added measured and keys methods

* Shonan works on Klaus data

* Create dense versions for wrappers, for testing

* Now store D, Q, and L

* Remove another cmake file incorrectly checked in.

* Found and fixed the bug in ComputeLambda !

* Now using Q in Lambdas calculation, so Lambdas agree with Eriksson18cvpr.

* Make FrobeniusFactor not use deprecated methods

* FrobeniusWormholeFactor takes Rot3 as argument

* Wrapped some more methods.

* Wrapped more methods

* Allow creating and populating BetweenFactorPose3s in python

* New constructors for ShonanAveraging

* add function of get measurements number

* Remove option not to use noise model

* wrap Use nrMeasurements

* Made Logmap a bit more tolerant of slightly degenerate rotations (with trace < -1)

* Allow for Anchor index

* Fix anchor bug

* Change outside view to Rot3 rather than SO3

* Add Lift in SOn class

* Make comet working

* Small fixes

* Delete extra function

* Add SOn::Lift

* Removed hardcoded flag

* Moved Frobenius factor to gtsam from unstable

* Added new tests and made an old regression pass again

* Cleaned up formatting and some comments, added EXPORT directives

* Throw exception if wrongly dimensioned values are given

* static_cast and other throw

* Fixed run-time dimension

* Added gauge-constraining factor

* LM parameters now passed in, added Gauge fixing

* 2D test scaffold

* Comments

* Pre-allocated generators

* Document API

* Add optional weight

* New prior weeights infrastructure

* Made d a template parameter

* Recursive Hat and RetractJacobian test

* Added Spectra 0.9.0 to 3rdparty

* Enabling 2D averaging

* Templatized Wormhole factor

* ignore xcode folder

* Fixed vec and VectorizedGenerators templates for fixed N!=3 or 4

* Simplifying constructors
Moved file loading to tests (for now)
All unit tests pass for d==3!

* Templated some methods internally

* Very generic parseToVector

* refactored load2d

* Very much improved FrobeniusWormholeFactor (Shonan) Jacobians

* SO(2) averaging works !

* Templated parse methods

* Switched to new Dataset paradigm

* Moved Shonan to gtsam

* Checked noise model is correctly gotten from file

* Fixed covariance bug

* Making Shonan wrapper work

* Renamed FrobeniusWormholeFactor to ShonanFactor and moved into its own compilation unit in gtsam/sfm

* Fixed wrong include

* Simplified interface (removed irrelevant random inits) and fixed eigenvector test

* Removed stray boost::none

* Added citation as suggested by Jose

* Made descent test deterministic

* Fixed some comments, commented out flaky test

Co-authored-by: Jing Wu <jingwu@gatech.edu>
Co-authored-by: jingwuOUO <wujing2951@gmail.com>
Co-authored-by: swang <swang736@gatech.edu>
Co-authored-by: ss <ss>
Co-authored-by: Fan Jiang <prof.fan@foxmail.com>
2020-08-17 07:43:10 -04:00
Varun Agrawal be70d1785c Merge branch 'develop' into imu-examples 2020-08-17 00:38:14 -04:00
Frank Dellaert b1e3b5495c Some behavior changes.
- maxIndex now does what it says
- id = size_t, Key is only for Values and Graph)
- re-admitted methods needed for wrapper.
2020-08-15 13:05:58 -04:00
Varun Agrawal a1f6e1585a use boost program_options for command line parsing 2020-08-11 01:32:58 -05:00
Varun Agrawal 4949f8bb9d reworked basic ImuFactorsExample 2020-08-11 01:32:44 -05:00
Varun Agrawal 3bc109de53 renamed ImuFactorExample2 to be more consistent with naming 2020-08-11 00:26:34 -05:00
Varun Agrawal aae9c19d0f example using CombinedImuFactor 2020-08-11 00:25:42 -05:00
Varun Agrawal 5da2108cd4 Merge branch 'develop' into imu-examples 2020-07-27 20:37:29 -05:00
Jose Luis Blanco Claraco 0198c648e3
Fix all new gcc warnings/errors: make explicit virtual/override methods.
Rules are:
- use "virtual" in base classes only.
- use "override" in all derived classes.
2020-07-26 11:20:42 +02:00
Varun Agrawal 6897ddc8aa Merge branch 'develop' into feature/g2o-vertices 2020-07-24 11:29:54 -05:00
Varun Agrawal 8a210188f3 test for readG2o 2020-07-24 03:10:14 -05:00
acxz e993afe2bf replace boost random with std random 2020-07-23 14:05:23 -04:00
Frank Dellaert 18b705835b
Merge pull request #263 from kvmanohar22/isam2_imu_example
adding functionality to use ISAM2 for imu preintegration example
2020-07-15 18:03:43 -04:00
Frank dellaert 4b4a0e532f Add BayesNet-inst.h at end of BayesNet.h 2020-07-14 08:50:20 -04:00
Frank Dellaert 954741093c
Merge branch 'develop' into isam2_imu_example 2020-07-13 21:06:24 -04:00
Frank dellaert 621e79f06c Add explicit HMM example 2020-07-12 23:25:26 -04:00
Frank dellaert 7dba3023d6 New discrete example 2020-07-12 23:25:26 -04:00
Varun Agrawal 48b0b2b76e Explicit type definition to handle warning 2020-07-10 23:01:18 -04:00
Varun Agrawal e41dbfc26c fix init issues with Vector3, use static matrices where possible 2020-07-10 21:45:01 -04:00