Richard Roberts
b82d054aaa
Definitions of Lie::between, Pose2::compose, expmap, and derivatives were not correct. Fixed, but changes some behavior (iSAM and CitySLAM already fixed), will send email about this change.
2010-01-26 20:00:17 +00:00
Manohar Paluri
a0b96e7684
corrected case of Pose2SLAMoptimizer
2010-01-25 14:50:25 +00:00
Kai Ni
1685920d52
fixed Ab2 bug
2010-01-23 05:29:04 +00:00
Frank Dellaert
afa964b8db
Fixed sparse bug
2010-01-23 05:16:29 +00:00
Kai Ni
744269343f
add print
2010-01-23 04:46:00 +00:00
Kai Ni
b092fee64b
pose2slamoptimizer unit tests worked
2010-01-23 03:49:05 +00:00
Richard Roberts
21c1af2b9f
Collecting more statistics in isam2, logmap for configs
2010-01-23 01:53:04 +00:00
Kai Ni
4491db99be
add beijing data set
2010-01-23 01:10:12 +00:00
Frank Dellaert
7644ff0080
optimize returns Vector, does not update
2010-01-23 01:08:42 +00:00
Frank Dellaert
ada844300d
Fixed compile issue in tests
2010-01-23 01:03:47 +00:00
Frank Dellaert
807cffbd61
Pose2SLAMOptimizer prototype for use in MATLAB
2010-01-23 00:57:54 +00:00
Michael Kaess
7bc4ee65da
allow pure linear steps (disabled)
2010-01-23 00:21:34 +00:00
Manohar Paluri
80d335ed77
added saveGraph function to BayesTree which writes out a dot file which can be visualized using graphviz dot command
2010-01-22 23:52:56 +00:00
Kai Ni
e87faa078d
write correct information matrix to data file
2010-01-22 23:20:12 +00:00
Frank Dellaert
2150b24e29
Fixed memory hog problem with Alex's help. SAM marginally faster (3-4% with 1000 poses, might be bigger effect for full dataset)
2010-01-22 23:00:35 +00:00
justinca
16c55975c1
Fix inverse_square_root, add cholesky decomposition options
2010-01-22 22:28:03 +00:00
Kai Ni
e88ae4a944
add dataset.h/cpp
2010-01-22 20:18:40 +00:00
Michael Kaess
ab155999cf
simplified alg, but no measureable speed improvement
2010-01-22 18:29:27 +00:00
Frank Dellaert
351cdd18c2
case change: SharedGaussian and SharedDiagonal are now classes with their own header file. Needed for MATLAB TORO hail Mary
2010-01-22 17:36:57 +00:00
Kai Ni
490791cd48
add writer module to dump the errors and time
2010-01-22 08:13:54 +00:00
Kai Ni
4b778a4e82
fixed a bug in matrix solve function
2010-01-22 06:45:01 +00:00
Michael Kaess
1d093e388d
changed main algorithm to allow recovery of exact solution
2010-01-22 06:28:12 +00:00
Frank Dellaert
75e29dc015
failing test
2010-01-22 05:45:59 +00:00
Richard Roberts
5367e5a157
All std::map<Symbol,T> are now SymbolMap<T>, which is just a thin wrapper around std::map. at(Key) is used instead of first checking with find when an exception should be thrown for non-existent keys. This does not change any behavior or timing currently. This check-in also includes some functions in BayesTree for gathering clique statistics.
2010-01-22 04:41:40 +00:00
Frank Dellaert
41a6e64bbb
Fixed insert to use IndexTable, a new class
2010-01-22 02:27:26 +00:00
Frank Dellaert
2cc777228b
coments and variables only
2010-01-21 20:15:52 +00:00
justinca
7575996d52
Remove leftover commented out unused code
2010-01-21 19:49:36 +00:00
justinca
f89a53ed91
Bugfix in Rot3::logmap. The function checked for a trace of 3, but the check could fail due to rounding errors, causing the function to try to take acos(something larger than 1) resulting in NaNs being returned.
2010-01-21 19:49:12 +00:00
Alex Cunningham
ac746ccead
Improved performance of updateAb in NoiseModel with GSL/ATLAS. Various other small optimizations were made.
2010-01-21 18:51:59 +00:00
Michael Kaess
2183e09c67
fluid relinearization works
2010-01-21 17:41:54 +00:00
Michael Kaess
523c8630d3
works at least on already solved data...
2010-01-21 16:09:57 +00:00
Frank Dellaert
0dc4f417e9
sampling from NoiseModel
2010-01-21 08:31:18 +00:00
Michael Kaess
8fd0c2ae72
new fluid relinearization algorithm, in sync with lyx
2010-01-21 07:38:37 +00:00
Alex Cunningham
9db7623f80
Improved instructions for GSL/ATLAS
2010-01-21 01:03:34 +00:00
Alex Cunningham
063aa14118
Reimplemented matrix::householder_update using GSL and BLAS, you'll need to edit Makefile.am to enable the new version -- see email
2010-01-21 00:59:33 +00:00
Michael Kaess
188561d925
removeTop/Path now returns a BayesNet to avoid converting the conditionals to a factor graph
2010-01-21 00:38:22 +00:00
Richard Roberts
eb03f78e7d
Removing dependency hack speeds up compilation
2010-01-20 20:47:15 +00:00
Alex Cunningham
588c119bf3
Added timing script for Matrix::householder_()
2010-01-20 18:52:31 +00:00
Alex Cunningham
5f588031bc
Merged NoiseQR back into trunk
2010-01-20 18:32:48 +00:00
Alex Cunningham
9c9007920a
Changed the interface on Matrix::column() so that it uses the one in our library (now called column_() ) rather than the boost default. Currently, our implementation just uses the boost default, but this may change due to timing results.
2010-01-20 16:08:14 +00:00
Alex Cunningham
98b143cd22
Switched all loop indices in Matrix/Vector to size_t, with improved results in timeGaussianFactorGraph
2010-01-20 14:42:05 +00:00
Alex Cunningham
b4f9163296
Added more labels and results (with higher numbers of repetitions) for timeGaussianFactorGraph
2010-01-20 14:31:24 +00:00
Alex Cunningham
8db99db57e
Small performance improvement for matrix_augmented, with accompanying test in timeGaussianFactor
2010-01-20 14:09:44 +00:00
Alex Cunningham
6bc0462669
Checked Matrix::collect() with different timing metric, and memcpy has approx 25% speedup over original version. Matrix_range is slower or the same speed as the original version.
2010-01-20 13:45:22 +00:00
Kai Ni
977a97eacf
rename variable
2010-01-20 09:47:09 +00:00
Michael Kaess
aae49e43f0
code factorization, speedup
2010-01-20 06:49:19 +00:00
Kai Ni
ae908316e0
add comments
2010-01-20 06:34:25 +00:00
Richard Roberts
19dc8bf4b1
Fixed size() crash when BayesTree empty, added clear() function to BayesTree, added and removed #includes to fix link errors
2010-01-20 04:23:35 +00:00
Michael Kaess
e767996b45
same bug fix as in ISAM2
2010-01-20 03:54:20 +00:00
Alex Cunningham
55e414cbdd
Tried noalias() for collect(), but no real improvement
2010-01-20 03:25:55 +00:00
Kai Ni
3bf15333af
move ordering into the solver, and the nonlinear optimizer is now exact <G, T, L>
2010-01-20 02:28:23 +00:00
Alex Cunningham
03ec3e3e62
Implemented a version of collect() using matrix_range, but it had worse performance than memcpy. New version of vector_scale[column] with new pointer arithmetic implementation for approx 20% improvement.
2010-01-20 02:28:25 +00:00
Alex Cunningham
820ae5682d
Optimized row version of vector_scale with approx 20% improvement
2010-01-20 02:04:25 +00:00
Michael Kaess
ecde508318
incremental nonlinear working
2010-01-20 01:52:40 +00:00
Alex Cunningham
b860f06614
Switched Matrix::collect() over to a memcpy, but the results weren't actually an improvement
2010-01-20 01:42:36 +00:00
Michael Kaess
d2291a38d1
bug fixes after COLAMD activiation: BayesTree::insert was wrong, BayesTree::removeTop/Path fixed and simplified
2010-01-20 01:24:32 +00:00
Alex Cunningham
66607897a5
Added vector_scale timing benchmarks
2010-01-20 01:05:40 +00:00
Alex Cunningham
ff83a7b18e
Fixed compile error in testNoiseModel
2010-01-20 01:05:18 +00:00
Frank Dellaert
b47438a86c
Smart named constructors Covariance/Variances/Variance
2010-01-20 00:26:49 +00:00
Alex Cunningham
f577b27f52
Small optimizations on Matrix::collect(), additional timing capabilities, and now collect() can have dimensions specified to avoid need for lookup.
2010-01-19 21:49:22 +00:00
Alex Cunningham
67878830a6
Added timeMatrix.cpp to test specific matrix operations
2010-01-19 20:59:22 +00:00
Frank Dellaert
3cdbaf81c7
Factorgraph-specific QR factorization now done by the NoiseModel: slow Gram-Schmidt for Constrained, fast Housholder for any other (Gaussian) model.
2010-01-19 19:06:02 +00:00
Frank Dellaert
6f2b5a904a
save on fabs
2010-01-19 19:04:37 +00:00
Frank Dellaert
9f4da004c2
got rid of verbose printing
2010-01-19 19:04:18 +00:00
Alex Cunningham
fb0ca07bf1
Added and tested whitening parameter for matrix() and matrix_augmented()
2010-01-19 16:52:01 +00:00
Alex Cunningham
fbee0bd749
Fixing compile issue in SubgraphPreconditioner.h
2010-01-19 13:29:40 +00:00
Kai Ni
3806125096
add linear system as a template parameter in nonlinear optimizer
...
fixed a nasty bug and change the internal data type of subgraph preconditioner from reference to boost shared pointer. reference is not a good idea for class members, because no type checking will happen
2010-01-19 10:46:12 +00:00
Alex Cunningham
2eac3b7235
minor typo - comment only
2010-01-19 05:46:04 +00:00
Alex Cunningham
306ac0a4b2
Fixed clobbered checkin
2010-01-19 05:45:25 +00:00
Alex Cunningham
88e465910a
SQP tests and implementation now use the new Key system
2010-01-19 05:33:44 +00:00
Frank Dellaert
2a57a04ba6
get_model
2010-01-19 05:29:31 +00:00
Frank Dellaert
6dcc275432
small comment/print
2010-01-19 04:39:54 +00:00
Frank Dellaert
b01c111a1d
GaussianFactor now uses noiseModel internally - not yet externally
2010-01-19 04:39:28 +00:00
Frank Dellaert
81aaceb890
Whiten now class-specific, access to sigmas
2010-01-19 04:38:58 +00:00
Kai Ni
ebbdfc79aa
comment out overflow exception
2010-01-19 04:18:59 +00:00
Michael Kaess
ef2fb243c2
fixed unit test after colamd change
2010-01-19 03:43:10 +00:00
Richard Roberts
2507b6aaca
Cleaned up commented line after fix to use the colamd ordering.
2010-01-19 03:16:09 +00:00
Richard Roberts
0311d2a2a2
Very very small change :-)
2010-01-19 02:57:08 +00:00
Frank Dellaert
0769af6f20
comment
2010-01-19 01:41:44 +00:00
Michael Kaess
a45893a434
selective incremental linearization works; bug fix in landmark initialization (frank01 again much faster)
2010-01-19 01:18:28 +00:00
Michael Kaess
a2bce15c4b
selective update of linearization point
2010-01-19 00:15:46 +00:00
Michael Kaess
0e6607d160
relinearization working, but currently applied to all variables
2010-01-18 22:37:44 +00:00
Richard Roberts
5e15564525
Speedups: Matrix mult. in Gaussian NoiseModel. Removed size check in operator* in Matrix.h - ublas does this check when in debug mode.
2010-01-18 21:45:44 +00:00
Frank Dellaert
e935f1745e
stop copying matrices...
2010-01-18 21:17:25 +00:00
Michael Kaess
f8ef284b30
fixed bearing/range, large speedup for batch; incremental creation of Config works
2010-01-18 20:17:31 +00:00
Richard Roberts
1f0de30a62
Removed unnecessary headers, now only included when GTSAM_MAGIC_KEY is defined
2010-01-18 19:36:02 +00:00
Frank Dellaert
e523b148cf
Moved tree stuff to graph, removed ordering-inl.h
2010-01-18 19:11:22 +00:00
Michael Kaess
8e3a8f08c8
incremental processing of planarSLAM; bug fix in ISAM2-inl
2010-01-18 18:13:53 +00:00
Alex Cunningham
dfeacb218e
Added tests for Keys, Added TypedLabeledSymbol class to allow for runtime symbols on keys
2010-01-18 16:18:02 +00:00
Kai Ni
bbf6cabe9d
generate ordering and pose config in the initialization stage
2010-01-18 09:24:38 +00:00
Michael Kaess
18414b1286
VectorConfig/Config confusion resolved; planarSLAM integrated
2010-01-18 08:05:33 +00:00
Kai Ni
eb3e0067ef
simplify covariance formulation
2010-01-18 07:11:34 +00:00
Kai Ni
6a163d1a84
fix compilation error caused by new covariance type
2010-01-18 06:17:01 +00:00
Kai Ni
05b07d443e
add linear system solver as a template class parameter in nonlinear optimizer.
2010-01-18 05:51:19 +00:00
Frank Dellaert
a4a6e002e5
NOISE MODEL.
...
This is a big edit but with no templates involed, so it should not be a big deal.
New namespace gtsam::noiseModel collects all noise models, which provide efficient whitening and chain-rule implementation needed for optimization. The class hierarchy gives us the ability to use models from full covariances to i.i.d. unit variance noise with a single interface, where the latter will be much cheaper.
From now on, all non-linear factors take a shared_ptr to a Gaussian noise model. This is done through the parameter (const sharedGaussian& model). The use of a shared pointer allows us to share one noise models for thousands of factors, if applicable.
Just like Richard's Symbol change, there is a compile flag GTSAM_MAGIC_GAUSSIAN which allows you to use doubles, vectors, or matrices to created noise models on the fly. You have to set it to the correct dimension. Use of this is *not* encouraged and the flag will disappear after some good soul fixed all unit tests.
2010-01-18 05:38:53 +00:00
Michael Kaess
6b2190159d
restored lost changes
2010-01-18 04:53:17 +00:00
Michael Kaess
42f4ff228b
code cleanup, recovering estimate while dealing with incremental adding of factors, planar with new SLAM
2010-01-18 04:32:45 +00:00
Richard Roberts
9ac1622514
Removed obsolete files that reappeared after svn crash
2010-01-18 03:00:00 +00:00
Richard Roberts
149e6cef36
Added an explicit instantiation to fix a link error that was only detected on Linux
2010-01-18 02:23:10 +00:00
Richard Roberts
aef0b42562
Refactoring to use a new Symbol key instead of strings in Bayes*, Gaussian*, Ordering, Symbolic*, VectorConfig. Renamed existing type-checking key Symbol<C,T> to TypedSymbol<C,T>
2010-01-17 19:34:57 +00:00
Frank Dellaert
ea14959835
NoiseModel inhertance structure reversed, all constructors protected, new static "factories"
2010-01-17 17:47:23 +00:00
Frank Dellaert
87f7e05c15
Identity model
2010-01-17 15:10:10 +00:00
Frank Dellaert
5c6cfec7ab
restored reset
2010-01-17 15:09:28 +00:00
Michael Kaess
80b3813a16
binary files should not be in repository
2010-01-17 06:09:25 +00:00
Michael Kaess
fbe425b966
relinearizing part of a BayesTree, requiring caching of intermediate results during elimination
2010-01-17 06:06:20 +00:00
Frank Dellaert
a3fa194ca1
Noisemodel works in PriorFactor
2010-01-17 03:56:42 +00:00
Frank Dellaert
8967027198
Testing R and Whiten
2010-01-17 03:29:23 +00:00
Frank Dellaert
9ddeb569b5
GaussianNoiseModel
2010-01-17 01:28:15 +00:00
Frank Dellaert
3a83e0678d
KISS refactor of NoiseModel
2010-01-17 00:37:34 +00:00
Frank Dellaert
4518069218
2010-01-17 00:35:49 +00:00
Manohar Paluri
09d2cb9101
added numericalDerivative.h to headers
2010-01-16 23:10:38 +00:00
Kai Ni
0e17310e23
remove the printf
2010-01-16 22:56:57 +00:00
Richard Roberts
2174057578
Commented out another NoiseModel unit test
2010-01-16 20:40:47 +00:00
Richard Roberts
e4eaa22378
Comment out unit test for broken function only used in NoiseModel, working on fixing
2010-01-16 20:18:45 +00:00
Frank Dellaert
049cea6964
3D Pose SLAM + removed obsolete Urban files that somehow re-appeared in CitySLAM
2010-01-16 19:37:17 +00:00
Frank Dellaert
c051be9edf
did not compile
2010-01-16 19:35:50 +00:00
Kai Ni
6714ba59f4
delete binary file testPose2Prior
2010-01-16 19:09:13 +00:00
Richard Roberts
f0ae2c064e
Merging in NoiseModel, not yet used though
2010-01-16 18:39:39 +00:00
Frank Dellaert
99db4c37d8
2D Pose SLAM: created a new templated factor to accommodate GPS measurements, and as part of the refactor I consolidated all Pose2 SLAM classes in pose2SLAM.h. For backwards compatibility it contains
...
typedef pose2SLAM::Prior Pose2Prior;
typedef pose2SLAM::Odometry Pose2Factor;
typedef pose2SLAM::Constraint Pose2Constraint;
typedef pose2SLAM::Config Pose2Config;
typedef pose2SLAM::Graph Pose2Graph;
2010-01-16 18:01:16 +00:00
Frank Dellaert
3c9c8bcfe5
Pose2Prior is now a typedef, improved some derivatives
2010-01-16 16:46:57 +00:00
Frank Dellaert
4914091c87
Pose2Prior test
2010-01-16 15:39:39 +00:00
Frank Dellaert
2605d18152
removed obsolete tests
2010-01-16 14:59:22 +00:00
Kai Ni
b0f27c5d4b
set sigma to 1 in pose2prior
2010-01-16 07:50:14 +00:00
Frank Dellaert
a4d61d2f23
Little performance twiddles that make little difference
2010-01-16 07:22:34 +00:00
Frank Dellaert
a8afe0da7c
Forgot pre-multiply of error vector
2010-01-16 07:00:07 +00:00
Frank Dellaert
91a0fb23df
Weighted pseudo-inverse now takes weights (1/sigma^2). Does not make a lot of performance difference.
2010-01-16 06:25:11 +00:00
Kai Ni
fce2a668bb
uncomment the commented out unit tests during debugging
2010-01-16 05:10:07 +00:00
Kai Ni
f5a6a10feb
debug hard constraint and make pose2prior work
2010-01-16 05:08:29 +00:00
Frank Dellaert
fb3e38b161
25% performance increase by improving weighted_eliminate
2010-01-16 04:57:58 +00:00
Frank Dellaert
26246188af
Added planar graph to timing script
2010-01-16 04:46:35 +00:00
Frank Dellaert
a4ed0a191d
Forgotten header numericalDerivative.h
2010-01-16 04:22:41 +00:00
Frank Dellaert
07c7c4c0bd
print size with ordering
2010-01-16 04:22:21 +00:00
Chris Beall
a956c1a8be
svn restored from 1733.
...
this commit updates gtsam to version 1774, which now appears as 1734.
2010-01-16 01:16:59 +00:00
Frank Dellaert
5c0cd093fd
moved relative_bearing to Rot2, changed derivatives to new-style
2010-01-14 16:57:48 +00:00
Frank Dellaert
53a03a0021
Changed signature of tree insert
2010-01-14 16:05:04 +00:00
Frank Dellaert
f645b560ea
Added constructor body
2010-01-14 15:35:23 +00:00
Frank Dellaert
c7e0fe9fd8
fixed template instantiation
2010-01-14 15:32:14 +00:00
Frank Dellaert
e7bf219498
removed .cpp
2010-01-14 15:31:58 +00:00
Frank Dellaert
25372aaa12
c_str
2010-01-14 15:31:42 +00:00
Kai Ni
e1388c0f0d
add Ordering-inl.h
2010-01-14 07:56:03 +00:00
Frank Dellaert
dd697a838d
added TupleConfig.h as header
2010-01-14 06:20:34 +00:00
Frank Dellaert
df62213619
RangeFactor works
2010-01-14 06:00:17 +00:00
Frank Dellaert
a552ba4539
Comments/formatting only
2010-01-14 05:59:33 +00:00
Frank Dellaert
8088aea598
Added double as Lie type, needed to remove Lie.h include from Vector.h
2010-01-14 05:58:58 +00:00
Kai Ni
1519d029dc
use PredecessorMap instead of map<Key,Key>
2010-01-14 05:24:20 +00:00
Richard Roberts
8562c00a52
Explicit instantiation to fix link error on Linux, also header to install that was missing from Makefile.am
2010-01-14 05:01:40 +00:00
Frank Dellaert
9bf6409b16
BearingFactor works
2010-01-14 04:35:18 +00:00
Michael Kaess
32626b3391
bug fix (only worked on Mac)
2010-01-14 03:42:34 +00:00
Kai Ni
68d90772e6
ordering is fixed
2010-01-14 03:21:07 +00:00
Richard Roberts
ac10c440e1
PairConfig is implemented, VSLAMConfig is now a typedef!
2010-01-14 02:58:29 +00:00