Commit Graph

78 Commits (5fb7229fa67fd14b671611dc5b8daf21f5179342)

Author SHA1 Message Date
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