gtsam  3.2.1
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gtsam::Pose2 Class Reference
+ Inheritance diagram for gtsam::Pose2:

Group

Pose2 inverse (boost::optional< Matrix & > H1=boost::none) const
 inverse transformation with derivatives
 
Pose2 compose (const Pose2 &p2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 compose this transformation onto another (first *this and then p2)
 
Pose2 operator* (const Pose2 &p2) const
 compose syntactic sugar
 
Pose2 between (const Pose2 &p2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Return relative pose between p1 and p2, in p1 coordinate frame.
 
static Pose2 identity ()
 identity for group operation
 

Manifold

size_t dim () const
 Dimensionality of tangent space = 3 DOF.
 
Pose2 retract (const Vector &v) const
 Retraction from R^3 \( [T_x,T_y,\theta] \) to Pose2 manifold neighborhood around current pose.
 
Vector localCoordinates (const Pose2 &p2) const
 Local 3D coordinates \( [T_x,T_y,\theta] \) of Pose2 manifold neighborhood around current pose.
 
static size_t Dim ()
 Dimensionality of tangent space = 3 DOF - used to autodetect sizes.
 

Lie Group

Matrix AdjointMap () const
 Calculate Adjoint map Ad_pose is 3*3 matrix that when applied to twist xi \( [T_x,T_y,\theta] \), returns Ad_pose(xi)
 
Vector Adjoint (const Vector &xi) const
 
static Pose2 Expmap (const Vector &xi)
 Exponential map at identity - create a rotation from canonical coordinates \( [T_x,T_y,\theta] \).
 
static Vector Logmap (const Pose2 &p)
 Log map at identity - return the canonical coordinates \( [T_x,T_y,\theta] \) of this rotation.
 
static Matrix wedge (double vx, double vy, double w)
 wedge for SE(2): More...
 

Advanced Interface

class boost::serialization::access
 
static std::pair< size_t, size_t > translationInterval ()
 Return the start and end indices (inclusive) of the translation component of the exponential map parameterization. More...
 
static std::pair< size_t, size_t > rotationInterval ()
 Return the start and end indices (inclusive) of the rotation component of the exponential map parameterization. More...
 

Public Member Functions

Standard Constructors
 Pose2 ()
 default constructor = origin
 
 Pose2 (const Pose2 &pose)
 copy constructor
 
 Pose2 (double x, double y, double theta)
 construct from (x,y,theta) More...
 
 Pose2 (double theta, const Point2 &t)
 construct from rotation and translation
 
 Pose2 (const Rot2 &r, const Point2 &t)
 construct from r,t
 
 Pose2 (const Matrix &T)
 Constructor from 3*3 matrix.
 
Advanced Constructors
 Pose2 (const Vector &v)
 Construct from canonical coordinates \( [T_x,T_y,\theta] \) (Lie algebra)
 
Testable
void print (const std::string &s="") const
 print with optional string
 
bool equals (const Pose2 &pose, double tol=1e-9) const
 assert equality up to a tolerance
 
Group Action on Point2
Point2 transform_to (const Point2 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Return point coordinates in pose coordinate frame.
 
Point2 transform_from (const Point2 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Return point coordinates in global frame.
 
Point2 operator* (const Point2 &point) const
 syntactic sugar for transform_from
 
Standard Interface
double x () const
 get x
 
double y () const
 get y
 
double theta () const
 get theta
 
const Point2t () const
 translation
 
const Rot2r () const
 rotation
 
const Point2translation () const
 translation
 
const Rot2rotation () const
 rotation
 
Matrix matrix () const
 
Rot2 bearing (const Point2 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Calculate bearing to a landmark. More...
 
Rot2 bearing (const Pose2 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Calculate bearing to another pose. More...
 
double range (const Point2 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Calculate range to a landmark. More...
 
double range (const Pose2 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Calculate range to another pose. More...
 
- Public Member Functions inherited from gtsam::DerivedValue< Pose2 >
virtual Valueclone_ () const
 Create a duplicate object returned as a pointer to the generic Value interface. More...
 
virtual void deallocate_ () const
 Destroy and deallocate this object, only if it was originally allocated using clone_().
 
virtual boost::shared_ptr< Valueclone () const
 Clone this value (normal clone on the heap, delete with 'delete' operator)
 
virtual bool equals_ (const Value &p, double tol=1e-9) const
 equals implementing generic Value interface
 
virtual Valueretract_ (const Vector &delta) const
 Generic Value interface version of retract.
 
virtual Vector localCoordinates_ (const Value &value2) const
 Generic Value interface version of localCoordinates.
 
virtual Valueoperator= (const Value &rhs)
 Assignment operator.
 
 operator const Pose2 & () const
 Conversion to the derived class.
 
 operator Pose2 & ()
 Conversion to the derived class.
 
- Public Member Functions inherited from gtsam::Value
virtual ~Value ()
 Virutal destructor.
 

Static Public Attributes

static const size_t dimension = 3
 

Public Types

typedef Rot2 Rotation
 Pose Concept requirements.
 
typedef Point2 Translation
 

Additional Inherited Members

- Protected Member Functions inherited from gtsam::DerivedValue< Pose2 >
DerivedValue< Pose2 > & operator= (const DerivedValue< Pose2 > &rhs)
 Assignment operator, protected because only the Value or DERIVED assignment operators should be used. More...
 

Constructor & Destructor Documentation

gtsam::Pose2::Pose2 ( double  x,
double  y,
double  theta 
)
inline

construct from (x,y,theta)

Parameters
xx coordinate
yy coordinate
thetaangle with positive X-axis

Member Function Documentation

Rot2 gtsam::Pose2::bearing ( const Point2 point,
boost::optional< Matrix & >  H1 = boost::none,
boost::optional< Matrix & >  H2 = boost::none 
) const

Calculate bearing to a landmark.

Parameters
point2D location of landmark
Returns
2D rotation \( \in SO(2) \)
Rot2 gtsam::Pose2::bearing ( const Pose2 point,
boost::optional< Matrix & >  H1 = boost::none,
boost::optional< Matrix & >  H2 = boost::none 
) const

Calculate bearing to another pose.

Parameters
pointSO(2) location of other pose
Returns
2D rotation \( \in SO(2) \)
double gtsam::Pose2::range ( const Point2 point,
boost::optional< Matrix & >  H1 = boost::none,
boost::optional< Matrix & >  H2 = boost::none 
) const

Calculate range to a landmark.

Parameters
point2D location of landmark
Returns
range (double)
double gtsam::Pose2::range ( const Pose2 point,
boost::optional< Matrix & >  H1 = boost::none,
boost::optional< Matrix & >  H2 = boost::none 
) const

Calculate range to another pose.

Parameters
point2D location of other pose
Returns
range (double)
static std::pair<size_t, size_t> gtsam::Pose2::rotationInterval ( )
inlinestatic

Return the start and end indices (inclusive) of the rotation component of the exponential map parameterization.

Returns
a pair of [start, end] indices into the tangent space vector
static std::pair<size_t, size_t> gtsam::Pose2::translationInterval ( )
inlinestatic

Return the start and end indices (inclusive) of the translation component of the exponential map parameterization.

Returns
a pair of [start, end] indices into the tangent space vector
static Matrix gtsam::Pose2::wedge ( double  vx,
double  vy,
double  w 
)
inlinestatic

wedge for SE(2):

Parameters
xi3-dim twist (v,omega) where omega is angular velocity v (vx,vy) = 2D velocity
Returns
xihat, 3*3 element of Lie algebra that can be exponentiated

The documentation for this class was generated from the following files: