From 5270cd1d9cfae17772a1e23a97c7331717fa44cf Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Tue, 26 Feb 2013 20:50:17 +0000 Subject: [PATCH] Added documentation on order of elements in vectors (retract, localCoordinates, constructor, etc) in Rot3, Pose2, Pose3 --- gtsam/geometry/Pose2.h | 12 ++++++------ gtsam/geometry/Pose3.h | 12 ++++++------ gtsam/geometry/Rot3.h | 8 ++++---- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gtsam/geometry/Pose2.h b/gtsam/geometry/Pose2.h index 8c92a7839..6bbcfce20 100644 --- a/gtsam/geometry/Pose2.h +++ b/gtsam/geometry/Pose2.h @@ -85,7 +85,7 @@ public: /// @name Advanced Constructors /// @{ - /** Construct from canonical coordinates (Lie algebra) */ + /** Construct from canonical coordinates \f$ [T_x,T_y,\theta] \f$ (Lie algebra) */ Pose2(const Vector& v) { *this = Expmap(v); } @@ -138,25 +138,25 @@ public: /// Dimensionality of tangent space = 3 DOF inline size_t dim() const { return dimension; } - /// Retraction from R^3 to Pose2 manifold neighborhood around current pose + /// Retraction from R^3 \f$ [T_x,T_y,\theta] \f$ to Pose2 manifold neighborhood around current pose Pose2 retract(const Vector& v) const; - /// Local 3D coordinates of Pose2 manifold neighborhood around current pose + /// Local 3D coordinates \f$ [T_x,T_y,\theta] \f$ of Pose2 manifold neighborhood around current pose Vector localCoordinates(const Pose2& p2) const; /// @} /// @name Lie Group /// @{ - ///Exponential map at identity - create a rotation from canonical coordinates + ///Exponential map at identity - create a rotation from canonical coordinates \f$ [T_x,T_y,\theta] \f$ static Pose2 Expmap(const Vector& xi); - ///Log map at identity - return the canonical coordinates of this rotation + ///Log map at identity - return the canonical coordinates \f$ [T_x,T_y,\theta] \f$ of this rotation static Vector Logmap(const Pose2& p); /** * Calculate Adjoint map - * Ad_pose is 3*3 matrix that when applied to twist xi, returns Ad_pose(xi) + * Ad_pose is 3*3 matrix that when applied to twist xi \f$ [T_x,T_y,\theta] \f$, returns Ad_pose(xi) */ Matrix adjointMap() const; inline Vector adjoint(const Vector& xi) const { diff --git a/gtsam/geometry/Pose3.h b/gtsam/geometry/Pose3.h index 1f98925a7..0b92543a2 100644 --- a/gtsam/geometry/Pose3.h +++ b/gtsam/geometry/Pose3.h @@ -125,28 +125,28 @@ namespace gtsam { /// Dimensionality of the tangent space = 6 DOF size_t dim() const { return dimension; } - /// Retraction with fast first-order approximation to the exponential map + /// Retraction from R^6 \f$ [R_x,R_y,R_z,T_x,T_y,T_z] \f$ from R^ with fast first-order approximation to the exponential map Pose3 retractFirstOrder(const Vector& d) const; - /// Retraction from R^6 to Pose3 manifold neighborhood around current pose + /// Retraction from R^6 \f$ [R_x,R_y,R_z,T_x,T_y,T_z] \f$ to Pose3 manifold neighborhood around current pose Pose3 retract(const Vector& d, Pose3::CoordinatesMode mode = POSE3_DEFAULT_COORDINATES_MODE) const; - /// Local 6D coordinates of Pose3 manifold neighborhood around current pose + /// Local 6D coordinates \f$ [R_x,R_y,R_z,T_x,T_y,T_z] \f$ of Pose3 manifold neighborhood around current pose Vector6 localCoordinates(const Pose3& T2, Pose3::CoordinatesMode mode = POSE3_DEFAULT_COORDINATES_MODE) const; /// @} /// @name Lie Group /// @{ - /// Exponential map at identity - create a rotation from canonical coordinates + /// Exponential map at identity - create a rotation from canonical coordinates \f$ [R_x,R_y,R_z,T_x,T_y,T_z] \f$ static Pose3 Expmap(const Vector& xi); - /// Log map at identity - return the canonical coordinates of this rotation + /// Log map at identity - return the canonical coordinates \f$ [R_x,R_y,R_z,T_x,T_y,T_z] \f$ of this rotation static Vector6 Logmap(const Pose3& p); /** * Calculate Adjoint map - * Ad_pose is 6*6 matrix that when applied to twist xi, returns Ad_pose(xi) + * Ad_pose is 6*6 matrix that when applied to twist xi \f$ [R_x,R_y,R_z,T_x,T_y,T_z] \f$, returns Ad_pose(xi) */ Matrix6 adjointMap() const; /// FIXME Not tested - marked as incorrect Vector adjoint(const Vector& xi) const {return adjointMap()*xi; } /// FIXME Not tested - marked as incorrect diff --git a/gtsam/geometry/Rot3.h b/gtsam/geometry/Rot3.h index c1d65fae2..3f8e55c65 100644 --- a/gtsam/geometry/Rot3.h +++ b/gtsam/geometry/Rot3.h @@ -235,10 +235,10 @@ namespace gtsam { Rot3 retractCayley(const Vector& omega) const; #endif - /// Retraction from R^3 to Rot3 manifold neighborhood around current rotation + /// Retraction from R^3 \f$ [R_x,R_y,R_z] \f$ to Rot3 manifold neighborhood around current rotation Rot3 retract(const Vector& omega, Rot3::CoordinatesMode mode = ROT3_DEFAULT_COORDINATES_MODE) const; - /// Returns local retract coordinates in neighborhood around current rotation + /// Returns local retract coordinates \f$ [R_x,R_y,R_z] \f$ in neighborhood around current rotation Vector3 localCoordinates(const Rot3& t2, Rot3::CoordinatesMode mode = ROT3_DEFAULT_COORDINATES_MODE) const; /// @} @@ -247,7 +247,7 @@ namespace gtsam { /** * Exponential map at identity - create a rotation from canonical coordinates - * using Rodriguez' formula + * \f$ [R_x,R_y,R_z] \f$ using Rodriguez' formula */ static Rot3 Expmap(const Vector& v) { if(zero(v)) return Rot3(); @@ -255,7 +255,7 @@ namespace gtsam { } /** - * Log map at identity - return the canonical coordinates of this rotation + * Log map at identity - return the canonical coordinates \f$ [R_x,R_y,R_z] \f$ of this rotation */ static Vector3 Logmap(const Rot3& R);