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
32beb8c712
more refactoring, use different Rot3 constructor so no confusion
2010-03-02 06:16:11 +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
619190a818
new-style combined unrotate
2010-03-01 01:36:27 +00:00
Frank Dellaert
98aa08bcd0
Re-use memory
2010-02-28 09:09:37 +00:00
Richard Roberts
b82d054aaa
Definitions of Lie::between, Pose2::compose, expmap, and derivatives were not correct. Fixed, but changes some behavior (iSAM and CitySLAM already fixed), will send email about this change.
2010-01-26 20:00:17 +00:00
justinca
7575996d52
Remove leftover commented out unused code
2010-01-21 19:49:36 +00:00
justinca
f89a53ed91
Bugfix in Rot3::logmap. The function checked for a trace of 3, but the check could fail due to rounding errors, causing the function to try to take acos(something larger than 1) resulting in NaNs being returned.
2010-01-21 19:49:12 +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
aa2aa4149c
Special case for trace==1 in Rot3 logmap
2010-01-10 23:36:37 +00:00
Frank Dellaert
30367e35fb
Much faster compund rotation using Justin's (indeed correct) formula
2010-01-10 12:25:46 +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
6851b31fad
Added static methods to construct rotations, coded up convention for yaw-pitch-roll, modernized RQ
2010-01-09 00:03:47 +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
b20ed42134
log and between
2010-01-06 19:29:41 +00:00
Frank Dellaert
f77da96caf
Modernized and tested RQ and added Rot3::ypr. Note this yaw-pitch-roll is different from ML version, which is focused on cameras. Let the fun begin...
2010-01-06 15:52:43 +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
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
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
Kai Ni
354f9de64e
fixed round off error in Rot3.rodriguez
2009-09-16 02:20:57 +00:00
Alireza Fathi
ba676a7a95
removed a printing thing
2009-09-03 18:11:26 +00:00
Alireza Fathi
214637cee9
fixed rodriguez in Rot3
2009-09-03 17:43:02 +00:00
Alireza Fathi
2357e8aefc
There was a serious mistake in rodriguez, instead of R was returning R'
2009-09-03 17:08:52 +00:00
Richard Roberts
d80fa24a9f
Fixing directory structure
2009-08-21 22:23:24 +00:00