Added documentation on order of elements in vectors (retract, localCoordinates, constructor, etc) in Rot3, Pose2, Pose3
parent
cd300bfeff
commit
5270cd1d9c
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue