Varun Agrawal
5fb7229fa6
Moved normalize next to ClosestTo and add more docs
2020-10-05 22:28:27 -04:00
Varun Agrawal
2e1cc3ca35
normalized needs to be called explicitly
2020-10-05 13:25:30 -04:00
Varun Agrawal
06ac627249
added normalize function to orthogonalize the rotation after composition
2020-10-04 19:55:08 -04:00
Christian Berg
62098fb584
Added Jacobians for Rot3::RzRyRx and related named constructors
2020-08-30 18:51:43 +02:00
Varun Agrawal
b058adc675
remove const from return types for Rot3
2020-03-20 17:50:34 -04:00
Varun Agrawal
c96300a7c6
added const to matrix() function for Rot3 to be consistent with SOn and added note about using Eigen transpose expression
2020-03-19 12:04:32 -04:00
Varun Agrawal
dec918c3d5
undo return type of Eigen::Transpose, and add back TODO to optimize RPY
2020-03-18 19:25:31 -04:00
Varun Agrawal
e987cb53a0
Lots of improvements to Rot3
...
- Ensure axis in AxisAngle constructor is a unit vector. Added test.
- Improved rotation inverse with support for quaternions.
- Use Eigen::Transpose for transpose return type.
- Roll/Pitch/Yaw is more efficient.
- Fix/Remove old TODOs.
2020-03-17 14:00:27 -04:00
Frank Dellaert
06952cd83b
Full enchilada: SO3 is now SO<3>
2019-10-01 14:04:09 -04:00
Frank
0372a959ee
Many small improvements, bug-fixes, and tests
2016-02-24 11:01:19 -08:00
Frank
0a7fd27f28
Working on getting a simple typedef to compile - as well as dealing with Point3() now creating uninitialized memory.
2016-02-10 17:48:52 -08:00
Frank Dellaert
6eece9cc60
Quaternion now also uppercase
2016-01-26 23:57:34 -08:00
Duy-Nguyen Ta
d566946600
fix Rot3 constructor from a matrix. Revert to the generic template version, but provide a overload version for Matrix3 to avoid casting.
2015-09-21 10:26:43 -04:00
Duy-Nguyen Ta
bc99c58226
fix Rot3-from-Matrix construction for Quaternion case
2015-09-17 17:44:00 -04:00
dellaert
205d20d4dc
Rot3 action on Vector3, and templated constructor
2015-07-21 11:22:49 -07:00
dellaert
a56c6e728b
Small refactor
2015-07-19 23:39:44 -07:00
Frank Dellaert
4342aa5901
Renamed rodriguez variants to preoper naming convention (uppercase for static) and spelling (Rodrigues). Also, now call Expmap in either SO3 or Quaternion.
2015-07-05 15:38:54 -07:00
dellaert
f16aa20ff4
Now just calling SO3 versions of Expmap/Logmap
2015-02-10 20:16:37 +01:00
dellaert
9955610ea4
Back to compile flags
2014-12-26 00:19:59 +01:00
dellaert
8191ad5078
Rot3 modernization: now derives from LieGroup, SLOW_CAYLEY is gone, retract and localCoordinates auto-generated so no more flag. Might re-add instance-based expmap and logmap in LieGroup for convenienece.
2014-12-24 17:43:38 +01:00
dellaert
78386ad144
Merge ExmapeDerivative/LogmapDerivative changes from 'origin/develop' into feature/tighteningTraits
...
Conflicts:
gtsam/base/LieScalar.h
gtsam/geometry/Point2.h
gtsam/geometry/Point3.h
gtsam/geometry/Rot3.h
gtsam/geometry/Rot3M.cpp
gtsam/geometry/Rot3Q.cpp
gtsam/geometry/tests/testRot3.cpp
2014-12-24 13:55:15 +01:00
dellaert
e0a767e7fd
Renamed all dexpL/dexpInvL, merged Luca/Duy versions in Rot3
2014-12-24 12:25:53 +01:00
dellaert
c6ae119414
Tightened what is needed for Lie, i.e., fewer versions of retract/localCoordinates
2014-12-22 23:42:52 +01:00
dellaert
06c3696176
Fixed more problems so everything compiles now after splitting up concepts into Group/Manifold/Lie/VectorSpace. Still 25 tests that fail.
2014-12-22 02:52:31 +01:00
Mike Bosse
263d4e163c
more progress, need to fix testSO3.cpp and testManifold.cpp
2014-12-17 22:53:56 +01:00
Luca
b3f0f3877c
capitalized ExpmapDerivative and LogmapDerivative
2014-12-10 16:16:29 -05:00
Luca
bf8de1341b
Merge branch 'develop'
2014-12-09 17:13:30 -05:00
Luca
e82b815a48
renamed right jacobian of expmap and logmap (removed "right", according to Frank's suggestion :-)
2014-12-09 17:10:04 -05:00
Luca
422db08c69
included Jacobian for logmap and expmap, with unit tests (Note: only implemented for Rot3M, this will not work in quaternion mode)
2014-12-08 12:31:02 -05:00
nsrinivasan7
bd6f210b87
changed << to =. gives error because range() was removed from PinholeCamera.h ?
2014-12-04 09:36:00 -05:00
Natesh Srinivasan
aad0b2876b
Changed Matrix.h to correct return values amd impleemnted rectangular matrix types.
...
Also changed block operations to <<
2014-12-03 15:16:55 -05:00
nsrinivasan7
7116661a2e
changed naming convention of const matrices to _DxD. @dellaert
2014-12-03 10:58:09 -05:00
Natesh Srinivasan
4e557d38e6
updated Matrix.h with commonly used matrices.
2014-12-03 09:59:10 -05:00
nsrinivasan7
595afb51fe
fixed Rot3(). @dellaert, I will do the '->', Identity(), setZero() etc . once I am fully done with geometry.
2014-12-01 18:20:03 -05:00
dellaert
6505e602d8
FixedRef is now OptionalJacobian
2014-11-28 17:14:26 +01:00
dellaert
1e4905ef04
Now use new FixedRef type in all methods that I used fixed-sized matrices in to develop Expressions. All copy/paste bloat is now gone, and boost::none arguments are back.
2014-11-28 01:56:28 +01:00
dellaert
cfe56a0aa8
Removed transpose_. It did speed up things but was bad design. Will need to profile again and find different ways to cope with transpose() overhead. One way is to return a Eigen::Transpose<> object as hinted to in comments.
2014-10-23 19:13:37 +02:00
dellaert
483d713859
unrotate is same now, with transpose_
2014-10-22 22:16:35 +02:00
dellaert
1061a66fc1
Speeding up localCoordinates
2014-10-22 13:45:57 +02:00
dellaert
5bcc3d922c
Just always store transpose? Problem with optional was that the *empty* optional was copied from the Values, so we gained nothing.
...
However, this is expensive space-wise (double), and optimizes for a particular usage of Rot3, so does not seem good practice (see stack overflow discussion, as well). But the alternative is cumbersome.
2014-10-15 14:28:47 +02:00
dellaert
c4bf680e96
Cached Rot3::transpose(). Inspired by @cbeall3 fix of Unit3, I realized that with one million points and 1000 cameras, the same Matrix3 (R_.transpose()) was computed a 1000 more times than needed. Especially with quaternions this would be expensive, even with Rot3Q.
2014-10-15 11:51:41 +02:00
dellaert
b704b7b1a1
Faster versions
2014-10-07 19:34:45 +02:00
dellaert
ea40de6758
Fixed Jacobian versions
2014-10-06 21:37:05 +02:00
Andrew Melim
5bc4810dcb
Correcting bug fixes for Visual Studio. See bb issues #115,116,118 for more information
2014-09-08 15:19:54 -04:00
Richard Roberts
686051c032
Convert DOS line endings to UNIX
2014-01-09 16:39:27 -05:00
Frank Dellaert
f54861f851
Made it more clear that Rotation constructor takes columns.
2014-01-03 15:56:45 -05:00
Frank Dellaert
bd3126f7b4
Merged changes from the trunk back into geometry. This triggered Eigen merge, as well as Vector/Matrix in base. Next up: slam, unstable.
...
git-svn-id: https://svn.cc.gatech.edu/borg/gtsam/branches/2.4@20422 898a188c-9671-0410-8e00-e3fd810bbb7f
2013-12-21 18:34:23 -05:00
Duy-Nguyen Ta
6959ad5e6f
Fix error when wrapping a library using Rot3 to matlab: "type stored... is N5gtsam4Rot3E but requested type was N5gtsam4Rot3E", because gtsam is linked 2 times: one with the library, one with the mex, and somehow Rot3 is not virtual and exists in both. Moving print implementation to cpp seems to fix this problem.
2013-08-08 08:51:52 +00:00
Duy-Nguyen Ta
6bf6cc8bdd
Point3 and Rot3 dexpInvL
2013-08-06 16:26:35 +00:00
Duy-Nguyen Ta
bcae0afd31
Putting sub matrices along the diagonal of a big matrix. dexpL for Rot3 and Point3
2013-08-06 14:24:10 +00:00