Frank Dellaert
68de3ae715
better comments
2009-12-17 19:34:27 +00:00
Manohar Paluri
dc9a966fdd
moved shared pointer declaration to Cal3_S2.h
2009-12-17 10:02:43 +00:00
Richard Roberts
3326759f0b
Removed extra ;
2009-12-16 21:41:33 +00:00
Richard Roberts
c45f64657f
Changes to make Pose2Config work with NonlinearOptimizer
2009-12-16 21:40:41 +00:00
Richard Roberts
83c95f2343
Changed constructor used from Pose2(t,R) to Pose2(R,t)
2009-12-16 21:39:03 +00:00
Frank Dellaert
9efac7b3fb
Some re-naming and re-formatting only
2009-12-15 05:34:49 +00:00
Richard Roberts
94f986bbe7
Indentation
2009-12-15 00:00:02 +00:00
Chris Beall
a7a5e5e816
small performance improvement by using a pointer to address r
2009-12-14 16:56:50 +00:00
Richard Roberts
71bc9ca0f7
Added unit tests that were missing
2009-12-14 15:45:45 +00:00
Richard Roberts
971b575715
Fix duplicate definition error by adding 'inline' to checkConvergence
2009-12-14 06:10:51 +00:00
Michael Kaess
2270c7d787
BayesTree animation
2009-12-14 06:01:15 +00:00
Richard Roberts
c4b60bfd65
Closing # 118: Made Pose2 use Rot2, added 'compose' for Pose2, made slight modifications to Rot2. Also added additional unit tests. This change shouldn't break anything but let me know if it does.
2009-12-14 03:02:05 +00:00
Michael Kaess
0116b3a515
severe bug fixed in updating of Bayestree
2009-12-13 20:54:48 +00:00
Viorela Ila
d5d70d7751
gradientDescent_ and conjugateGradientDescent_ works in matlab
2009-12-13 03:02:14 +00:00
Frank Dellaert
6e3f36dc63
Trying different orderings
2009-12-12 12:53:39 +00:00
Frank Dellaert
2914d663de
No print in tests
2009-12-12 06:18:59 +00:00
Frank Dellaert
c38683cd64
Sped up and fixed (?) sparse
2009-12-12 06:18:29 +00:00
Frank Dellaert
99533f286f
Vanilla Conjugate Gradient Descent works
2009-12-12 04:44:34 +00:00
Frank Dellaert
2a2963b7dd
Added a numerical gradient calculation test
2009-12-12 04:13:12 +00:00
Frank Dellaert
56a4172480
Fixed printing in matlab
2009-12-12 04:12:24 +00:00
Chris Beall
be10fc2a90
18% performance boost by using pointer to address destination matrix A
2009-12-11 23:59:37 +00:00
Viorela Ila
631248f902
no print yet
2009-12-11 23:16:57 +00:00
Viorela Ila
570c6a3c71
print method for Pose2Graph
2009-12-11 23:00:52 +00:00
Viorela Ila
8a9f05059c
implement getOrdering_ to work in matlab
2009-12-11 22:53:48 +00:00
Frank Dellaert
a1e90af90f
exmap that takes Vector
2009-12-11 22:43:34 +00:00
Frank Dellaert
137291b2c9
Vector-like operators
2009-12-11 21:38:08 +00:00
Frank Dellaert
e46cfbd7c4
fixed bug in sum
2009-12-11 21:37:52 +00:00
Frank Dellaert
bca489384e
dot product
2009-12-11 21:37:40 +00:00
Viorela Ila
76b55aba7d
linearize method for Pose2Graph works in Matlab!!
2009-12-11 21:34:08 +00:00
Viorela Ila
03304ac421
testPose2Graph tests linearize
2009-12-11 19:32:46 +00:00
Frank Dellaert
a66f08a5e0
testing new alphaFactor
2009-12-11 18:03:43 +00:00
Frank Dellaert
f91a1f0192
error_vector
2009-12-11 17:42:54 +00:00
Frank Dellaert
abc268a13d
quick cleanup - expmap comments
2009-12-11 14:22:35 +00:00
Frank Dellaert
16e1f6e56d
use Vector_ for conciseness
2009-12-11 05:28:19 +00:00
Frank Dellaert
726858145a
gradient descent (with fixed nr. of iterations, choosing optimal step size)
2009-12-11 04:59:05 +00:00
Frank Dellaert
299fcf1e04
scale is const !
2009-12-11 04:57:31 +00:00
Frank Dellaert
c57501eddd
fix macro so GTSAM_PRINT(*foo) works
2009-12-11 04:57:14 +00:00
Frank Dellaert
7151e7b24a
new constructor from vector
2009-12-11 04:56:29 +00:00
Frank Dellaert
4af2382105
Gradient at solution is zero !
2009-12-11 02:59:09 +00:00
Chris Beall
532ea0ae36
fixed weird error that several of us have been experiencing with GaussianBayesTree.h appearing twice in the install command. fixed by moving Symbolic inference section above Inference Section.
2009-12-11 01:38:45 +00:00
Viorela Ila
1a96534016
add Pose2Graph
2009-12-10 23:45:38 +00:00
Frank Dellaert
e7a912bd3b
Calculate gradient of factor graph objective function.
2009-12-10 20:19:15 +00:00
Frank Dellaert
67e1897e47
Get and [] now return references, new imperative add method
2009-12-10 20:17:11 +00:00
Frank Dellaert
81ce0bef88
New operator for left-multiplication of vector
2009-12-10 20:16:40 +00:00
Michael Kaess
2df0e49e9b
optimize works for GaussianBayessTree
2009-12-10 17:00:11 +00:00
Frank Dellaert
f44af12836
Renamed variable
2009-12-10 15:34:09 +00:00
Frank Dellaert
d26664d975
Convenience functions for adding factors
2009-12-10 15:33:52 +00:00
Viorela Ila
e0274dab59
Pose2Config constructor
2009-12-10 04:12:41 +00:00
Viorela Ila
072dea81b0
rename Pose2Constraint using Pose2Factor
2009-12-09 23:43:01 +00:00
Manohar Paluri
cee3f2a355
fixed recursive inclusion. Was giving error when you build gtsam
2009-12-09 22:53:44 +00:00
Frank Dellaert
db0d7286c2
Fixed Michael's c++ trubbles.
2009-12-09 22:15:38 +00:00
Michael Kaess
72ba1bee24
separate cpp
2009-12-09 22:02:50 +00:00
Frank Dellaert
7d4de3ec20
Added a 1D manifold implementation of 2D rotations. The new representation stores (cos theta, sin theta) rather than theta itself, ensuring that (a) rotate and unrotate do not call cos/sin, (b) same for all derivatives of rotate and unrotate, (c) when you call angle(), you always get the standardized answer given by atan2. The idea is that we will use this new type in Pose2 instead of angle.
2009-12-09 21:50:27 +00:00
Chris Beall
91370a9d7a
added public iterator typedefs to VSLAMConfig to make it easier for other code to consume the optimization results.
2009-12-09 21:47:23 +00:00
Manohar Paluri
1ec93f05cd
added a test case which uses getOrdering instead of defining the order manually.
2009-12-09 21:22:16 +00:00
Frank Dellaert
a9dc57db2c
2009-12-09 21:00:53 +00:00
Michael Kaess
ffa009d3ff
accidentially checked in
2009-12-09 20:56:03 +00:00
Michael Kaess
34e913e236
optimization over cliques started
2009-12-09 20:49:04 +00:00
Viorela Ila
638b174541
Pose2Constraint works in matlab
2009-12-09 19:55:25 +00:00
Michael Kaess
4200271cf4
GaussianBayesTree added, testBayesTree split
2009-12-09 19:39:25 +00:00
Chris Beall
a4a552ea86
fixed bug concerning variable keys not being saved.
2009-12-09 19:13:02 +00:00
Chris Beall
3b3c76b273
cleaned up, and removed Testable here because it's already provided by base class FactorGraph
2009-12-09 19:11:45 +00:00
Viorela Ila
b87aa58c1f
add Pose2Constraint class
2009-12-09 17:29:43 +00:00
Manohar Paluri
f764772106
added getOrdering unit test
2009-12-09 15:25:50 +00:00
Richard Roberts
e43548d03a
A couple more "missing" .hpp files for newer gcc :-)
2009-12-08 22:49:57 +00:00
Michael Kaess
9bbea6dcbd
some additional includes needed with newer compiler
2009-12-08 21:40:09 +00:00
Alex Cunningham
d7c67532bf
Changed format of Matrix::vector_scale() to switch arguments
2009-12-08 21:10:38 +00:00
Frank Dellaert
066b80e02e
Pose2Constraint, initial check in with working linearize
2009-12-08 20:48:39 +00:00
Frank Dellaert
16da0895a8
square_root_inverse
2009-12-08 20:48:13 +00:00
Frank Dellaert
d1ab2c7288
transform_to and between, with derivatives, unit-tested
2009-12-08 19:12:20 +00:00
Frank Dellaert
6ead19648f
Modernized Pose2 constraint and added numerical derivative check
2009-12-08 14:02:56 +00:00
Frank Dellaert
152fa0069a
fixed expected, actual nomenclature in assert_equal: always use (expected, equal) order
2009-12-08 13:53:33 +00:00
Viorela Ila
95260281d1
add testFunctions (h, H1, H2) for Pose Constraint
2009-12-07 23:17:03 +00:00
Richard Roberts
53af03368f
Fixed indentation
2009-12-07 22:51:49 +00:00
Manohar Paluri
e244e22c6a
added probability function that computes the probability of a BinaryBayesNet given a config.
2009-12-07 07:12:01 +00:00
Manohar Paluri
115d9a8adf
replaced pow with bit shift operator, changed constructor to take p(x|parents) and created cpt inside the constructor.
2009-12-07 03:25:25 +00:00
Manohar Paluri
28eb550781
Used a map for config
2009-12-07 00:49:13 +00:00
Manohar Paluri
b9e15ee789
Added cpt to BinaryConditional
2009-12-06 23:28:46 +00:00
Manohar Paluri
60a3a21d5a
Binary Bayes Net, incomplete
2009-12-06 21:46:46 +00:00
Frank Dellaert
2a4e90a283
Re-factored append_factor to use FOREACH_PAIR
2009-12-05 02:00:20 +00:00
Chris Beall
e98081f92c
changes to append_factor which give more than 2x speedup on my data. Matrices in As are no longer copied/edited/replaced each time they need to be changed, but created once and then updated in place.
2009-12-04 21:03:32 +00:00
Eohan George
ae9789c9ee
Cleaner printing with tabs after each element
2009-12-02 23:01:49 +00:00
Kai Ni
5bde26a885
odprintf is an auxiliary function to printf for Win32 compatibility
2009-12-02 19:37:54 +00:00
Alex Cunningham
e26acc0d8d
Changed nonlinear constraints to use boost.bind to handle arbitrary function objects for evaluating cost, useful for parameterizing cost functions.
2009-12-01 19:45:47 +00:00
Viorela Ila
c00252a8f6
add method combine to GaussianFactorGraph in gtsam.h
2009-12-01 16:01:29 +00:00
Alex Cunningham
a3ce3f31c8
Cleanup with NonlinearConstraints to make the active() function do thresholding for inequality constraints, rather than constraint function itself.
...
testSQP now has all tests active and passing.
Added greaterThanOrEqual() for vector comparison.
2009-11-30 17:36:34 +00:00
Alex Cunningham
1799f59388
Added a function for the SQPOptimizer that will iterate until convergence. At the moment, the convergence conditions are quite simple (error below threshold or too many iterations). The system does, however, strictly limit the number of iterations.
2009-11-28 22:49:14 +00:00
Alex Cunningham
1525253123
Inequality Constraints now work in a simple obstacle-avoidance demo in testSQPOptimizer. It should be noted that convergence conditions are still not implemented.
2009-11-28 21:44:07 +00:00
Alex Cunningham
395e4ae3f1
Fixed sign issue on nonlinear constraints, so that that it is not necessary to flip the sign on the delta configs before using exmap.
2009-11-28 21:00:09 +00:00
Alex Cunningham
0ff7e3a5d9
Changed interface on constraint g(x) and grad_g(x) functions to take a list of keys, so that all of the variables in a factor can be used as necessary. Moved g(x) into base NonlinearConstraint class and some cleanup.
2009-11-28 19:18:02 +00:00
Alex Cunningham
107c6846fb
Added basic inequality constraint handling to NonlinearConstraint. Demo still in progress, but now constraints are explicitly handled as either equality or inequality constraints, with an active() function to determine if it is necessary to use the constraint.
...
Created testOrdering for new subtract() function to remove parts of an ordering.
2009-11-28 18:35:36 +00:00
Alex Cunningham
f3e825767b
NonlinearConstraints now handle inactive constraints (when the state is already in the feasible region) by returning empty factors on linearization.
2009-11-27 18:42:01 +00:00
Alex Cunningham
cf6474c99b
Added a graph implementation for multi-robot control systems. Currently can only really constrain the ends of a trajectory.
...
Made a number of fixes and updates to the ControlConfig as well.
2009-11-27 17:59:03 +00:00
Alex Cunningham
2a2e11d05d
Added the config and units for a robot control system example that keeps a position and velocity model of a robot's motion.
2009-11-26 05:52:17 +00:00
Alex Cunningham
43e4c66407
Added more detail to VSLAM test that diverges.
2009-11-24 16:03:57 +00:00
Alex Cunningham
d788e9833d
Added tests to ensure that configs will only update existing values when using exmap and not add new ones if there are more values in the delta config. VectorConfig and VSLAMConfig both do this properly now.
2009-11-24 15:12:59 +00:00
Alex Cunningham
e3e79e3888
Added lagrange access function to the SQPOptimizer
...
Added a test testSQP to try changing the initial Lagrange multiplier values to find a way around the stability problem, but there is no effect.
2009-11-24 14:44:46 +00:00
Alex Cunningham
140e79572f
Added a test to testSQP to check VSLAM solution stability when the initial config is away from the ground truth. The test without the nonlinear constraints has the same stability problem, and both the constrained and unconstrained versions are in place and disabled.
2009-11-24 14:14:03 +00:00
Alex Cunningham
fec280db8e
Added a nonlinear constraint version of the stereo SQP example, but the test when the initial configuration is incorrect is not stable and the points continue moving away indefinitely.
2009-11-24 06:39:27 +00:00
Alex Cunningham
31856ce598
SQPOptimizer can now do its own initialization of the Lagrange multipliers.
...
Cleaned up NonlinearConstraint
2009-11-23 22:10:52 +00:00
Alex Cunningham
a5515d9d57
SQPoptimizer can now perform optimization, and has a test using the linear map-warping example.
2009-11-23 21:25:31 +00:00
Viorela Ila
ac315082aa
new example from RSS sqrtSAM in testBayesTree
2009-11-23 20:11:10 +00:00
Alex Cunningham
0b333630e7
Added an SQPOptimizer class with accompanying test - currently doesn't do much
2009-11-23 19:57:35 +00:00
Viorela Ila
d15a7a073c
SymbolicFactor works in Matlab
2009-11-23 19:45:09 +00:00
Alex Cunningham
36877532ad
Added ground truth for VSLAM example in testSQP
2009-11-23 16:45:53 +00:00
Frank Dellaert
f272e2f6fe
Added a second smoother test
2009-11-23 05:27:37 +00:00
Frank Dellaert
9bac438dbe
Play nice with BOOST_FOREACH: non-const begin/end. Also removed buggy clear().
2009-11-23 05:27:19 +00:00
Michael Kaess
10a8ac34ec
iSAM smoother test
2009-11-23 01:16:58 +00:00
Frank Dellaert
4951a25453
More efficient removeTop
2009-11-23 00:02:06 +00:00
Frank Dellaert
35af122e83
Added a new version of removeTop and simplified update
2009-11-22 23:50:01 +00:00
Michael Kaess
7d384488e3
BayesTree::update generalized and moved from testIncremental to BayesTree; testIncremental removed
2009-11-22 23:35:13 +00:00
Frank Dellaert
64a43b0492
removeTop now does not bomb when a clique does not exist: it just does nothing
2009-11-22 22:59:56 +00:00
Frank Dellaert
4e74edba72
Some simplification
2009-11-22 22:39:32 +00:00
Michael Kaess
ab117947d7
update now takes a factor graph, rather than an individual factor
2009-11-22 22:26:24 +00:00
Michael Kaess
a3de1df5a4
adding orphans assuming that the first separator key refers to the parent; GTSAM_PRINT define
2009-11-22 21:18:31 +00:00
Frank Dellaert
198f73a05f
Insert conditionals straight into the topless bayesTree
2009-11-22 18:40:55 +00:00
Frank Dellaert
32db0595f4
using removeTop now
2009-11-22 18:27:14 +00:00
Frank Dellaert
952798e751
fixed orphans bug
2009-11-22 18:22:17 +00:00
Frank Dellaert
9da2f16f4d
Removed copy/paste in unit tests
2009-11-22 18:12:29 +00:00
Frank Dellaert
d4aaa5d114
Added two more removePath tests and fixed bug in removeTop. But orphan list is still incorrect.
2009-11-22 18:06:28 +00:00
Michael Kaess
45292f7bd6
Cliques implemented; unit test on orphans for removePath; bug fix in removePath/orphans
2009-11-22 17:40:24 +00:00
Frank Dellaert
53754ccbb8
removeTop with one factor implemented and one test works (orphans not yet checked)
2009-11-22 17:34:59 +00:00
Frank Dellaert
6f11c0803b
Cliques class
2009-11-22 16:46:29 +00:00
Frank Dellaert
7ce62f1626
Some template magic and boost:tie cleared up the compile issues in removePath
2009-11-22 16:04:51 +00:00
Michael Kaess
4449cfd30c
remove_path now also returns list of orphaned subtree roots; compile problem...
2009-11-21 23:41:43 +00:00
Frank Dellaert
82aae3c161
Some re-factoring (using BOOST_FOREACH to loop over string list), root is now NULL after removing root clique
2009-11-21 21:48:10 +00:00
Alex Cunningham
1fd0404ec9
Cleanup in testSQP, also demoed the unary constraint, as well.
2009-11-21 19:05:24 +00:00
Frank Dellaert
00b5b25591
Awesome recursive version of removePath
2009-11-21 06:14:53 +00:00
Frank Dellaert
072846a70f
moved addClique and removeClique implementations to inl.h,
...
removePath takes clique argument now
2009-11-21 06:07:46 +00:00
Frank Dellaert
286d826119
removed print
2009-11-21 06:06:30 +00:00
Frank Dellaert
b113194e58
While watching TV :-) added some constructors for more readable tests.
2009-11-21 04:59:50 +00:00
Frank Dellaert
a0a250750b
compare config
2009-11-21 04:22:59 +00:00
Michael Kaess
0286bc27eb
removePath mostly working
2009-11-21 03:38:13 +00:00
Alex Cunningham
08f5b074a0
Added verbosity selector for the SQP demo to remove printouts every time it runs
2009-11-20 14:29:11 +00:00
Frank Dellaert
715dc4474d
functional STL magic
2009-11-20 14:18:26 +00:00
Frank Dellaert
d234365d53
involves is const
2009-11-20 14:17:52 +00:00
Alex Cunningham
5f848f272b
SQP demo that moves maps into the correct reference frames is now working using the NonlinearConstraint machinery.
2009-11-20 14:05:21 +00:00
Frank Dellaert
e440767db9
Use [involves], and now updating orphan list
2009-11-20 05:23:47 +00:00
Frank Dellaert
55e85fd8a5
[involves] checks whether variable with that key is involved in any factor
2009-11-20 05:14:34 +00:00
Alex Cunningham
6aba2f1c1c
Changed initial SQP example to use exmap using the new scaling function for VectorConfig
2009-11-20 05:13:32 +00:00
Alex Cunningham
acfe742c29
Added a simple scaling function for VectorConfigs
2009-11-20 05:10:55 +00:00
Alex Cunningham
714edb57f0
Basic implementation of a binary nonlinear constraint, with working linearization of a binary constraint.
2009-11-20 03:50:48 +00:00
Alex Cunningham
ee4a066275
Implemented linearization and equality for unary NonlinearConstraints. Current tests use a scalar example. Split out implementation into a separate implementation file.
2009-11-20 03:04:49 +00:00
Michael Kaess
4ca1dbf325
generalized most of the update algorithm
2009-11-19 23:25:03 +00:00
Alex Cunningham
429f27550c
Added a NonlinearConstraint and testNonlinearConstraint. There is currently an abstract base class for constraints and a partially implemented unary constraint.
2009-11-19 16:50:18 +00:00
Frank Dellaert
cd913566f2
I now use push_back to add factors to the new factor graph, and called getOrdering to compute a colamd order. I fixed the test so it checks the right order. Unfortunately colamd is a worse ordering, and the two cliques from before are merged into one.
2009-11-19 06:37:06 +00:00
Frank Dellaert
8d8503bd99
constructor with three parents
2009-11-19 06:34:28 +00:00
Frank Dellaert
b2eee54b5a
push_back an entire factor graph
2009-11-19 06:34:07 +00:00
Frank Dellaert
e2a3d1cb8f
Fixed test
2009-11-19 04:52:46 +00:00
Alex Cunningham
f98f49381a
Added an example to testSQP to use for combining graphs
2009-11-18 21:57:59 +00:00
Alex Cunningham
d700cd2cac
Made some small changes to testSQP to simplify the system and improve convergence.
2009-11-18 20:23:07 +00:00
Alex Cunningham
7fc68e2d90
Updated testSQP to use a real SQP implementation as separate factors on the previous problem. SQP now works.
2009-11-18 19:42:14 +00:00
Frank Dellaert
76d0a60b88
commented out all print statements
2009-11-18 18:22:08 +00:00
Frank Dellaert
f40182518a
size() now returns correct nr. of cliques, not number of keys
2009-11-18 18:05:12 +00:00
Michael Kaess
d0efe2da5e
update almost correct, except for order
2009-11-18 17:40:05 +00:00
Frank Dellaert
23031fbc04
convert clique into factor graph
2009-11-18 17:28:07 +00:00
Frank Dellaert
1edcdb6f80
added SymbolicFactor constructor that takes a SymbolicConditional
2009-11-18 17:27:27 +00:00
Frank Dellaert
c7e76891da
skeleton hardcoded version
2009-11-18 17:03:19 +00:00
Frank Dellaert
bed219c997
no printout
2009-11-18 16:32:45 +00:00
Frank Dellaert
21974f95e1
test for incremental update
2009-11-18 16:31:19 +00:00
Frank Dellaert
bef2efacb7
fixed equals
2009-11-18 16:30:57 +00:00
Frank Dellaert
ceed2ae17d
symbolic tree in testIncremental
2009-11-18 15:37:19 +00:00
Michael Kaess
f56bf8c79f
added missing include to satisfy stricter compiler; added isam test file
2009-11-17 21:47:42 +00:00
Chris Beall
4f7d31986c
added cameraConstraint and corresponding unit test based on same 2 camera/4 landmark example, but now there are constraints on the two cameras and none of the landmarks.
2009-11-17 17:19:54 +00:00
Manohar Paluri
e4eaae4605
Added equals function and serialization capability
2009-11-17 01:19:55 +00:00
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
Alex Cunningham
65b949c008
Fixed flaw in pseudoinverse calculation, and updated tests for Matrix and Vector
2009-10-29 20:12:07 +00:00
Frank Dellaert
80b162a412
LinearFactorGraph::eliminate_one is now FactorGraph::eliminateOne<ConditionalGaussian>
...
Symbolic version FactorGraph::eliminateOne<SymbolicConditional> also implemented and tested
2009-10-29 14:34:34 +00:00
Alex Cunningham
4c48bb08e1
Vector and Matrix updated with improved weighted householder operations and more tests.
2009-10-29 12:52:27 +00:00
Frank Dellaert
a513ae0287
Changed names and moved two LinearFactorGraph functions to FactorGraph
...
Added SymbolicFactorGraph compiulation unit and unit tests
Added symbolic combine constructor
2009-10-29 05:39:13 +00:00
Frank Dellaert
f0c23a2828
Moved [factors] to FactorGraph
2009-10-29 04:49:13 +00:00
Frank Dellaert
b6cee73571
Significant change: Made FactorGraph templated on Factor only, and moved error and probPrime to derived classes
...
Moved find_and_remove_factors to base class
Added and tested symbolic factor graph constructor and conversion from any factor graph type
2009-10-29 04:11:23 +00:00
Frank Dellaert
1f792a53ea
Made some progress on symbolic analysis
2009-10-28 02:57:38 +00:00
Frank Dellaert
50763ef764
Prototype for Bayes nets for Manohar
2009-10-27 20:44:40 +00:00
Frank Dellaert
bb15697cf9
Prototype framework for Bayes chain (new name for Chordal Bayes net) and Bayes tree class hierarchy
2009-10-27 20:23:19 +00:00
Frank Dellaert
94da98411c
Fixed NULL problem
2009-10-27 20:22:02 +00:00
Richard Roberts
e37e771c8e
My last commit broke the linearFactorN unit test, fixed now.
2009-10-27 15:31:45 +00:00
Richard Roberts
cb22a0bc52
Renamed variables in linearFactorN unit test
2009-10-27 15:13:13 +00:00
Alex Cunningham
37bc303492
Added weighted Householder transforms that use precisions perform QDR factorization. Functions create a weighted vector pseudoinverse, and then use the pseudoinverse to substitute a solution into system.
2009-10-27 14:21:22 +00:00
Frank Dellaert
626d06905c
Removed obsolete optimize call and documented better
2009-10-27 14:14:36 +00:00
Frank Dellaert
4d9ff77249
moved timing example here from EasySLAM
2009-10-27 13:34:36 +00:00
Frank Dellaert
422169873c
moved [symbol] function to LinearFactor
2009-10-27 13:33:44 +00:00
Brian Law
11f0d04cb6
made all classes that currently have an assert_equal "Testable"
...
- derive from testable as in class Point2 : Testable<Point2>
- moved print and equal declarations in .h right after the constructor
- similarly, moved implementations after constructors in .cpp file
- removed obsolete assert_equal
2009-10-26 19:26:51 +00:00
Frank Dellaert
3b30fe50b0
Moved print and equals to -inl.h
2009-10-25 22:27:18 +00:00
Frank Dellaert
7a968962db
Order of arguments = expected, then actual
2009-10-25 22:26:56 +00:00
Frank Dellaert
57bc102548
Equals now checks for NULLs
2009-10-25 14:25:17 +00:00
Frank Dellaert
f54ba387fe
FactorGraph, ChordalBayesNet, and ConditionalGaussian now Testable
2009-10-24 23:14:14 +00:00
Frank Dellaert
3792c79706
Fixed NonlinearFactor2 equals and added some unit tests for equals
2009-10-24 20:01:47 +00:00
Frank Dellaert
563abc2b3f
formatting only
2009-10-24 04:07:32 +00:00
Chris Beall
baef89ccf0
updated find_factors_and_remove to use map of factor indices to gather factors connected to a variable. factors are set to null instead of being erased. also updated size() to count non-NULL factors, and print() to only print non-NULL factors. added new unit test which tries to remove the same variable twice.
2009-10-23 00:56:40 +00:00
Chris Beall
52bedcad3a
order 1 factors by using map
2009-10-22 21:33:00 +00:00
Frank Dellaert
cd3e3d8a86
Fairly substantial change: Factor now Testable, MutableLinearFactor gone
...
The latter was prompted by the fact that assert_equal did not like mixing LinearFactor and MutableLinearFactor
But MutableLinearFactor always was a bit of a kluge. We should eradicate all non-const on LinearFactor some other way.
2009-10-22 17:23:24 +00:00
Richard Roberts
0d580032c5
Added unit test for creating an n-ary LinearFactor
2009-10-22 15:52:39 +00:00
Frank Dellaert
2aec16d3cf
Combined evaluation/derivatives now return the function value instead of using a pointer
2009-10-22 14:44:27 +00:00
Frank Dellaert
6c8531ed9c
Point2 now Testable, removed obsolete assert_equal, as every testable class can use the template version in Testable.h
2009-10-22 14:43:36 +00:00
Frank Dellaert
9a579fcdaf
No need for Testable constructors
2009-10-22 14:42:19 +00:00
Richard Roberts
e52c574e46
Added an empty virtual destructor to fix a compile warning
2009-10-22 14:27:44 +00:00
Richard Roberts
ae57441c3d
Added a constructor to create an n-ary factor from an std::vector of key/A-matrix pairs
2009-10-22 14:27:03 +00:00
Frank Dellaert
c3b8a20b5c
Added new test for find_factors_and_remove and deleted obsolete one
2009-10-22 13:28:37 +00:00
Frank Dellaert
1b199a4d3b
Added a "factors" function that returns indices to all factors connected to a variable.
2009-10-22 05:02:31 +00:00
Viorela Ila
3e6739f2fd
Now Matlab toolbox compiles!!
2009-10-20 20:41:45 +00:00
Viorela Ila
019a05d93d
mex: compile of ' "eliminate.cpp"' error fixed. but still not compiling
2009-10-20 18:57:33 +00:00
Frank Dellaert
543ad1409f
Changing from set to vector: insert -> push_back
2009-10-20 15:22:06 +00:00
Frank Dellaert
19bdb5c2f9
Better name for delta: linearizeAndOptimizeForDelta
2009-10-19 19:12:48 +00:00
Frank Dellaert
d8c04ecfcb
Fixed serialization include header.
2009-10-18 17:35:15 +00:00
Frank Dellaert
ed616a26ed
Finally gave in and made LinearFactorSet into a vector. Pragmatism wins.
2009-10-18 16:49:10 +00:00
Frank Dellaert
0d66ee8f72
comments only
2009-10-15 14:56:40 +00:00
Alex Cunningham
485f8d003b
Added notes concerning the ordering issue when handling sets of LinearFactor::shared_ptrs
2009-10-14 21:06:44 +00:00
Alex Cunningham
7d0a30c20f
Renamed FGConfig to VectorConfig in gtsam, easylib, EasySLAM, and mast.
2009-10-14 20:39:59 +00:00
Alex Cunningham
8f20523e7f
ConstrainedLinearFactorGraphs now handles multiple constraints on a node properly.
...
smallExample was changed to include two of the examples used in testConstrainedLinearFactorGraph
ConditionalGaussian was changed to make solve() virtual, as this is necessary for ConstrainedConditionalGaussian
2009-10-14 15:32:05 +00:00
Chris Beall
92b920cb48
updated to be templated on Config.
2009-10-13 20:55:07 +00:00
Alex Cunningham
66dac8a52f
Generalized constraint handling to create a LinearConstraint which implements linear equality constraints that can be eliminated as a part of a ConstrainedLinearFactorGraph. DeltaFunction has been changed to be a ConstrainedConditionalGaussian, which has a more robust solve() function. The new tests no longer use the "constrained" example from smallExample, so those functions have been commented.
...
''Limitations: ''
* Any given node can only have one constraint on it, but constraints can be of arbitrary size
* Constraints can only be specified as a blockwise system, where each block must be square and invertible to support arbitrary elimination orderings.
* ConstrainedNonlinearFactorGraph is disabled until a better solution for handling constraints in the nonlinear case is determined.
2009-10-08 13:57:22 +00:00
Alex Cunningham
3efe95abee
Removed ConstrainedChordalBayesNet and associated test. It may return if ConstrainedConditionalGaussians need more involved processing in future versions, but for all versions of LinearConstraint, there is no need for a special Constrained CBN.
2009-10-08 13:43:43 +00:00
Frank Dellaert
989f290c99
'''BIG CHANGE''': avoid converting back and to FGConfigs by templating on configuration type. Details:
...
* Factors are now templated on the configuration type. Factor Graphs are now templated on the factor type and configuration type.
* LinearFactor is a factor on an FGConfig.
* LinearFactorGraph uses LinearFactor and FGConfig.
* NonLinearFactor is still templated on Config.
* NonLinearFactorGraph uses NonLinearFactors, but is still templated on Config.
* Tests and VSLAMFactor have been updated to reflect those changes.
2009-10-06 18:25:04 +00:00
Frank Dellaert
34c1bb6f29
Small comment on exmap correctness
2009-10-06 18:02:33 +00:00
Frank Dellaert
7e77ae5f53
formatting only, clear by default
2009-10-06 18:01:40 +00:00
Kai Ni
354f9de64e
fixed round off error in Rot3.rodriguez
2009-09-16 02:20:57 +00:00
Kai Ni
7fb691183d
make simulation2D work
2009-09-15 22:32:34 +00:00
Frank Dellaert
768befbd85
Faster inverse by avoiding matrix intermediate
2009-09-14 04:39:36 +00:00
Frank Dellaert
d5dc9ab9d1
Composition is faster, composeTransform is trivial (and should probably go)
2009-09-14 04:38:17 +00:00
Manohar Paluri
3285d88181
Added few utility functions required to check if Marker is facing the Camera
2009-09-13 20:07:00 +00:00
Kai Ni
100b9b2eec
added a safe projection method to Calibrated and SimpleCamera. added a positiveDepth property to ARToolkitMeasurement so that the visibility can be checked
2009-09-13 16:09:54 +00:00
Manohar Paluri
571c0da8d1
removed unit test for scalar operator overloading
2009-09-13 04:23:31 +00:00
Frank Dellaert
68e20eec2c
2 BIG changes:
...
(1) FactorGraph and NonlinearOptimizer now no longer have a .cpp file, but a -inl.h file as in [http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml Google's C++ Style Guide]. This means if you expect to instantiate one of the functions in a cpp file, you have to include the -inl.h file.
(1) getOrdering is now in FactorGraph, and the non-linear version does *not* take a config anymore.
Long version: I made this change because colamd works on the graph structure alone, and should not depend on the type of graph. Instead, because getOrdering happened to implemented in LinearFactorGraph first, the non-linear version converted to a linear factor graph (at the cost of an unnecessary linearization), and then threw all that away to call colamd. To implement this in a key-neutral way (a hidden agenda), i had to modify the keys_ type to a list, so a lot of changes resulted from that.
2009-09-13 04:13:03 +00:00
Manohar Paluri
d141cdab8c
rolling back + operator overload for scalars ( Not approved by FD )
2009-09-13 03:43:15 +00:00
Manohar Paluri
bc93a9c314
overloaded + operator for scalar
2009-09-12 21:52:13 +00:00
Frank Dellaert
7b0c69da2d
getOrdering uses [keys] now
2009-09-12 04:15:41 +00:00
Frank Dellaert
14102e259e
new method [keys]
2009-09-12 03:50:44 +00:00
Frank Dellaert
78ac705d05
Isolated main colamd call in function templated on key type.
2009-09-12 03:38:55 +00:00
Frank Dellaert
a5ae9c12ef
re-factored and commented getOrdering
2009-09-12 01:50:47 +00:00
Kai Ni
597af891cb
add comments
2009-09-11 20:51:49 +00:00
Kai Ni
bc7717d5ab
Forward declarations and comments
2009-09-11 20:51:03 +00:00
Kai Ni
49e6e0c63f
Add operator /
2009-09-11 20:49:28 +00:00
Kai Ni
b76a029ad8
Added principalPoint
2009-09-11 20:48:02 +00:00
Manohar Paluri
0ac12dfcbf
changed config() to const
2009-09-11 18:33:05 +00:00
Alireza Fathi
5e713551b3
get it run on the mac
2009-09-10 22:50:06 +00:00
Alex Cunningham
65df85125d
Fixed NonlinearOptimizer to return a shared pointer to a config
2009-09-10 22:08:47 +00:00
Alireza Fathi
5e1c719c17
the getConfig function is so dangerous and it should not exist...
2009-09-10 20:32:27 +00:00
Frank Dellaert
ead3d03866
BIG: replaced optimize in NonlinearFactorGraph with specialized NonlinearOptimizer object. This does away with the artificial ErrorVectorConfig and the like as NonlinearOptimizer is templated and can use "exmap", the exponential map defined for any differentiable manifold.
2009-09-09 04:43:04 +00:00
Frank Dellaert
ff12101945
serialization
2009-09-07 04:19:03 +00:00
Frank Dellaert
5ca7ab9053
equals
2009-09-07 03:35:32 +00:00
Frank Dellaert
ff9a89c81b
unit tests in meter
2009-09-05 20:35:09 +00:00
Frank Dellaert
482d7fe73f
exposed two internal functions
2009-09-04 14:59:17 +00:00
Alireza Fathi
ba676a7a95
removed a printing thing
2009-09-03 18:11:26 +00:00
Alireza Fathi
214637cee9
fixed rodriguez in Rot3
2009-09-03 17:43:02 +00:00
Frank Dellaert
012437c573
keys now returns const references
2009-09-03 17:24:46 +00:00
Alireza Fathi
2357e8aefc
There was a serious mistake in rodriguez, instead of R was returning R'
2009-09-03 17:08:52 +00:00
Frank Dellaert
24c8242782
added print as virtual method
2009-09-03 16:51:31 +00:00
Kai Ni
0c590c513e
enable debug options
2009-09-03 15:15:20 +00:00
Frank Dellaert
5d41f5bdfa
Calibration load gone, now constructor takes path
2009-09-01 15:09:41 +00:00
Kai Ni
f7bcb8dad7
add comments
2009-09-01 03:45:37 +00:00
Kai Ni
07f940be57
add -g to unit tests
2009-09-01 03:32:11 +00:00
Frank Dellaert
92dbc8910e
correct serialization of base classes
...
moved all serialize functions to bottom of class declaration
2009-08-31 04:13:57 +00:00
Frank Dellaert
c69d8d9b36
Factor Graph serialization, and renaming of factors -> factors_
2009-08-31 02:40:26 +00:00
Manohar Paluri
00fd3cebcf
changed const string to const string & in load
2009-08-30 21:49:48 +00:00
Manohar Paluri
adabafa9f0
changed load function argument to const
2009-08-30 06:34:43 +00:00
Frank Dellaert
34d80b6a2b
moved some implementations to cpp to avoid some weird conflict involving stack
2009-08-30 04:51:46 +00:00
Frank Dellaert
6311dd0147
SimpleCamera::level now works
2009-08-29 07:39:20 +00:00
Frank Dellaert
179b5c09ae
static members for creating "level" cameras as we find on idealized robots
2009-08-29 06:54:10 +00:00
Frank Dellaert
5eb9a4d182
More efficient transform_to using unrotate
2009-08-29 04:10:52 +00:00
Frank Dellaert
3432b6c50f
new Pose2 class
2009-08-29 01:24:26 +00:00
Frank Dellaert
6e23d61221
Formatting, and moved print to cpp.
2009-08-29 01:22:40 +00:00
Frank Dellaert
ea0e16caf5
Formatting only
2009-08-29 01:22:37 +00:00
Frank Dellaert
8d54086f92
const begin and end
2009-08-28 20:06:29 +00:00
Manohar Paluri
fe8870a5f0
changed functions begin, end and get_names to const
2009-08-28 15:38:27 +00:00
Manohar Paluri
e2a05b37d8
changed parameter to const in function eq_combine_and_eliminate
2009-08-28 15:15:05 +00:00
Manohar Paluri
1ce50a8258
changed get_delta to const ( using find operator of a map instead of [] )
2009-08-28 14:55:33 +00:00
Manohar Paluri
017ad6a66f
error checking for find operation on map
2009-08-28 14:35:02 +00:00
Manohar Paluri
b530c97b08
error checking for find operation on map
2009-08-28 14:33:19 +00:00
Manohar Paluri
630bc9144f
changed get and operator functions to const ( using find operator of a map instead of [] )
2009-08-27 20:04:10 +00:00
Manohar Paluri
b70f081ebc
changed optimize functions to const ( using find operator of a map instead of [] )
2009-08-27 02:00:26 +00:00
Frank Dellaert
af6d98253f
solve is now const
2009-08-27 01:23:05 +00:00
Manohar Paluri
6a3d64c896
Added const verifiers for member functions of the class which are compatible
2009-08-26 18:04:52 +00:00
Manohar Paluri
0b1b5eca67
Added const verifiers for member functions of the class which are compatible
2009-08-26 15:25:47 +00:00
Alex Cunningham
725f5624c3
Added Serialization to Cal3_S2
2009-08-25 14:58:40 +00:00
Frank Dellaert
6e35e34ee4
const return value does not make sense for anything but references
2009-08-25 02:36:30 +00:00
Kai Ni
b8a5501670
A much more clean fix for colamd and cppunitlite compilation problem.
2009-08-24 21:55:36 +00:00
Kai Ni
f6da0bf0cb
fix include files not installed problem
2009-08-24 20:06:42 +00:00
Frank Dellaert
72fbc569a5
const correctness for combine (it is not const but takes a const argument)
2009-08-24 16:54:22 +00:00
Frank Dellaert
6dd31fd8c3
getOrdering is const !!!! It matters !
2009-08-23 06:56:54 +00:00
Frank Dellaert
fd11a1e2c7
Changed setBCN to take a reference
2009-08-22 22:01:17 +00:00
Kai Ni
5780b39816
Complete - # 3: Fix gtsam colamd problem
...
http://trac.research.cc.gatech.edu/borg/ticket/3
2009-08-22 07:00:11 +00:00
Richard Roberts
d80fa24a9f
Fixing directory structure
2009-08-21 22:23:24 +00:00