Commit Graph

332 Commits (db0d7286c29a7af202cb68446f01c01a62345b90)

Author SHA1 Message Date
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