lipm_walking::utils::SE2d Struct Reference

SE2 transform. More...

#include <lipm_walking/utils/SE2d.h>

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW SE2d (double x=0., double y=0., double theta=0.)
 Initialize a new SE2 transform. More...
 
 SE2d (const Eigen::Vector3d &v)
 
 SE2d (const sva::PTransformd &pose)
 Initialize a new SE2 transform. More...
 
sva::PTransformd operator* (const sva::PTransformd &X_0_a) const
 Apply SE2 transform in horizontal plane of an SE3 frame. More...
 
sva::PTransformd asPTransform () const
 Convert to Plucker transform. More...
 
Eigen::Vector2d pos () const
 Get 2D position. More...
 
Eigen::Vector2d ori () const
 Get 2D orientation vector. More...
 
const Eigen::Vector3d vector () const noexcept
 Get transform in vector form. More...
 
Eigen::Vector3d vectorDegrees () const
 Get transform in vector form, with the angle expressed in degrees. More...
 

Public Attributes

double x
 First translation coordinate. More...
 
double y
 Second translation coordinate. More...
 
double theta
 Orientation coordinate. More...
 

Detailed Description

SE2 transform.

Definition at line 43 of file SE2d.h.

Constructor & Destructor Documentation

◆ SE2d() [1/3]

EIGEN_MAKE_ALIGNED_OPERATOR_NEW lipm_walking::utils::SE2d::SE2d ( double  x = 0.,
double  y = 0.,
double  theta = 0. 
)
inline

Initialize a new SE2 transform.

Parameters
xFirst translation coordinate.
ySecond translation coordinate.
thetaOrientation coordinate.

Definition at line 56 of file SE2d.h.

◆ SE2d() [2/3]

lipm_walking::utils::SE2d::SE2d ( const Eigen::Vector3d &  v)
inline

Definition at line 58 of file SE2d.h.

◆ SE2d() [3/3]

lipm_walking::utils::SE2d::SE2d ( const sva::PTransformd &  pose)
inline

Initialize a new SE2 transform.

Assumes that rotation is around the +z axis

Parameters
poseWorld pose

Definition at line 66 of file SE2d.h.

Member Function Documentation

◆ asPTransform()

sva::PTransformd lipm_walking::utils::SE2d::asPTransform ( ) const
inline

Convert to Plucker transform.

Definition at line 87 of file SE2d.h.

◆ operator*()

sva::PTransformd lipm_walking::utils::SE2d::operator* ( const sva::PTransformd &  X_0_a) const
inline

Apply SE2 transform in horizontal plane of an SE3 frame.

Parameters
X_0_aPlucker transform of SE3 frame.

Definition at line 78 of file SE2d.h.

◆ ori()

Eigen::Vector2d lipm_walking::utils::SE2d::ori ( ) const
inline

Get 2D orientation vector.

Returns
t Orientation vector {cos(theta), sin(theta)}.

Definition at line 107 of file SE2d.h.

◆ pos()

Eigen::Vector2d lipm_walking::utils::SE2d::pos ( ) const
inline

Get 2D position.

Returns
pos Position vector {x, y}.

Definition at line 97 of file SE2d.h.

◆ vector()

const Eigen::Vector3d lipm_walking::utils::SE2d::vector ( ) const
inlinenoexcept

Get transform in vector form.

Returns
v Vector {x, y, theta} of transform coordinates.

Definition at line 117 of file SE2d.h.

◆ vectorDegrees()

Eigen::Vector3d lipm_walking::utils::SE2d::vectorDegrees ( ) const
inline

Get transform in vector form, with the angle expressed in degrees.

Returns
v Vector {x, y, theta[deg]} of transform coordinates.

Definition at line 127 of file SE2d.h.

Member Data Documentation

◆ theta

double lipm_walking::utils::SE2d::theta

Orientation coordinate.

Definition at line 135 of file SE2d.h.

◆ x

double lipm_walking::utils::SE2d::x

First translation coordinate.

Definition at line 133 of file SE2d.h.

◆ y

double lipm_walking::utils::SE2d::y

Second translation coordinate.

Definition at line 134 of file SE2d.h.