Michael Kaess
80ff7e6d26
uncommented urban In Makefile.am as it prevents linking; added Pose2Prior; ISAM2/planar now working
2009-12-24 23:44:08 +00:00
Frank Dellaert
b14094cb1f
testUrbanOdometry
2009-12-18 07:15:19 +00:00
Frank Dellaert
cf1fde7bda
UrbanFactor, UrbanGraph.cpp, template instantiations
2009-12-18 02:27:50 +00:00
Frank Dellaert
7dfc67860c
unit tests for new Urban* classes
2009-12-18 01:24:28 +00:00
Viorela Ila
d61d92c0e7
UrbanGraph class and testUrbanGraph TODOs
2009-12-17 21:23:50 +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
Viorela Ila
072dea81b0
rename Pose2Constraint using Pose2Factor
2009-12-09 23:43:01 +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
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
Viorela Ila
b87aa58c1f
add Pose2Constraint class
2009-12-09 17:29:43 +00:00
Manohar Paluri
60a3a21d5a
Binary Bayes Net, incomplete
2009-12-06 21:46:46 +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
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
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
0b333630e7
Added an SQPOptimizer class with accompanying test - currently doesn't do much
2009-11-23 19:57:35 +00:00
Michael Kaess
7d384488e3
BayesTree::update generalized and moved from testIncremental to BayesTree; testIncremental removed
2009-11-22 23:35:13 +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
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
Alex Cunningham
f98f49381a
Added an example to testSQP to use for combining graphs
2009-11-18 21:57:59 +00:00
Michael Kaess
f56bf8c79f
added missing include to satisfy stricter compiler; added isam test file
2009-11-17 21:47:42 +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
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
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
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
c85f5445db
Re-organized makefile
2009-11-12 04:54:31 +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
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
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
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
cefeca149b
Moved template definitions to BayesTree-inl.h
2009-10-30 13:03:38 +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
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
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
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
4d9ff77249
moved timing example here from EasySLAM
2009-10-27 13:34:36 +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
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
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
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
Kai Ni
0c590c513e
enable debug options
2009-09-03 15:15:20 +00:00