Kai Ni
c343cf403e
make BetweenFactor support two different keys
2010-03-31 17:43:52 +00:00
Kai Ni
1483de5479
mute the messages that has no verbosity level checking
2010-03-31 17:43:28 +00:00
Kai Ni
a647c84c16
added splitMinimumSpanningTree that uses DSF
2010-03-30 07:27:10 +00:00
Kai Ni
cc2e42aa15
added DSF
2010-03-27 06:05:06 +00:00
Kai Ni
81b6f5975b
added unit tests
2010-03-24 02:20:54 +00:00
Kai Ni
6c198809af
fixed the warnings caused by the initialization order
2010-03-19 20:32:19 +00:00
Kai Ni
62d24a8d48
add backproject
2010-03-19 08:32:55 +00:00
Kai Ni
b895760404
reenable veclib include path
2010-03-17 18:03:54 +00:00
Alex Cunningham
0a48b45b12
Added insertSub() to tupleconfig to allow the insertion of a subtype of config at once.
2010-03-17 16:24:22 +00:00
Alex Cunningham
1f6990635c
removed gsl code, fixed flags for inclusion of blas
2010-03-17 13:23:01 +00:00
Alex Cunningham
b8167a1788
Changed blas inclusion to be smarter about what os is used, removed old GSL code
2010-03-17 13:19:48 +00:00
Kai Ni
d5262135f4
1. to link with mac veclib, the compiler needs -DYA_BLAS, I changed matrix.cpp to handle both YA_BLAS and the linux's CBLAS flag
...
2. so the current plan is that linux just enables USE_BLAS_LINUX in configure.ac, and macos enables USE_BLAS_MACOS. Those two should be independent given USE_BLAS passed by the user when calling configure.
2010-03-16 21:16:36 +00:00
Alex Cunningham
276c027ef3
Added mechanism to check for blas functionality.
2010-03-16 13:06:24 +00:00
Alex Cunningham
ae98bb72fe
Added define for CBLAS to the mac version so that blas functions are actually used
2010-03-16 12:51:05 +00:00
Kai Ni
5b86f2777b
added USE_BLAS_MACOS and changed old USE_BLAS to USE_BLAS_LINUX to make ublas compilable on mac
2010-03-15 20:10:36 +00:00
Kai Ni
942893ebca
move trylambda before printing all the configs
2010-03-15 18:38:08 +00:00
Alex Cunningham
a1273a91fc
Integrated blas into gtsam using autotools
2010-03-15 18:17:43 +00:00
Alex Cunningham
3a5aeeeb0d
added test for insert function in TupleConfig that takes other configs
2010-03-15 16:34:40 +00:00
Frank Dellaert
503fe46306
changed template argument names
2010-03-12 22:00:55 +00:00
Frank Dellaert
10af1930bb
Eiffel datasets
2010-03-12 21:56:14 +00:00
Frank Dellaert
00ac961c8a
I changed the name of SubgraphPCG to SubgraphSolver and put it in its own compilation unit
2010-03-12 19:19:21 +00:00
Frank Dellaert
f217a5bd8a
I reverted back to the old expmap in Pose3 :-( It does not work well for Urban, and now it turns out Yong-Dian has problems, too. It seems there is still something that we do not quite understand about the whole Lie group optimization business. If you want to run with the new expmap, define CORRECT_POSE3_EXPMAP
2010-03-12 19:16:53 +00:00
Frank Dellaert
91f020fee1
fixed namespaces
2010-03-12 18:52:04 +00:00
Manohar Paluri
a4c769fddc
Added serialization to Pose2
2010-03-12 14:20:29 +00:00
Frank Dellaert
26304b749a
MAJOR: I made the correct Pose3 expmap the default. It turns out that all but the transform_to derivatives were in fact correct (and I fixed transform_to based on new math in math.lyx), but there was still a wrong expmap and logmap in the header file that I forgot about. I now moved those the te cpp file. The new code, which executes a correct "screw motion" for the exponential map, is now linked in by default. If you want the old, incorrect behavior, configure with FASTER_BUT_INCORRECT_EXPMAP defined. Note that the old code is faster per expmap, but *converges* faster (and to a deeper minimum) and hence is faster overall in many cases.
2010-03-11 21:52:24 +00:00
Frank Dellaert
1cba03a490
Always do BOOST_FOREACH with a reference if you can! In this case, made a noticeable difference in performance by avoiding hundreds of thousands of mallocs.
2010-03-11 21:40:56 +00:00
Frank Dellaert
67fb7fa9ff
in-place house vector (was about 10% of all mallocs in Urban)
2010-03-11 15:04:31 +00:00
Richard Roberts
cf28e3ab04
Removed unused TupleConfigEnd global expmap and logmap as they were causing function resolution problems
2010-03-10 16:30:00 +00:00
Richard Roberts
d149afbec2
Adding lambdaMode flag - defaults to BOUNDED (bounds lambda at 1e5), CAUTIOUS is currently broken.
2010-03-10 16:27:38 +00:00
Frank Dellaert
fb1396d1c3
zero method
2010-03-10 00:21:01 +00:00
Frank Dellaert
e10938688e
removed dim_ (which was buggy) and added zero
2010-03-10 00:20:12 +00:00
Kai Ni
266ad062fe
added empty method
2010-03-09 22:26:24 +00:00
Manohar Paluri
fd863fa7ac
added calibrate function which transforms image coordinates to intrinsic coordinates and added a unit test to check the validity
2010-03-09 22:23:33 +00:00
Viorela Ila
bfd5b5ab5d
remove tree files
2010-03-08 20:35:35 +00:00
Richard Roberts
9aa76cfcbd
0-based index bug fix
2010-03-08 18:45:22 +00:00
Yong-Dian Jian
536dfd5ea1
fix calibrated camera
2010-03-08 15:43:35 +00:00
Richard Roberts
74f8102d29
Fixed warnings
2010-03-08 14:06:07 +00:00
Frank Dellaert
d478767d4d
righ-hand-side
2010-03-08 03:56:49 +00:00
Frank Dellaert
920d86ce35
Both GaussNewton and LM now exit immediately if initial error<absoluteThreshold, and pront out a messsage saying that if verbisty>=ERROR
2010-03-07 17:51:46 +00:00
Manohar Paluri
e9ea8b426a
fixed a bug in equals
2010-03-07 06:29:23 +00:00
Manohar Paluri
9b93731ed9
removed caching of size and dim in PairConfig as it was buggy
2010-03-07 06:16:49 +00:00
Frank Dellaert
2f72d585c5
be a bit more verbose
2010-03-07 00:10:02 +00:00
Alex Cunningham
3e2924a5bf
Uncommented some testSQP tests, which do work
2010-03-06 22:51:03 +00:00
Alex Cunningham
7c3dbf164e
Fixed bug in ternary functions
2010-03-06 17:27:01 +00:00
Alex Cunningham
294c7d806e
Changed Doxyfile to make graphviz images - needs to have graphviz installed
2010-03-06 02:43:21 +00:00
Alex Cunningham
3cf36f4aee
Added remaining terms for derivatives of ternary factors
2010-03-05 22:27:57 +00:00
Frank Dellaert
0eed38c7a0
VisualSLAM Graph is now a class and has convenience functions. These function as documentation (autocompletion and the like) and I think we should also have this style in addition to the generic add.
2010-03-05 15:48:01 +00:00
Frank Dellaert
5ef0400e06
put Factorization class in its own file, and added checks in constructors that take shared pointers, so we get some more meaningful output rather than *segmentation error*
2010-03-05 15:09:09 +00:00
Viorela Ila
fccbaa2d6f
right folders
2010-03-05 05:41:21 +00:00
Frank Dellaert
45b2eef13f
Adjoint
2010-03-05 03:02:23 +00:00
Viorela Ila
abf7758374
now datasets are in CitySALM/data/XXXX/xxxx.graph
2010-03-05 02:58:59 +00:00
Yong-Dian Jian
43df7375c0
add helper functions
2010-03-05 00:55:36 +00:00
Kai Ni
d0d2aa8aee
added erase method
2010-03-04 23:39:36 +00:00
Alex Cunningham
d6c2b415a5
Added a check to NonlinearOptimizer to short circuit optimization if the initial error is below the absolute threshold.
2010-03-04 22:46:27 +00:00
Alex Cunningham
4ae9b72a35
Commented marginalGaussian() due to compile error
2010-03-04 22:40:01 +00:00
Richard Roberts
5f8b0e9341
Added marginalGaussian to get a marginal on a single variable from a GaussianFactorGraph
2010-03-04 22:03:40 +00:00
Alex Cunningham
badc7b6ee6
Added keys() function to LieConfig to return an ordered list of keys
2010-03-04 13:21:48 +00:00
Frank Dellaert
b9045528ee
no more normalize. in compose?
...
Also moved constructors around, one inline in h, others to cpp
2010-03-03 05:35:00 +00:00
Frank Dellaert
c9fcf95501
fixed some issues in SE(2) "branch"
2010-03-03 05:34:08 +00:00
Frank Dellaert
707627fb3a
Rot2 "named constructors" ( http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.8 ):
...
/** Named constructor from angle == exponential map at identity */
static Rot2 fromAngle(double theta) { return Rot2(cos(theta),sin(theta));}
/** Named constructor from cos(theta),sin(theta) pair, will *not* normalize! */
static Rot2 fromCosSin(double c, double s);
/** Named constructor that behaves as atan2, i.e., y,x order (!) and normalizes */
static Rot2 atan2(double y, double x);
which are a bit more verbose, but at least won't cause hours of bug-tracking :-(
I also made most compose, inverse, and rotate functions into methods, with the global functions mostly calling the methods. Methods have privileged access to members and hence are typically much more readable.
2010-03-03 03:31:53 +00:00
Frank Dellaert
85fe43949d
arithmetic tests
2010-03-03 02:50:49 +00:00
Frank Dellaert
eec6017b12
scalar multiplication
2010-03-03 02:49:06 +00:00
Kai Ni
23986349de
added measured function
2010-03-02 21:43:39 +00:00
Frank Dellaert
190e87afb9
Correct exmap is indeed correct, but derivatives *still* do not check out. I'm starting to suspect numericalDerivative.
2010-03-02 17:56:26 +00:00
Frank Dellaert
32beb8c712
more refactoring, use different Rot3 constructor so no confusion
2010-03-02 06:16:11 +00:00
Kai Ni
680a6a28c1
added begin and end iterators
2010-03-02 06:07:46 +00:00
Frank Dellaert
33c6c51658
refactored and thoroughly checked rodrgues, added two more unit test
2010-03-02 05:45:19 +00:00
Frank Dellaert
f956bae6a4
combined version only
2010-03-02 02:27:09 +00:00
Frank Dellaert
1093317fdc
wedge
2010-03-02 02:25:27 +00:00
Frank Dellaert
c62ebe3ea8
exponential map approximation
2010-03-02 02:24:38 +00:00
Alex Cunningham
20ac6b85c8
Added static dim() functions to remaining geometry types so that dimensions can be calculated on size alone.
2010-03-01 21:56:13 +00:00
Manohar Paluri
e670e00e3b
added const Tensor3expression
2010-03-01 18:08:18 +00:00
Manohar Paluri
8bf8e4dc1f
added operator() to change values
2010-03-01 18:07:18 +00:00
Manohar Paluri
6073bdb679
made the function const
2010-03-01 18:05:24 +00:00
Alex Cunningham
a46dc4cea0
Added threshold for lambda in NonlinearOptimizer so that if lambda has gotten unreasonably large, optimization will throw a runtime exception to prevent infinite loops where lambda goes to infinity.
2010-03-01 16:31:05 +00:00
Frank Dellaert
d9c185498e
combined a few arithmetic tests
2010-03-01 01:38:26 +00:00
Frank Dellaert
4cb59438f7
documentation
2010-03-01 01:37:50 +00:00
Frank Dellaert
619190a818
new-style combined unrotate
2010-03-01 01:36:27 +00:00
Frank Dellaert
20ad08e48f
new Pose3 derivatives still don't work :-(
2010-03-01 01:35:33 +00:00
Frank Dellaert
b943644ddd
re-factored so corresponds to math.lyx
2010-03-01 01:33:45 +00:00
Frank Dellaert
6e03783465
negation
2010-03-01 01:30:15 +00:00
Frank Dellaert
28f4493a2b
Now uses Adjoint map for derivatives of inverse/compose/between, see doc/math.pdf
2010-02-28 09:10:39 +00:00
Frank Dellaert
98aa08bcd0
Re-use memory
2010-02-28 09:09:37 +00:00
Frank Dellaert
85784400c6
prototype object map
2010-02-28 09:09:12 +00:00
Frank Dellaert
dcfe52dae7
some renaming of variables
2010-02-28 09:08:47 +00:00
Kai Ni
b58f7b8ea7
the derivative for transform_from
2010-02-28 08:51:43 +00:00
Kai Ni
d894e23a06
assert_equal for a list of matrices
2010-02-28 00:48:42 +00:00
Manohar Paluri
4604cbce05
svd now handles m < n cases. Added unit tests to verify this. But svd in place will throw an exception for such cases.
2010-02-27 18:23:34 +00:00
Frank Dellaert
5e00c58ea7
Baker–Campbell–Hausdorff formula: in non-commutative Lie groups, when composing exp(Z) = exp(X)exp(Y) it is not true that Z = X+Y. Instead, Z can be calculated using the BCH formula:
...
Z = X + Y + [X,Y]/2 + [X-Y,[X,Y]]/12 - [Y,[X,[X,Y]]]/24 + ...
See http://en.wikipedia.org/wiki/Baker–Campbell–Hausdorff_formula
2010-02-27 14:58:54 +00:00
Kai Ni
67b4834bdb
someone forgot to return it
2010-02-27 00:04:51 +00:00
Viorela Ila
b6599ebdce
readst the tree files
2010-02-26 22:23:00 +00:00
justinca
9941b28128
Fix matrix inverse square root so it, once again, returns an upper triangular matrix
2010-02-26 18:53:41 +00:00
Manohar Paluri
940202226b
added #pragma
2010-02-26 14:45:17 +00:00
Frank Dellaert
d21ff82d21
Kruskal skeleton
2010-02-26 13:31:38 +00:00
Kai Ni
87c8465315
the beautiful Jacobian of compose in pose2
2010-02-26 10:55:41 +00:00
Frank Dellaert
c40760485d
I think we might have a problem: is expmap<Pose2> correct? Uncomment the new test in testPose2. It does not match what is said in http://www.cis.upenn.edu/~cis610/cis610lie1.ps .
2010-02-26 06:00:58 +00:00
Frank Dellaert
0004d90feb
formatting only
2010-02-26 05:30:02 +00:00
Frank Dellaert
38ed1a5cdd
more compulsive checking, more efficient removing
2010-02-26 05:29:45 +00:00
Kai Ni
73848d9e0e
added comments to make people realize it is for the matlab wrapper not actually c++ implementation
2010-02-26 05:05:05 +00:00
Kai Ni
7e8aa6e6b9
add unit test for the constructor
2010-02-26 05:04:03 +00:00