Commit Graph

688 Commits (59c7ce7e295abe1cb1cc7d3c60e14c934b62c46c)

Author SHA1 Message Date
Frank Dellaert 7dfc67860c unit tests for new Urban* classes 2009-12-18 01:24:28 +00:00
Alex Cunningham d75a602546 Removed failed test testSQPOptimizer 2009-12-18 01:24:19 +00:00
Richard Roberts ff817551de Added FactorGraph::replace(index, factor) to replace one factor with another (used in FrameSLAM). 2009-12-18 00:13:38 +00:00
Richard Roberts 3c0ae0ec1c Math fix in linearize() and error_vector() 2009-12-18 00:10:20 +00:00
Richard Roberts 7161878285 Small changes: standardized constructors, added log() and unit tests, removed +,- ops, angle() changed to theta(), print functions 2009-12-18 00:09:54 +00:00
Viorela Ila d61d92c0e7 UrbanGraph class and testUrbanGraph TODOs 2009-12-17 21:23:50 +00:00
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