Added documentation on order of elements in vectors (retract, localCoordinates, constructor, etc) in Rot3, Pose2, Pose3

release/4.3a0
Richard Roberts 2013-02-26 20:50:17 +00:00
parent cd300bfeff
commit 5270cd1d9c
3 changed files with 16 additions and 16 deletions

View File

@ -85,7 +85,7 @@ public:
/// @name Advanced Constructors /// @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) { Pose2(const Vector& v) {
*this = Expmap(v); *this = Expmap(v);
} }
@ -138,25 +138,25 @@ public:
/// Dimensionality of tangent space = 3 DOF /// Dimensionality of tangent space = 3 DOF
inline size_t dim() const { return dimension; } 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; 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; Vector localCoordinates(const Pose2& p2) const;
/// @} /// @}
/// @name Lie Group /// @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); 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); static Vector Logmap(const Pose2& p);
/** /**
* Calculate Adjoint map * 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; Matrix adjointMap() const;
inline Vector adjoint(const Vector& xi) const { inline Vector adjoint(const Vector& xi) const {

View File

@ -125,28 +125,28 @@ namespace gtsam {
/// Dimensionality of the tangent space = 6 DOF /// Dimensionality of the tangent space = 6 DOF
size_t dim() const { return dimension; } 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; 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; 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; Vector6 localCoordinates(const Pose3& T2, Pose3::CoordinatesMode mode = POSE3_DEFAULT_COORDINATES_MODE) const;
/// @} /// @}
/// @name Lie Group /// @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); 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); static Vector6 Logmap(const Pose3& p);
/** /**
* Calculate Adjoint map * 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 Matrix6 adjointMap() const; /// FIXME Not tested - marked as incorrect
Vector adjoint(const Vector& xi) const {return adjointMap()*xi; } /// FIXME Not tested - marked as incorrect Vector adjoint(const Vector& xi) const {return adjointMap()*xi; } /// FIXME Not tested - marked as incorrect

View File

@ -235,10 +235,10 @@ namespace gtsam {
Rot3 retractCayley(const Vector& omega) const; Rot3 retractCayley(const Vector& omega) const;
#endif #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; 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; 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 * 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) { static Rot3 Expmap(const Vector& v) {
if(zero(v)) return Rot3(); 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); static Vector3 Logmap(const Rot3& R);