Class inertialsim::geometry::ExtendedPose¶
ClassList > inertialsim > geometry > ExtendedPose
#include <extended_pose.h>
Inherits the following classes: inertialsim::geometry::MatrixLieGroup
Public Types¶
| Type | Name |
|---|---|
| typedef MatrixLieGroup< ExtendedPose, 5, 9 > | 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 |
|---|---|
| std::tuple< Rotation, Translation, Vector > | AsApv () const Return the attitude, position, and velocity. |
| const Rotation & | AsAttitude () const Return the attitude component of the ExtendedPose instance. |
| const Translation & | AsPosition () const Return the position component of the ExtendedPose instance. |
| const Vector & | AsVelocity () const Return the velocity component of the ExtendedPose instance. |
| std::tuple< Vector3D, Vector3D, Vector3D > | Error (const ExtendedPose & reference) const Calculate error compared to a reference pose. |
| const Rotation & | attitude () const The attitude component of the pose. |
| int | num_poses () const The number of extended poses stored in the instance. |
| const Translation & | position () const The position component of the pose. |
| const Vector & | velocity () const The velocity component of the pose. |
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 |
|---|---|
| ExtendedPose | FromApv (const Rotation & attitude, const Translation & position, const Vector & velocity, const std::optional< Timestamps > & time=std::nullopt) Construct from attitude, position, and velocity. |
| ExtendedPose | FromApv (const RotationMatrixArray & rotation_matrices, const Vector3D & position_xyz, const Vector3D & velocity_xyz, const std::optional< Timestamps > & time=std::nullopt, bool orthonormalize=false) Construct from rotation matrices, position, and velocity 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¶
| Type | Name |
|---|---|
| ExtendedPose () Default constructor. |
|
| ExtendedPose (const Rotation & attitude, const Translation & position, const Vector & velocity, const std::optional< Timestamps > & time=std::nullopt) Construct from attitude, position, and velocity. |
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¶
ExtendedPose behaves similarly to Pose with the addition of velocity. Represents elements of the SE2(3) Lie group.
Public Types Documentation¶
typedef Base¶
Public Functions Documentation¶
function AsApv¶
Return the attitude, position, and velocity.
inline std::tuple< Rotation , Translation , Vector > inertialsim::geometry::ExtendedPose::AsApv () const
See additional documentation at FromApv.
Returns:
Tuple containing:
- Attitude (Rotation)
- Position (Translation)
- Velocity (Vector)
function AsAttitude¶
Return the attitude component of the ExtendedPose instance.
Returns:
Rotation instance.
function AsPosition¶
Return the position component of the ExtendedPose instance.
Returns:
Translation instance.
function AsVelocity¶
Return the velocity component of the ExtendedPose instance.
Returns:
Vector instance.
function Error¶
Calculate error compared to a reference pose.
inline std::tuple< Vector3D , Vector3D , Vector3D > inertialsim::geometry::ExtendedPose::Error (
const ExtendedPose & reference
) const
Returns the error in the current pose when compared to a reference input. Error is defined as self - reference.
Parameters:
referenceReference (or truth) pose to compare.
Returns:
Tuple containing:
- Attitude error
- Position error
- Velocity error
function attitude¶
The attitude component of the pose.
Returns:
Attitude (rotation) component.
function num_poses¶
The number of extended poses stored in the instance.
Returns:
Number of poses.
function position¶
The position component of the pose.
Returns:
Position (translation) component.
function velocity¶
The velocity component of the pose.
Returns:
Velocity component.
Public Static Functions Documentation¶
function FromApv [1/2]¶
Construct from attitude, position, and velocity.
static inline ExtendedPose inertialsim::geometry::ExtendedPose::FromApv (
const Rotation & attitude,
const Translation & position,
const Vector & velocity,
const std::optional< Timestamps > & time=std::nullopt
)
Attitude is also known as orientation. The inputs must be compatible (dimension, time, etc.) or an exception is raised.
Parameters:
attitudeRotation instance.positionTranslation instance.velocityVector instance.timeOptional array of unique, strictly increasing times corresponding to each input. Ignored if inputs are single elements.
Returns:
ExtendedPose instance.
function FromApv [2/2]¶
Construct from rotation matrices, position, and velocity vectors.
static inline ExtendedPose inertialsim::geometry::ExtendedPose::FromApv (
const RotationMatrixArray & rotation_matrices,
const Vector3D & position_xyz,
const Vector3D & velocity_xyz,
const std::optional< Timestamps > & time=std::nullopt,
bool orthonormalize=false
)
Attitude is also known as orientation. The inputs must be compatible (dimension, time, etc.) or an exception is raised.
Parameters:
rotation_matricesArray of rotation matrices.position_xyzPosition vectors (3xN matrix).velocity_xyzVelocity vectors (3xN matrix).timeOptional array of unique, strictly increasing times corresponding to each input.orthonormalizeIf the attitude input is an array, whether to enforce orthonormality. Ignored otherwise.
Returns:
ExtendedPose instance.
Protected Functions Documentation¶
function ExtendedPose [1/2]¶
Default constructor.
function ExtendedPose [2/2]¶
Construct from attitude, position, and velocity.
inline inertialsim::geometry::ExtendedPose::ExtendedPose (
const Rotation & attitude,
const Translation & position,
const Vector & velocity,
const std::optional< Timestamps > & time=std::nullopt
)
Parameters:
attitudeRotation component.positionTranslation component.velocityVector component.timeOptional time array.
The documentation for this class was generated from the following file cpp/include/inertialsim/geometry/extended_pose.h