Alex Cunningham
fc3b668171
Removed boost.serialization export keys from noisemodel because they don't work outside of one test
2011-03-08 18:13:49 +00:00
Alex Cunningham
1c1e47ca1f
Added serialization export keys directly to NoiseModel
2011-03-04 14:56:18 +00:00
Alex Cunningham
a87a52035d
Serialization for (some) nonlinear factors now works, added virtual destructors to factor classes that needed them.
2011-03-03 17:16:13 +00:00
Alex Cunningham
cee6b4523e
Improved serialization for noisemodel and NonlinearFactors, however currently fails on NonlinearFactorGraphs and some factors
2011-02-23 20:31:19 +00:00
Alex Cunningham
4865f1a64d
Added more serialization functionality to noiseModel, but SharedGaussians segfault on test, so tests for Nonlinear graphs are commented out
2011-02-23 05:19:07 +00:00
Richard Roberts
1c27b1021f
Removed incorrect dynamic_pointer_cast that caused a compile error for non-virtual derived factors.
2011-02-18 22:10:21 +00:00
Alex Cunningham
d8f05f78ff
Added marginal function to GaussianISAM, renamed and added comments to bayes tree
2011-02-11 22:08:07 +00:00
Alex Cunningham
7407843214
Reworked nonlinear optimizer so that it only uses a solver member variable if you are using spcg. SPCG may be broken at this point, and its member variable will be removed soon.
2011-02-10 16:01:29 +00:00
Alex Cunningham
06b08c6f85
Fixed bug with shared solvers in recursive LM nonlinear optimizer
2011-02-10 16:01:28 +00:00
Alex Cunningham
719e851643
Added a functional version of LM optimization for comparison
2011-02-06 04:13:32 +00:00
Alex Cunningham
251d83b41a
Disabled unit test for serialization of Values, as FastMap does not have serialization
2011-02-04 05:45:42 +00:00
Alex Cunningham
37ee4f6cb3
Added a test for Ordering, added pop_back() to ordering, made changing the ordering in NonlinearISAM possible
2011-02-02 03:50:06 +00:00
Alex Cunningham
e4cda1b360
Added accessor for NonlinearISAM, comments and whitespace
2011-01-29 00:53:15 +00:00
Richard Roberts
4880257e69
Merging hessianfactor branch, Cholesky is now default and GaussianFactor is virtual (see email to frankcvs)
2011-01-20 22:22:00 +00:00
Alex Cunningham
4367a245bd
Added unit test for NonlinearISAM with a simple markov chain demo
2011-01-20 15:42:11 +00:00
Richard Roberts
880040a6f6
Added extra link libraries to examples and global tests required when building a static-only gtsam library
2010-12-29 03:25:52 +00:00
Richard Roberts
9edeb1102c
Fixed bug in BayesTree shortcuts and marginals. Also added an input check to Permutation::PushToBack and PullToFront that catches the bad input of duplicate variables caused by the bug.
2010-12-21 18:23:56 +00:00
Richard Roberts
a8a584d38e
Rolling back last commit (undoing merge of hessianfactor branch) - does not compile on Linux, could be compiler or boost version problems. Also will probably break Alex's stuff so will work that out before merging.
2010-12-17 01:11:28 +00:00
Richard Roberts
de1892016d
Merged in hessianfactor branch, Cholesky is now default. This merge also includes improved timing statements with automatic outlining and low overhead
2010-12-17 00:51:51 +00:00
Richard Roberts
a6fd5ff9e2
Removed unused inference-inl.h and testOrdering.cpp, added unit test for ordering with unobserved variables.
2010-12-09 01:34:20 +00:00
Kai Ni
e726f7c7af
remove backward compatible functions in NonlinearOptimizer
2010-11-21 22:00:22 +00:00
Richard Roberts
4e0b4021df
Added prior on the first pose in time*OnDataset
2010-11-19 16:30:06 +00:00
Richard Roberts
d6929d4409
Storing variable index in solver, saved between nonlinear iterations
2010-11-15 23:01:50 +00:00
Alex Cunningham
15310ed6ad
Added fix to make TupleConfig1 work
2010-11-06 17:35:47 +00:00
Richard Roberts
898ca38f1c
Removed unmatched timing statement, reduced default trials in timing scripts
2010-11-03 22:52:24 +00:00
Richard Roberts
60e10d7380
Added timeSequentialOnDataset and timeMultifrontalOnDataset, removed timeLinearOnDataset
2010-11-03 22:35:02 +00:00
Kai Ni
448ada270a
create n-way factor, return keys from nonlinear factor graph
2010-10-30 19:27:30 +00:00
Alex Cunningham
201b16dabe
Added more print statements for timing
2010-10-29 15:00:57 +00:00
Richard Roberts
3743342534
Standardized function names - marginalFactor, marginalFactorGraph, marginalCovariance
2010-10-25 22:45:45 +00:00
Richard Roberts
2c90e3d836
Moved the subdirectories that compile into libgtsam.la into a 'gtsam' subdirectory. Hopefully a good fix for the problem we had trying to make a gtsam distribution, that the source directory may not be called 'gtsam'.
2010-10-25 20:10:33 +00:00
Richard Roberts
fda11d7c15
Extra unit test to check that marginals from sequential and multifrontal are the same
2010-10-22 22:53:33 +00:00
Richard Roberts
8ff5bf5c7c
Bug fix in BayesTree marginal, re-enabled joint and unit tests
2010-10-22 22:11:23 +00:00
Chris Beall
69c6d05ce1
config() changed to values() for consistency
2010-10-22 19:29:15 +00:00
Richard Roberts
f9e0ed07a3
Code cleanup: lean and mean VariableIndex (got rid of different types for different FG's, slots, and storage template), renamed Conditional.h and Factor.h to match class names ConditionalBase and FactorBase (not ideal names but prevents conflict with typedefs), added typedef for symbolic multifrontal solver.
2010-10-22 18:02:55 +00:00
Richard Roberts
1d94dacca0
make check passes with dense qr using lapack geqrf
2010-10-22 03:51:10 +00:00
Richard Roberts
812e3277ee
New linear solver interface, global inference functions removed.
2010-10-21 22:59:54 +00:00
Richard Roberts
f15fea202e
Change that may be reverted again soon - templated factor base type on key and make IndexFactor and IndexConditional for all current code. Did this to experiment with using symbols on the linear side in an efficient way but am putting this on hold for now because of complications. Will revisit and either fix or revert to int-only later in the week. Also moved some files to experimental and templating EliminationTree on FACTOR instead of FACTORGRAPH.
2010-10-19 21:31:13 +00:00
Chris Beall
4071d4f673
small change to make boost work properly
2010-10-18 21:44:38 +00:00
Richard Roberts
4a7b8bad27
--with-boost no longer required, automatically finding boost
2010-10-17 17:06:28 +00:00
Alex Cunningham
a9a066aec7
Removed hard constraints from gtsam library (with the exception of NonlinearEquality) and moved them to gtsam_experimental and MastSLAM
2010-10-17 03:56:05 +00:00
Kai Ni
bc36e653fd
depend on external CCOLAMD and DenseQR
2010-10-16 01:55:47 +00:00
Richard Roberts
130d9d2797
Made EliminationTree generic, with Symbolic and Gaussian unit tests
2010-10-15 15:53:36 +00:00
Kai Ni
24d499039f
prepend license information on all the codes
2010-10-14 04:54:38 +00:00
Kai Ni
5cbf67eeba
move colamd and spqr_mini out of gtsam
2010-10-14 02:41:08 +00:00
Richard Roberts
47b11749fe
Moved old elimination tree to gtsam_experimental
2010-10-13 22:07:52 +00:00
Richard Roberts
e545f59fb2
Inference::Marginal returns a factor graph
2010-10-13 20:41:26 +00:00
Frank Dellaert
b56b0fe3a4
Moved test to inference and added ETree prototype code
2010-10-12 05:19:51 +00:00
Frank Dellaert
fbdf9647f8
new test to drive elimination tree development
2010-10-12 00:15:26 +00:00
Frank Dellaert
057050fa9f
renamed varid_t to Index
2010-10-11 21:14:35 +00:00
Richard Roberts
96eb939749
Fixed computing marginals in BayesTree
2010-10-11 16:02:01 +00:00
Alex Cunningham
ccea5c79cb
unwhitened error in LinearApproxFactor now works
2010-10-11 04:47:57 +00:00
Alex Cunningham
c92026884b
moved and enabled testKey, LinearApproxFactor creation/linearization works
2010-10-11 04:30:19 +00:00
Alex Cunningham
c57c93a490
Re-enabled more constraints
2010-10-11 04:30:18 +00:00
Richard Roberts
45456aab8e
Fixed computing shortcuts in BayesTree
2010-10-10 03:10:03 +00:00
Richard Roberts
84d6b5be6a
Re-enabled computing marginals of a set of variables (Inference::Marginal(...))
2010-10-10 00:51:57 +00:00
Alex Cunningham
07bda5aa97
Changed linear config names to *Values, updated comments
2010-10-09 03:09:58 +00:00
Alex Cunningham
6002931e12
Renamed LieConfig and TupleConfig to use Values
2010-10-09 03:09:55 +00:00
Richard Roberts
1d52ff90a8
Merged simplelinear branch into trunk
2010-10-08 22:04:47 +00:00
Alex Cunningham
f6ada87314
Removed LDL, ConstraintOptimizer things, and FusionTupleConfig. Added *.valgrind run commands so that tests can be checked for memory errors. Removed some extraneous stuff in configure.ac
2010-10-02 23:38:01 +00:00
Alex Cunningham
5745226452
split LinearApproxFactor into an implementation header file
2010-09-22 15:34:03 +00:00
Alex Cunningham
b09b7fffbb
Removed extraneous template parameter for LinearApproxFactor
2010-09-22 13:29:29 +00:00
Frank Dellaert
3f937fdba4
changed include order to be more logical
2010-09-20 21:02:32 +00:00
Richard Roberts
55dedc97e3
Fixed include paths so that making individual unit tests works again
2010-09-11 16:54:50 +00:00
Alex Cunningham
815d892806
Added TEST_UNSAFE to avoid exception checking in normal tests, as well as an assert_inequal() evaluation in TestableAssertions.h.
2010-08-30 20:54:12 +00:00
Alex Cunningham
f594ebf562
Reworked testSerialization so that it works for geometry and simple planar objects. Currently only tested in boost 1.40, probably doesn't work under boost 1.44
2010-08-30 19:16:26 +00:00
Alex Cunningham
a461680a2b
Removed extraneous headers that were causing problems related to boost serialization and added testSerialization with conditional compiling (--enable-serialization). Currently, the test is all commented out, and it should not affect those not using the flag.
2010-08-27 15:31:20 +00:00
Alex Cunningham
23a30f8475
Removed remaining global lie functions on lie objects and configs, switched the Lie base class to a simple concept check function, fixed build script for examples. ISAM2 and MastSLAM verified as compiling.
2010-08-26 19:55:40 +00:00
Alex Cunningham
eed13e48d2
Switched to using LieVectors for vector types. Still some problems with numericalDerivative that have been worked around, but other functionality is intact.
2010-08-24 17:26:56 +00:00
Alex Cunningham
77eda5ab8c
In all nonlinear factors and configs, it is only necessary to specify a key with a typedef Value_t for the associated value. This has been removed from factor template definitions, as it is too easy to use the wrong value. Also, no more string keys or linear symbol keys in nonlinear systems. Updated MastSLAM to work, and ISAM2 works without change
2010-08-23 19:44:17 +00:00
Alex Cunningham
5350f368cd
Removing binary
2010-08-23 03:44:25 +00:00
Alex Cunningham
e0da1971fa
fixed ROS packages due to gtsam changes
2010-08-23 00:19:57 +00:00
Alex Cunningham
458cc52fff
Switched geometry to use primarily member functions for calculations with optional derivatives, so there are no more optional derivative functions. Also split Vector specializations for Lie into gtsam/base/LieVector.h which will later change into a real wrapper function. Specialized numericalDerivative to allow for functions to return doubles. Projects ISAM2, MastSLAM updated.
2010-08-22 21:45:53 +00:00
Richard Roberts
c2d46ce8b3
Script to time the overhead of breaking up a problem into many factors (mimics a linear latent-variable model)
2010-08-21 17:54:59 +00:00
Alex Cunningham
256697d345
Moved transform_[to|from] and [un]rotate to be static functions in classes
2010-08-20 21:47:30 +00:00
Richard Roberts
f1132359d4
Installing headers in subdirectories and converted include directives to match the subdirectory structure (also see email to frankcvs)
2010-08-19 17:23:19 +00:00
Alex Cunningham
30c3f46b52
FusionTupleConfigs work correctly for optimization
2010-08-16 19:19:50 +00:00
Alex Cunningham
977155d133
Added simpler interfaces for FusionTupleConfig for 1,2, and 3 variable types
2010-08-15 21:35:03 +00:00
Alex Cunningham
a2fecf51c9
FusionTupleConfig is now a full config
2010-08-14 21:15:45 +00:00
Alex Cunningham
f3ccfaf100
Added dummy initialization of LieConfigs from arbitrary other LieConfigs, FusionTupleConfigs can now be created from arbitrary other FusionConfigs.
2010-08-13 19:51:04 +00:00
Alex Cunningham
f6dbee41d2
More of FusionTupleConfig works
2010-08-13 14:55:26 +00:00
Alex Cunningham
c2a83759cb
Added experimental replacement for TupleConfig using boost.fusion - this should eventually make it possible to make nonlinear factors interchangable regardless of config type.
2010-08-12 15:23:03 +00:00
Alex Cunningham
3fd36bca53
Added TupleConfig1 wrapper
2010-08-12 12:44:36 +00:00
Alex Cunningham
5991d1edfd
Added a nonlinear factor to approximate a linear factor from MastSLAM
2010-08-10 16:59:22 +00:00
Alex Cunningham
1c72d92365
Moved TransformConstraint into gtsam, cleaned up includes
2010-08-10 14:30:41 +00:00
Alex Cunningham
4f9a60d41c
Nonlinear bounding constraints are now working for simple examples. Also, removed extraneous constraint test files.
2010-08-09 21:59:29 +00:00
Alex Cunningham
efaca162cf
Added tests for nonlinear equality constraints, generalized equality constraints
2010-08-09 17:21:11 +00:00
Alex Cunningham
38ea7d1ea5
Added more static optimization helper functions - can now just call optimizeLM(graph,config) or optimizeGN(graph,config) to get an optimized config.
2010-08-09 17:20:03 +00:00
Richard Roberts
0316a53f79
Removed spurious "using namespace noiseModel"
2010-08-08 03:10:29 +00:00
Alex Cunningham
5ada49ea3a
Moved remaining equality constraint tests to testNonlinearEqualityConstraint. Added NonlinearEquality2, a binary constraint expressing exact equality between variables.
2010-08-06 20:07:55 +00:00
Alex Cunningham
a55860eb1d
Reimplemented nonlinear constraints to remove the old dependency on using boost function pointers and allow for inequality and bounding constraints. Added simple equality constraints in simulated2D and new set of tests. Removed/disabled old tests until they can be worked into new structure.
2010-08-06 18:30:07 +00:00
Alex Cunningham
7e3442286e
Added a Gauss-Newton static function for nonlinear optimization
2010-08-06 15:10:19 +00:00
Alex Cunningham
3dfbb26bc7
Added new test structures that allow for nonfatal assertions: EXPECT, EXPECT_DOUBLES_EQUAL, EXPECT_LONGS_EQUAL. Use these to check several unrelated conditions in a test. testTupleConfig was updated to make use of the new test structures.
2010-08-06 14:23:12 +00:00
Alex Cunningham
7c2ad06016
Added clear() and empty() to TupleConfig
2010-07-30 16:19:52 +00:00
Alex Cunningham
d6157ab828
Added a static nonlinear optimization function that uses default ordering and thresholds and returns an updated config.
2010-07-22 21:17:02 +00:00
Alex Cunningham
cf2b3db5a6
Added CHECK_EXCEPTION() that can test whether an operation throws a specific exception, and used it in example tests
2010-07-20 14:51:00 +00:00
Alex Cunningham
d938f92844
Replaced instances of PairConfig with TupleConfig2, cleaned up documentation on TupleConfigs
2010-07-19 19:55:24 +00:00
Kai Ni
2a2bc2f70f
multi-frontal solver works now as a result of flight delay
2010-07-18 20:23:23 +00:00
Alex Cunningham
a3da89b63a
NonlinearConstraints are now implemented using the simple linearization method with quadratic merit function
2010-07-18 19:55:53 +00:00
Alex Cunningham
230e124e68
Small changes to handle non out of source builds and makefile fixes.
2010-07-17 01:13:03 +00:00
Alex Cunningham
3438f89526
Removed the ldl library and added in a configure flag --enable-ldl to pull in ldl. Currently, it's probably a bad idea to actually use ldl, however, and nothing important is effected by its absense.
2010-07-16 18:16:18 +00:00
Frank Dellaert
b5c0f3cee8
Simplified Cluster class, elimination tree constructors tested, junction tree tests disabled for now.
2010-07-14 23:48:51 +00:00
Frank Dellaert
20b09e5383
Re-organized FactorGraph, and de-templatized findAndRemoveFactors
2010-07-14 13:55:32 +00:00
Frank Dellaert
c3a907127f
Created ClusterTree (duplicate of Junction tree for now, will split later). GaussianJunctionTree is no longer a template. TestJunctionTree now tests with SymbolicFactorGraph
2010-07-13 22:03:18 +00:00
Frank Dellaert
30b377e441
Fix makefiles to refer to $(top_srcdir) to enable parallel build
2010-07-13 19:13:07 +00:00
Frank Dellaert
559eaf8cc1
Moved smallExample to slam, as used in some project unit tests as well. [tests] no longer builds a local library as a consequence.
2010-07-13 05:26:19 +00:00
Frank Dellaert
8ce5e321c8
Last part of re-organization for now: all things linear/Gaussian are now in the "linear" sub-directory.
2010-07-12 22:18:38 +00:00
Kai Ni
f67220773a
split JunctionTree to GaussianJunctionTree
2010-07-12 21:34:03 +00:00
Frank Dellaert
c9db61e137
Newly functional build: second part of re-organization. cpp now split into inference and nonlinear.
2010-07-12 16:36:58 +00:00
Frank Dellaert
80149afc30
delete Makefile.ins
2010-07-12 07:48:26 +00:00
Frank Dellaert
fea5beb638
Re-organization: moving all files.
...
I re-organized into original cpp directory and 4 additional directories: base, geometry, slam, and tests.
cpp will be further renamed/sub-divided and contains the core library.
I wanted it not depend on geometry or slam, which necessitated moving complicated tests to a dedicated directory.
2010-07-12 07:16:31 +00:00