Commit Graph

23 Commits (e8979dafad1c8a3ffb0dce539c9b33caf1b565d0)

Author SHA1 Message Date
Alex Cunningham fa954ab55e Added version of transform_from and transform_to to Pose3 with optional derivatives 2010-05-18 14:51:09 +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
Yong-Dian Jian 43df7375c0 add helper functions 2010-03-05 00:55:36 +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 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 1093317fdc wedge 2010-03-02 02:25:27 +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
Frank Dellaert 696be0d0c1 RETURN CONST REFERENCES WHERE YOU CAN and some inlining 2010-02-24 06:14:43 +00:00
Frank Dellaert 3c9c8bcfe5 Pose2Prior is now a typedef, improved some derivatives 2010-01-16 16:46:57 +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
Richard Roberts 1dcc864d97 Comment cleanup to /** style and adding global print functions 2010-01-10 22:41:23 +00:00
Frank Dellaert 43b2facd10 Now Pose3Config == LieConfig 2010-01-10 14:59:39 +00:00
Frank Dellaert d5eade62ef Moved expmap and logmap to .cpp, also tested correct "Agrawal06iros" versions, and they are indeed correct (see testPose3). 2010-01-10 12:24:31 +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
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
Frank Dellaert ac72d1cc22 renamed transformPose_to to transform_to, composeTransform to compose, and changed nr. of arguments of Dtransform_to2 (to two) 2009-12-18 05:36:53 +00:00
Viorela Ila d61d92c0e7 UrbanGraph class and testUrbanGraph TODOs 2009-12-17 21:23:50 +00:00
Brian Law 11f0d04cb6 made all classes that currently have an assert_equal "Testable"
- derive from testable as in class Point2 : Testable<Point2>
- moved print and equal declarations in .h right after the constructor
- similarly, moved implementations after constructors in .cpp file
- removed obsolete assert_equal
2009-10-26 19:26:51 +00:00
Frank Dellaert d5dc9ab9d1 Composition is faster, composeTransform is trivial (and should probably go) 2009-09-14 04:38:17 +00:00
Frank Dellaert 34d80b6a2b moved some implementations to cpp to avoid some weird conflict involving stack 2009-08-30 04:51:46 +00:00
Frank Dellaert ea0e16caf5 Formatting only 2009-08-29 01:22:37 +00:00
Manohar Paluri 6a3d64c896 Added const verifiers for member functions of the class which are compatible 2009-08-26 18:04:52 +00:00
Richard Roberts d80fa24a9f Fixing directory structure 2009-08-21 22:23:24 +00:00