Commit Graph

18544 Commits (f2ac38fbfbbfa37ec41523bd0231ab9b0f8eea68)

Author SHA1 Message Date
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
Frank Dellaert 41c1d7a898 no more FGConfig 2009-10-22 05:00:24 +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 82d541f6a3 Fixed wrapper problem
This was because VectorConfig was parsed as Vector. Just changing the order of the parsers fixed this.
2009-10-17 04:29:14 +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
Kai Ni 53b4f8906b make incremental optimization function return poses for unit test purpose 2009-09-14 06:40:53 +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