Frank Dellaert
26246188af
Added planar graph to timing script
2010-01-16 04:46:35 +00:00
Frank Dellaert
a4ed0a191d
Forgotten header numericalDerivative.h
2010-01-16 04:22:41 +00:00
Chris Beall
a956c1a8be
svn restored from 1733.
...
this commit updates gtsam to version 1774, which now appears as 1734.
2010-01-16 01:16:59 +00:00
Frank Dellaert
e7bf219498
removed .cpp
2010-01-14 15:31:58 +00:00
Kai Ni
e1388c0f0d
add Ordering-inl.h
2010-01-14 07:56:03 +00:00
Frank Dellaert
dd697a838d
added TupleConfig.h as header
2010-01-14 06:20:34 +00:00
Frank Dellaert
df62213619
RangeFactor works
2010-01-14 06:00:17 +00:00
Richard Roberts
8562c00a52
Explicit instantiation to fix link error on Linux, also header to install that was missing from Makefile.am
2010-01-14 05:01:40 +00:00
Richard Roberts
ac10c440e1
PairConfig is implemented, VSLAMConfig is now a typedef!
2010-01-14 02:58:29 +00:00
Frank Dellaert
6b3e8cf49c
simulated2D now reduced to one .h and .cpp, in its own namespace, better naming, and new-style functions to serve as example
2010-01-14 02:50:06 +00:00
Frank Dellaert
93465945e9
Large gtsam refactoring
...
To support faster development *and* better performance Richard and I pushed through a large refactoring of NonlinearFactors.
The following are the biggest changes:
1) NonLinearFactor1 and NonLinearFactor2 are now templated on Config, Key type, and X type, where X is the argument to the measurement function.
2) The measurement itself is no longer kept in the nonlinear factor. Instead, a derived class (see testVSLAMFactor, testNonlinearEquality, testPose3Factor etc...) has to implement a function to compute the errors, "evaluateErrors". Instead of (h(x)-z), it needs to return (z-h(x)), so Ax-b is an approximation of the error. IMPORTANT: evaluateErrors needs - if asked - *combine* the calculation of the function value h(x) and the derivatives dh(x)/dx. This was a major performance issue. To do this, boost::optional<Matrix&> arguments are provided, and tin EvaluateErrors you just says something like
if (H) *H = Matrix_(3,6,....);
3) We are no longer using int or strings for nonlinear factors. Instead, the preferred key type is now Symbol, defined in Key.h. This is both fast and cool: you can construct it from an int, and cast it to a strong. It also does type checking: a Symbol<Pose3,'x'> will not match a Symbol<Pose2,'x'>
4) minor: take a look at LieConfig.h: it help you avoid writing a lot of code bu automatically creating configs for a certain type. See e.g. Pose3Config.h. A "double" LieConfig is on the way - Thanks Richard and Manohar !
2010-01-13 22:25:03 +00:00
Kai Ni
4369cd2d92
1) add a compose function that compose all the poses in a factor graph given the spanning tree
...
2) add a new graph-inl.h which takes care of all the boost graph related functions to prevent the copy and paste across several classes
2010-01-12 16:12:25 +00:00
Frank Dellaert
fcb7c024a7
bearing functions and derivatives
2010-01-12 02:10:42 +00:00
Frank Dellaert
d11b2e6bd5
Added omitted headers
2010-01-10 18:37:55 +00:00
Richard Roberts
88ae5380a8
Removed Vector-specific versions of NumericalDerivative, instead Vector is now a Lie object
2010-01-10 18:23:47 +00:00
Frank Dellaert
1a96ef41cf
Created Pose3Config, Pose3Graph, and tested loop closure optimization.
2010-01-10 18:21:20 +00:00
Frank Dellaert
65e4dc1342
pose2Circle
2010-01-10 15:46:18 +00:00
Richard Roberts
4fa53a1f79
Merging lieconfig branch - LieConfig works but currently requires Lie objects to have a global print function.
2010-01-10 06:35:16 +00:00
Richard Roberts
2b82ff65e7
Deriving Lie objects from a base class Lie<T>, which provides member functions to access global functions, for use in MATLAB.
2010-01-09 23:15:06 +00:00
Frank Dellaert
5dc237eeea
BetweenFactor is a template that models the measurement between two Lie types e.g. Pose2 or Pose3. Pose2Factor and Pose3Factor are now simply typedefs.
2010-01-08 15:32:45 +00:00
Richard Roberts
19a3e228d7
Large refactoring - made several Lie group functions global, which used to be member functions, to treat Lie groups more uniformly. Also created Lie.h, and a preprocessor flag in numericalDerivative to change the coordinate frame derivatives are reported in. gtsam and easylib build and pass unit tests, but this will probably break other projects, which will require a few small changes to work again. Email coming in a few minutes to describe the changes.
2010-01-08 00:40:17 +00:00
Alex Cunningham
20c6f29823
Moved control-related components to separate library
2010-01-06 20:01:34 +00:00
Kai Ni
cade0e7780
fix timing test linking problem by using noinst_PROGRAMS
2010-01-03 00:23:16 +00:00
Manohar Paluri
68159fb5e4
corrected SubgraphPreconditioner case
2010-01-02 20:24:59 +00:00
Frank Dellaert
f82b46f96c
Sped up rodriguez and replaced slow implementation with call to fast implementation. Also moved some functions to cpp.
2010-01-02 14:28:18 +00:00
Frank Dellaert
a1c55b9f62
Updated Pose2Config to expected coding standard
2010-01-02 10:33:33 +00:00
Frank Dellaert
ff06cd757f
moved all "Urban" factors and tests to (cmake-based) CitySLAM project
2009-12-31 16:54:23 +00:00
Frank Dellaert
a1d14ba2ae
Added Bayes Net and Subgraph preconditioners to gtsam (developed in CitySLAM project)
2009-12-31 12:56:47 +00:00
Richard Roberts
0b9451bc4b
Initializing libtool correctly in gtsam (see email to frankcvs with same subject)
2009-12-29 20:01:38 +00:00
Michael Kaess
75ab62a729
ISAM2 (nonlinear ISAM) partially there, unit test currently disabled
2009-12-29 05:57:05 +00:00
Frank Dellaert
0c0b73042b
template now exposed in iterative.h, and has its own implementation file
2009-12-28 16:26:16 +00:00
Frank Dellaert
863ee58c0f
new iterative.h/cpp compilation unit
2009-12-28 09:56:58 +00:00
Frank Dellaert
d9fd502656
moved CG tests from testGFG to testIterative
2009-12-28 09:44:30 +00:00
Michael Kaess
5dfd1921e1
template nightmare resolved, all tests working
2009-12-27 23:15:36 +00:00
Frank Dellaert
7d1428de60
Added Errors class and operator* for GaussianFactor and GaussianFactorGraph. Also moved a few functions to cpp.
2009-12-26 22:48:41 +00:00
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