Class inertialsim::geometry::Pose¶
ClassList > inertialsim > geometry > Pose
Rigid body pose (position and orientation). More...
#include <pose.h>
Inherits the following classes: inertialsim::geometry::RigidTransformBase
Public Types inherited from inertialsim::geometry::RigidTransformBase¶
See inertialsim::geometry::RigidTransformBase
| Type | Name |
|---|---|
| typedef MatrixLieGroup< Derived, 4, 6 > | Base |
Public Types inherited from inertialsim::geometry::MatrixLieGroup¶
See inertialsim::geometry::MatrixLieGroup
| Type | Name |
|---|---|
| typedef Eigen::Matrix< Scalar, AlgebraDimension, Eigen::Dynamic > | AlgebraArray Array of algebra elements. |
| typedef Eigen::Matrix< Scalar, AlgebraDimension, 1 > | AlgebraElement Algebra element type (vector). |
| typedef std::vector< GroupElement > | GroupArray Array of group elements. |
| typedef Eigen::Matrix< Scalar, GroupDimension, GroupDimension > | GroupElement Group element type (square matrix). |
| typedef Eigen::Matrix< Scalar, AlgebraDimension, AlgebraDimension > | JacobianMatrix Jacobian matrix (algebra to algebra). |
| typedef std::vector< JacobianMatrix > | JacobianMatrixArray Array of Jacobian matrices. |
Public Functions¶
| Type | Name |
|---|---|
| Rotation | AsAttitude () const Return the attitude component. |
| Translation | AsPosition () const Return the position component. |
| Pose (const Rotation & attitude, const Translation & position, const std::optional< Timestamps > & time=std::nullopt) Construct from rotation and translation. |
|
| const Rotation & | attitude () const Get the attitude (rotation) component. |
| int | num_poses () const Number of poses stored. |
| const Translation & | position () const Get the position (translation) component. |
Public Functions inherited from inertialsim::geometry::RigidTransformBase¶
See inertialsim::geometry::RigidTransformBase
| Type | Name |
|---|---|
| TransformMatrixArray | AsHomogeneousMatrix () const Return homogeneous transform matrices. |
| const Rotation & | AsRotation () const Return rotation component. |
| std::pair< Rotation, Translation > | AsRotationTranslation () const Return rotation and translation components. |
| const Translation & | AsTranslation () const Return translation component. |
| std::tuple< Vector3D, Vector3D > | Error (const RigidTransformBase< OtherDerived > & reference) const Calculate error compared to a reference transform. |
| int | num_transforms () const Number of transforms stored. |
Public Functions inherited from inertialsim::geometry::MatrixLieGroup¶
See inertialsim::geometry::MatrixLieGroup
| Type | Name |
|---|---|
| Vector3D | Apply (const Vector3D & vectors) const Apply the group action to an array of vectors. |
| Derived | Interpolate (const Timestamps & interp_time, Interpolator method=Interpolator::LINEAR) const Interpolate at given times. |
| Derived | Inverse () const Invert an instance. |
| Derived | Slice (int start, int end) const Get a slice of elements. |
| AlgebraArray | TimeDerivative (int order=1, int accuracy=4, const std::string & side="right") const Compute time derivative using finite differences. |
| int | num_elements () const Number of elements stored in the instance. |
| Derived | operator* (const Derived & rhs) const Compose elements of the group. |
| Derived | operator[] (int index) const Get a single element by index. |
| const std::optional< Timestamps > & | time () const Time array corresponding to each element. |
| virtual | ~MatrixLieGroup () = default |
Public Static Functions¶
| Type | Name |
|---|---|
| Pose | FromAttitudePosition (const Rotation & attitude, const Translation & position, const std::optional< Timestamps > & time=std::nullopt) Construct from attitude and position. |
| Pose | FromAttitudePosition (RotationMatrixArray & attitude, const Vector3D & position, const std::optional< Timestamps > & time=std::nullopt, bool orthonormalize=false) Construct from rotation matrices and position vectors. |
Public Static Functions inherited from inertialsim::geometry::RigidTransformBase¶
See inertialsim::geometry::RigidTransformBase
| Type | Name |
|---|---|
| Derived | FromHomogeneousMatrix (const TransformMatrixArray & matrices, const std::optional< Timestamps > & time=std::nullopt, bool orthonormalize=false) Construct a RigidTransform from homogeneous transform matrices. |
| Derived | FromRotationTranslation (const Rotation & rotation, const Translation & translation, const std::optional< Timestamps > & time=std::nullopt) Construct a RigidTransform from rotation and translation. |
| Derived | FromRotationTranslation (const RotationMatrixArray & matrix, const Vector3D & xyz, const std::optional< Timestamps > & time=std::nullopt, bool orthonormalize=false) Construct from rotation matrices and translation vectors. |
Public Static Functions inherited from inertialsim::geometry::MatrixLieGroup¶
See inertialsim::geometry::MatrixLieGroup
| Type | Name |
|---|---|
| Derived | Compose (const std::vector< Derived > & instances) Compose a sequence of instances (first to last). |
| Derived | FromIdentity (int num_elements=1) Create identity elements. |
| Derived | FromRandom (int num_elements=1, std::optional< Eigen::numext::uint64_t > seed=std::nullopt) Create random elements. |
Protected Functions inherited from inertialsim::geometry::RigidTransformBase¶
See inertialsim::geometry::RigidTransformBase
| Type | Name |
|---|---|
| RigidTransformBase () Default constructor. |
|
| RigidTransformBase (const Rotation & rotation, const Translation & translation, const std::optional< Timestamps > & time=std::nullopt) Construct from rotation and translation. |
Protected Functions inherited from inertialsim::geometry::MatrixLieGroup¶
See inertialsim::geometry::MatrixLieGroup
| Type | Name |
|---|---|
| AlgebraArray | AsAlgebra () const Get the algebra elements. |
| GroupArray | AsGroup () const Get the group elements. |
| MatrixLieGroup (const std::optional< Timestamps > & time=std::nullopt) Constructor. |
|
| int | num_times () const |
Protected Static Functions inherited from inertialsim::geometry::MatrixLieGroup¶
See inertialsim::geometry::MatrixLieGroup
| Type | Name |
|---|---|
| GroupElement | Exp (const AlgebraElement & vector) Exponential map from algebra to group. |
| Derived | FromAlgebra (const AlgebraArray & elements, const std::optional< Timestamps > & time) Create instance from algebra elements. |
| Derived | FromGroup (const GroupArray & elements, const std::optional< Timestamps > & time) Create instance from group elements. |
| JacobianMatrixArray | Jacobian (const AlgebraArray & algebra, const std::string & side="left", bool inverse=false) Calculate the Jacobian of the exponential map. |
| AlgebraElement | Log (const GroupElement & element) Logarithm map from group to algebra. |
Detailed Description¶
Pose is an alias for RigidTransform with additional convenience attributes. It adds additional convenience attributes and methods specific to robot pose representation (attitude and position terminology).
Poses can be constructed from a rotation and translation (R, t) or from a homogeneous transform matrix: [[R, t], [0, 1]]. Use the From* methods to construct an instance.
Public Functions Documentation¶
function AsAttitude¶
Return the attitude component.
Returns:
Rotation instance.
function AsPosition¶
Return the position component.
Returns:
Translation instance.
function Pose¶
Construct from rotation and translation.
inline inertialsim::geometry::Pose::Pose (
const Rotation & attitude,
const Translation & position,
const std::optional< Timestamps > & time=std::nullopt
)
Parameters:
rotationRotation component.translationTranslation component.timeOptional time array.
function attitude¶
Get the attitude (rotation) component.
function num_poses¶
Number of poses stored.
function position¶
Get the position (translation) component.
Public Static Functions Documentation¶
function FromAttitudePosition [1/2]¶
Construct from attitude and position.
static inline Pose inertialsim::geometry::Pose::FromAttitudePosition (
const Rotation & attitude,
const Translation & position,
const std::optional< Timestamps > & time=std::nullopt
)
Parameters:
attitudeRotation instance.positionTranslation instance.timeOptional time array (ignored if attitude has time).
Returns:
Pose instance.
function FromAttitudePosition [2/2]¶
Construct from rotation matrices and position vectors.
static inline Pose inertialsim::geometry::Pose::FromAttitudePosition (
RotationMatrixArray & attitude,
const Vector3D & position,
const std::optional< Timestamps > & time=std::nullopt,
bool orthonormalize=false
)
Parameters:
rotation_matricesVector of 3x3 rotation matrices.position_xyzPosition coordinates (3xN).timeOptional time array.orthonormalizeIf true, enforce orthonormality.
Returns:
Pose instance.
Friends Documentation¶
friend INS¶
The documentation for this class was generated from the following file cpp/include/inertialsim/geometry/pose.h