Manohar Paluri
d24846d9a0
fixed errors due to shared pointer change in VSLAMFactor
2009-11-17 01:02:55 +00:00
Manohar Paluri
e312252006
Changed camera matrix to a shared pointer
2009-11-17 00:51:27 +00:00
Manohar Paluri
256c094039
Added default constructor and Serialization
2009-11-16 23:49:04 +00:00
Alex Cunningham
20830a1534
Added testSQP demo to show a simple problem solved by Sequential Quadratic Programming. To see the outputs, set verbose=true at the start of the test.
2009-11-16 19:12:56 +00:00
Frank Dellaert
27a47c6535
Constructor now takes Point2
2009-11-13 06:19:21 +00:00
Frank Dellaert
d5ada2a80c
Test now succeeds after adding 3 landmark constraints
...
Also cleaned up a bit
2009-11-13 06:19:08 +00:00
Frank Dellaert
d26abf3ccf
addLandmarkConstraint
2009-11-13 06:18:27 +00:00
Frank Dellaert
309f2151cf
Clean-up
2009-11-13 06:17:59 +00:00
Frank Dellaert
fe974a3e72
Rank test needs to be re-thought
2009-11-13 06:17:19 +00:00
Frank Dellaert
f5fc14c0f4
Fixed bug in revealing rank, even simpler than before.
2009-11-13 06:16:56 +00:00
Frank Dellaert
7c045a0802
Fixed compile errors due to remaining VectorConfigs, and removed div0 warning
2009-11-13 06:15:48 +00:00
Frank Dellaert
17aaae42d8
Refactoring of weightedPseudoInverse, emul, sum
2009-11-13 06:14:55 +00:00
Frank Dellaert
2178589263
Debug printout and variable names
2009-11-13 06:13:58 +00:00
Alex Cunningham
67c2ea8263
NonlinearEquality factor is now working for generic configs. Currently, the feasible point must be specified in the form of a full config with the point in it, but this avoid needing to increase the requirements on the configs.
2009-11-13 02:06:52 +00:00
Viorela Ila
cba4a536bb
includes Ordering.h
2009-11-13 01:56:09 +00:00
Chris Beall
6252ff2497
added testVSLAMGraph unit test. will fail until we can add a constraint to either one of the two cameras.
2009-11-12 18:55:03 +00:00
Chris Beall
ef0fc9fbac
added testVSLAMGraph unit test. will fail until we can add a constraint to either one of the two cameras.
2009-11-12 18:54:46 +00:00
Frank Dellaert
03f865d4b1
Used typedefs with similar naming convention.
2009-11-12 18:33:14 +00:00
Alex Cunningham
5857635ca1
Fixed renaming error with NonlinearFactors sometimes becoming NonGaussianFactors
2009-11-12 16:47:12 +00:00
Alex Cunningham
c7b86cec97
Renamed ConditionalGaussian -> GaussianConditional
2009-11-12 16:41:18 +00:00
Alex Cunningham
77a1754b69
Renamed LinearFactor -> GaussianFactor, LinearFactorGraph -> GaussianFactorGraph
2009-11-12 16:16:32 +00:00
Frank Dellaert
1ae6bb4030
Added push_fron convenience method to add ConditionalGaussians into a Bayes net with much less clutter. Modernized some very old tests in the process.
2009-11-12 06:09:03 +00:00
Frank Dellaert
f677341108
Moved inference methods to new compilation unit. Added [factor], and [marginalize] now returns a factor graph.
2009-11-12 04:56:30 +00:00
Frank Dellaert
c85f5445db
Re-organized makefile
2009-11-12 04:54:31 +00:00
Frank Dellaert
81a353dd2c
eliminate is now const
2009-11-12 04:53:28 +00:00
Frank Dellaert
a38ebece1e
New compilation unit that collects generic, templated inference methods that go between factor graphs and Bayes nets. These used to be in BayesNet-inl.h and FactorGraph-inl.h
2009-11-12 04:52:40 +00:00
Viorela Ila
4a7e05fffa
change all print() to print(string s) and create SymbolicFactor
2009-11-11 22:45:08 +00:00
Chris Beall
70efccefbc
VSLAMFactor Testable
2009-11-11 21:09:43 +00:00
Alex Cunningham
8c695a778c
Implemented a rank deficient constraint test in testLinearFactor: note that it is possible to reorder elimination to make a system solvable or rank-deficient
2009-11-11 19:00:39 +00:00
Eohan George
ab65dfb4dd
Adding include file stdio.h to resolve compiling issue when upgrading to Ubuntu 9.10. The printf() compiles on ubuntu 9.04 and mac machines.
2009-11-11 17:15:17 +00:00
Alex Cunningham
f51614813e
Improved weighted eliminate to handle arbitrary linear equality constraints
2009-11-11 14:42:09 +00:00
Frank Dellaert
d585a329dc
Added MATLAB-friendly versions of eliminate and optimize in LinearFactorGraph (with trailing underscore). Also fixed some MATLAB code.
2009-11-11 07:14:13 +00:00
Frank Dellaert
ac840d6f0a
1) DCVectorConfig I believe was obsolete as well as any conversion from and to Vectors, which I removed
...
2) load and flush are gone.
3) I made a VSLAMConfig "Testable".
4) I added an explicit template instantiation to avoid having to include -inl.h files
5) I added some more test code in testVSLAMFactor
2009-11-11 05:14:03 +00:00
Frank Dellaert
00ff066b33
Fixed compile error
2009-11-11 05:13:25 +00:00
Frank Dellaert
8d2d48d252
made removeAndCombineFactors a function, not a method
2009-11-11 05:12:45 +00:00
Chris Beall
710d396d0b
cleaned up a few includes to make VSLAMGraph work properly after the move into gtsam.
2009-11-10 22:49:22 +00:00
Chris Beall
dc3b85e43d
Todo: make wrapper for GaussianBayesNet. For now eliminate returns void in gtsam.h
2009-11-10 21:15:28 +00:00
Chris Beall
08c9718b12
Moving VSLAMConfig into gtsam. VSLAMFactor lived there already, but was using VectorConfig directly... now using VSLAMConfig.
2009-11-10 20:19:00 +00:00
Manohar Paluri
0d928035e0
added empty constructors for serialization, also made sure SymbolicConditional.h was installed
2009-11-10 14:55:07 +00:00
Manohar Paluri
1f15650da0
Added serialization of base class
2009-11-10 14:44:53 +00:00
Alex Cunningham
ddc0173671
Basic handling of constraints now works in factor graphs, assuming there is only one constraint on any given variable.
2009-11-10 04:36:07 +00:00
Alex Cunningham
a7b711db37
Removed constraint variations on graphs/factors
2009-11-10 04:33:39 +00:00
Alex Cunningham
2c37c94b5d
Replaced the householder transform with the weighted system
...
Removed constrained components from makefile, they will disappear shortly
2009-11-09 21:34:20 +00:00
Alex Cunningham
03985d16f6
Fixed equality checking with NaNs in Matrix
...
removed extraneous print statement in Vector
2009-11-09 16:57:30 +00:00
Chris Beall
01ee9246d7
fix Matlab toolbox to work with Frank's recent changes to gtsam.
2009-11-09 16:53:13 +00:00
Alex Cunningham
1ae81b59d8
Fixed vector comparisons that will erroneously return true when there are NaN values.
2009-11-09 16:47:37 +00:00
Frank Dellaert
a3de1964d7
BIG CHANGE:
...
1) eliminate methods no longer return a shared pointer. Shared pointers are good for Factors and Conditionals (which are also non-copyable), because these are often passed around under the hood. However, a BayesNet is simple a list of shared pointers and hence does not cost a lot to return as an object (which is compiler-optimized anyway: there is no copy). So, the signature of all eliminate methods changed to simply return a BayesNet<> object (not a shared pointer).
2) GaussianBayesNet::optimize is now replaced by optimize(GaussianBayesNet) and returns a VectorConfig and not a shared pointer
3) GaussianBayesNet and SymbolicBayesNet are now simply typedefs, not derived classes. This is desirable because the BayesTree class uses templated methods that return BayesNet<Conditional>, not a specific BayesNet derived class.
2009-11-09 07:04:26 +00:00
Frank Dellaert
7bd40e836d
Cleaned up and added test for VSLAMFactor
2009-11-09 04:46:34 +00:00
Frank Dellaert
e340178de5
Easy constructor
2009-11-09 04:46:08 +00:00
Frank Dellaert
dd1b023ca9
Fixed special case for root
2009-11-09 04:45:38 +00:00
Frank Dellaert
cc22e82ca6
Joint densities (covariances) now done. Was exceedingly easy :-)
2009-11-09 00:13:44 +00:00
Frank Dellaert
3464c6a36f
Create from a single string
2009-11-08 22:51:29 +00:00
Frank Dellaert
86173b66af
Clique marginal and dramatically simplified single variable marginal.
2009-11-08 22:51:12 +00:00
Frank Dellaert
10e618f360
New function marginals. Also: combine entire Bayes nets with push_back and push_front. And finally: some convenience constructors in GaussianBayesNet.
2009-11-08 22:50:26 +00:00
Frank Dellaert
58007a8167
Working recursive (but not cached) shortcut.
2009-11-08 04:41:01 +00:00
Frank Dellaert
d1b8925617
Construct symbolic version of any Bayes net
2009-11-08 04:39:54 +00:00
Frank Dellaert
532be063f9
new templated function combine
2009-11-08 02:50:19 +00:00
Frank Dellaert
93da9e0f2c
pop_front
2009-11-08 02:49:18 +00:00
Frank Dellaert
cc5a2c3183
Renamed double-templated functions to _eliminate and _eliminateOne, and created FactorGraph-specific eliminateOne methods to make life easier
2009-11-07 21:03:30 +00:00
Frank Dellaert
df3e5f2416
BIG: eliminate and eliminateOne now doubly templated functions, not methods.
...
Minor: Standardized on new shared_ptr naming convention:
shared_factor -> sharedFactor
conditional_ptr -> sharedConditional
node_ptr -> sharedClique
2009-11-07 19:31:39 +00:00
Frank Dellaert
f5d186522e
Standardized on new shared_ptr naming convention
2009-11-07 17:24:05 +00:00
Frank Dellaert
6339b5d19d
Made Node public
2009-11-07 15:58:45 +00:00
Alex Cunningham
7ef9ed950b
Improved performance of matrix scaling in LinearFactor::matrix_augmented
...
Added matrix scaling functions to scale either the rows or columns by values from a vector
2009-11-06 13:43:39 +00:00
Frank Dellaert
cd313e2f82
operator[] to retrieve clique
2009-11-06 05:55:29 +00:00
Frank Dellaert
e1716a39cd
Two changes: LinearFactor::sparse and LinearFactorGraph:sparse, and renamed VariableSet -> Dimensions, which is now a map from keys to integer variable dimensions. Merged in from the "sparse" branch created with Viorela.
2009-11-06 05:43:03 +00:00
Alex Cunningham
fb74ef03b2
Added to LinearFactor a matrix_augmented() function to get a single augmented matrix [A b]
...
Removed extra copying in LinearFactor::eliminate()
2009-11-05 15:08:58 +00:00
Alex Cunningham
6c5603de0c
Fixed remaining LinearFactor unit tests
...
Added equality check for Variable
2009-11-05 13:52:12 +00:00
Frank Dellaert
d9289d14b3
marginals on any scalar now work
2009-11-05 08:06:32 +00:00
Frank Dellaert
beabb62f29
More informative print
2009-11-05 08:05:54 +00:00
Frank Dellaert
bd54c39a73
Fixed bug in smoother example
2009-11-05 08:05:34 +00:00
Frank Dellaert
e87c19ed7a
ConditionalGaussian now stores sigmas
2009-11-05 06:59:59 +00:00
Frank Dellaert
88b8f4e16b
fixed unit test
2009-11-05 06:34:43 +00:00
Frank Dellaert
cabcda5a96
marginal compiles and runs for frontal node in clique
2009-11-05 06:30:50 +00:00
Frank Dellaert
7f516394df
Added dummy argument to work around compile conundrum
2009-11-05 06:30:10 +00:00
Frank Dellaert
06f07420d1
back()
2009-11-05 06:29:32 +00:00
Frank Dellaert
11fcd5a69d
KISS: just a map of pointers in BayesTree now
2009-11-05 05:29:47 +00:00
Frank Dellaert
3d334401f5
Constructor from BayesNet now in FactorGraph base class
...
FactorGraph::eliminate
Removed eliminate_partially
2009-11-05 04:56:59 +00:00
Frank Dellaert
e650676da7
Moved header to .h to fix MATLAB toolbox compilation
2009-11-05 03:51:08 +00:00
Chris Beall
3b258be8c4
about a dozen changes to make Matlab toolbox work again, but one error remains having to do with the forward declaration of class GaussianBayesNet.
2009-11-05 03:26:04 +00:00
Manohar Paluri
0ef7fe4a01
changed case of foreach ( it was capitals before and will not compile on linux )
2009-11-04 22:19:16 +00:00
Richard Roberts
e2414561be
Merged r895:900 from branch weightedQR - LinearFactorGraph now has sigmas and ConditionalGaussian now has precisions
2009-11-04 20:59:16 +00:00
Frank Dellaert
4865edb883
Removed debug code, added marginal function
2009-11-04 03:22:29 +00:00
Frank Dellaert
e9d942f81e
BayesNet is now list-based for fast bi-directional access
...
SLOW O(n) random access operator[key] provided
(should maybe be called [at] as it does bounds checking)
I also fixed a bug in equals.
2009-11-03 06:29:56 +00:00
Frank Dellaert
eab038651e
Renamed BayesNet::insert -> push_back. BayesTree now uses Bayes nets as nodes.
2009-11-02 05:17:44 +00:00
Frank Dellaert
a8d267c4ca
Small change necessitating lots of edits: Conditionals now include key of random variable
...
This simplifies Bayes nets quite a bit. Also created a Conditional base class, derived classes ConditionalGaussian and SymbolicConditional
Finally, some changes were needed because I moved some headers to .cpp
2009-11-02 03:50:30 +00:00
Frank Dellaert
943b692a6b
BIG CHANGE: I got rid of the BayesChain/ChordalBayesNet classes and we now simply have a BayesNet class. It will just happen to be chordal when it is the result of an elimination. This will simplify a lot of things.
...
The main renaming that happened is
BayesChain -> BayesNet
ChordalBayesNet -> GaussianBayesNet == BayesNet<ConditionalGaussian>
SymbolicBayesChain -> SymbolicBayesNet == BayesNet<SymbolicConditional>
2009-10-31 19:53:20 +00:00
Frank Dellaert
921cb0a8fc
Got rid of (defunct) "dump" methods
2009-10-31 17:13:36 +00:00
Frank Dellaert
c046fed37c
Bayes tree constructor implemented and tested with ASIA, as well as smoother example from frankcvs meeting
2009-10-31 16:57:36 +00:00
Frank Dellaert
1e5a2d692a
const
2009-10-31 16:56:06 +00:00
Frank Dellaert
040f407b0b
Removed constructor, use eliminate
2009-10-31 16:55:44 +00:00
Frank Dellaert
0f688302ad
Fixed bug in [parents]
2009-10-31 16:55:17 +00:00
Frank Dellaert
68d2f81f0a
Smoother now creates x1...xT, not x0 anymore
2009-10-31 16:54:38 +00:00
Frank Dellaert
fd5f43092f
Ordering is now a list and Testable
2009-10-31 15:24:22 +00:00
Frank Dellaert
e1f14b34c3
Implemented [equals] using binary predicate and STL's equal
2009-10-31 14:12:41 +00:00
Frank Dellaert
b9ceca7dc6
Templated binary predicate [equals] for use with STL's equal(...)
2009-10-31 14:11:48 +00:00
Frank Dellaert
53890c4ba6
Symbolic Bayes Tree successfully constructed
2009-10-31 05:12:39 +00:00
Frank Dellaert
cefeca149b
Moved template definitions to BayesTree-inl.h
2009-10-30 13:03:38 +00:00
Frank Dellaert
0d7d0e2161
Explicit template instantiation in .cpp files, so we can link with the code without having to include -inl.h everywhere...
2009-10-30 05:45:22 +00:00
Frank Dellaert
83e5286710
ChordalBayesNet is now derived from BayesChain
...
Explicit template instantiations
2009-10-30 04:54:11 +00:00
Frank Dellaert
dd3795ad5a
Symbolic eliminate now works, new compilation unit SymbolicFactor
2009-10-30 03:48:32 +00:00