Commit Graph

1626 Commits (7d34e9aab6952a99bbe5ed61dcd3b4d171c98e51)

Author SHA1 Message Date
Toni 7f80c906c4 Fix override warnings: modernize-use-override 2021-01-28 23:02:13 -05:00
Toni c073473f5b Merge branch 'develop' of github.com:borglab/gtsam into fix/warning_in_smart_factor
* 'develop' of github.com:borglab/gtsam: (65 commits)
  type in test hidden by duplicate test values
  auto and reserve fewer
  replace sparseJacobian with "fast" version
  disambiguate double template >>
  fix comment and remove whitespace diff
  remove InPlace jacobian from .h file
  remove unnecessary function overloads and typedefs
  use standard function to check for empty string
  fix bug in Pose2 print
  formatting
  revert Matrix.h
  remove templating while maintaining efficiency Templating still used in cpp file for generic-ness, but not exposed anymore
  move SparseMatrixBoostTriplets typedef to gfg
  add known issues section with info about march=native
  Revert "upgrade minimum required Boost version to 1.67."
  upgrade minimum required Boost version to 1.67.
  populate sparse matrix with `insert` rather than `setFromTriplets` About 5% speed improvement.
  eliminate copy/pasta from SparseEigen with generic version of sparseJacobian
  more generic sparseJacobianInPlace function
  add generic optional parameters to sparseJacobian Also, the unit test changed due to a 0 entry that was previously wrongly included in the b-column of the sparse representation.
  ...
2021-01-28 22:49:06 -05:00
Toni 241d82dbf7 Fix can be marked override warning 2021-01-22 00:27:32 -05:00
Varun Agrawal f831bfd62e add override and formatting 2021-01-19 15:40:37 -05:00
Toni 96dc9bfa5a Fix formatting 2021-01-18 14:48:19 -05:00
Toni 5ad65ed46c Fix formatting 2021-01-18 14:41:59 -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 745e2207a0
Merge pull request #657 from borglab/fix/compiler-warnings
Fix warnings
2021-01-05 17:00:01 -05:00
Varun Agrawal b7584ce362 verbose printing of exceptions 2021-01-05 10:44:26 -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 cb3a766b30 uncomment calibration applications 2020-11-30 13:19:13 -05:00
Varun Agrawal 2703307a43 deprecate SimpleCamera tests 2020-11-30 07:01:58 -05:00
Varun Agrawal 802580eec7 enforce constant term in quadratic to be 0 2020-11-19 12:40:38 -05:00
Varun Agrawal 098e704511 Similarity3 test only for Rot3 Expmap 2020-11-11 22:46:39 -05:00
Frank Dellaert a8ea6f2bd2 Fixed include error 2020-10-02 16:12:10 -04:00
Frank Dellaert 52518c9b0b Merge branch 'develop' into fix/LP_QP_stype 2020-10-01 21:37:45 -04:00
Frank Dellaert eb4f5288e9 Clean up code and tests and use "means" 2020-10-01 12:01:33 -04:00
Frank Dellaert dc1057f314 Fixed spelling mistake 2020-09-30 15:41:43 -04:00
Frank Dellaert 6b739b17be Re-formatting and using "add"/"auto" where we can. 2020-09-30 15:38:46 -04:00
Frank Dellaert c51264ac98 New method "add" as in GaussianFactorGraph 2020-09-30 15:38:25 -04:00
Frank Dellaert c0fb3a271b Small formatting changes and removal of test header 2020-09-30 15:38:08 -04:00
alexma3312 2f322310cd Merge remote-tracking branch 'upstream/develop' into sim3 2020-09-27 20:38:11 -04:00
alexma3312 95724be4ae Fix quaternions test failure. 2020-09-27 20:36:50 -04:00
Varun Agrawal 9bdcd2caa7 remove all LieScalar/LieVector/LieMatrix references from wrapper 2020-09-26 18:01:26 -04:00
alexma3312 8236d69fa1 Refactor code to increase speed. 2020-09-26 14:09:37 -04:00
alexma3312 e12d3ba197 Change input into centroids. 2020-09-26 12:13:40 -04:00
alexma3312 933565c045 Emphasize Rdb is a vector. 2020-09-26 12:05:17 -04:00
alexma3312 ffd0d5e6b9 Change getXY to calculateScale. 2020-09-26 12:03:10 -04:00
alexma3312 463b634328 Move private func to .cpp. 2020-09-26 11:58:10 -04:00
alexma3312 bf0651b626 Refactor Align with short functions. 2020-09-20 11:45:30 -04:00
alexma3312 66c9a63919 Fix double computation. 2020-09-14 00:20:50 -04:00
alexma3312 a1b73b3776 document and use std::tie 2020-09-08 22:42:09 -04:00
alexma3312 9890744fab Create AlignGivenR function and refactor code. 2020-08-23 20:43:27 -04:00
alexma3312 4789cd2682 Modify comments and move header file declaration. 2020-08-22 15:20:20 -04:00
alexma3312 e3bf43856d Merge remote-tracking branch 'upstream/develop' into sim3 2020-08-21 21:13:59 -04:00
alexma3312 a9dd3ed3c7 Add a comment for transformFrom pose. 2020-08-21 21:09:36 -04:00
alexma3312 e00fa5605a create a helper function to remove repeat code. 2020-08-21 20:53:52 -04:00
alexma3312 9a07a61779 reformat pose3 declaration. 2020-08-21 14:57:29 -04:00
alexma3312 f5611fbc49 Add Compatibility unittest. 2020-08-21 14:54:43 -04:00
alexma3312 e94aae10bf Replace rotAveraging with gtsam::FindKarcherMean. 2020-08-21 13:51:21 -04:00
Frank dellaert 9f345bb703 Fixed compilation and removed absolute path. 2020-08-21 11:01:28 -04:00
alexma3312 c80cfe068f Modify the print function print out format. 2020-08-20 11:47:46 -04:00
alexma3312 362c93bb2b Change sim3 variable from T to S. 2020-08-19 16:48:05 -04:00
Frank Dellaert 5a6bfed42c Fix override warning 2020-08-18 23:19:56 -04:00
alexma3312 6f33d00654 Correct variable names and refactor code. 2020-08-17 17:58:45 -04:00
Fan Jiang 1d6392dc88 Initial migration 2020-08-17 17:13:10 -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
alexma3312 58ec261cd7 Fix GTSAM_TYPEDEF_POINTS_TO_VECTORS. 2020-08-16 13:00:27 -04:00
ss 7cfcbff4db Update doc. 2020-08-10 08:37:39 -04:00