class
#include <iDynTree/TransformDerivative.h>
TransformDerivative Class representing the derivative of Transform object.
Public static functions
- static auto Zero() -> TransformDerivative
- Return a zero transfom derivative.
Constructors, destructors, conversion operators
- TransformDerivative()
- Default constructor.
- TransformDerivative(const Matrix3x3& _rotDeriv, const Vector3& posDeriv)
- Constructor from a Matrix3x3 and a Vector3 .
- TransformDerivative(const TransformDerivative& other)
- Copy constructor: create a TransformDerivative from another TransformDerivative.
- ~TransformDerivative()
- Default destructor.
Public functions
- auto getRotationDerivative() const -> const Matrix3x3&
- Get the derivative of the rotation part of the transform.
- auto getPositionDerivative() const -> const Vector3&
- Get the derivative of the translation part of the transform.
- void setRotationDerivative(const Matrix3x3& rotationDerivative)
- Set the derivative of the rotation part of the transform.
- void setPositionDerivative(const Vector3& positionDerivative)
- Set the derivative of translation part of the transform.
Protected variables
- Vector3 posDerivative
- The derivative of the translation part of a Transform.
- Matrix3x3 rotDerivative
- The derivative of the rotation part of a Transform.
Raw data accessors.
For several applications it may be useful to access the fransform contents in the raw form of homogeneous matrix or an adjoint matrix.
- auto asHomogeneousTransformDerivative() const -> Matrix4x4
- Return the derivative of the 4x4 homogeneous matrix representing the transform.
- auto asAdjointTransformDerivative(const Transform& transform) const -> Matrix6x6
- Return the derivative of the 6x6 adjoint matrix representing this transform.
- auto asAdjointTransformWrenchDerivative(const Transform& transform) const -> Matrix6x6
- Return the 6x6 adjoint matrix (for wrench) representing this transform.
- auto operator*(const Transform& otherTransform) const -> TransformDerivative
- Multiply a transform derivative for a transform.
- auto derivativeOfInverse(const Transform& transform) const -> TransformDerivative
- Get the derivative of the inverse of the transform.
- auto transform(const Transform& transform, ArticulatedBodyInertia& other) -> ArticulatedBodyInertia
- Given a articulated inertia (other argument), this TransformDerivative and a transform return the articulated body inertia:
- auto transform(const Transform& transform, SpatialForceVector& other) -> SpatialForceVector
- Given a SpatialForceVector (other argument), this TransformDerivative and a transform return the spatial force vector:
- auto transform(const Transform& transform, SpatialMotionVector& other) -> SpatialMotionVector
- Given a SpatialMotionVector (other argument), this TransformDerivative and a transform return the spatial force vector:
Function documentation
static TransformDerivative iDynTree:: TransformDerivative:: Zero()
Return a zero transfom derivative.
Returns | an zero transform derivative. |
---|
iDynTree:: TransformDerivative:: TransformDerivative()
Default constructor.
The data is not reset to the default for perfomance reasons. Please initialize the data in the class before any use.
iDynTree:: TransformDerivative:: TransformDerivative(const Matrix3x3& _rotDeriv,
const Vector3& posDeriv)
Constructor from a Matrix3x3 and a Vector3 .
The matrix represent the derivative of a rotation matrix, while the vector the derivative of the position part of the tranform.
Matrix4x4 iDynTree:: TransformDerivative:: asHomogeneousTransformDerivative() const
Return the derivative of the 4x4 homogeneous matrix representing the transform.
The returned matrix is the one with this structure:
For details on this notation, check the Transform::
Matrix6x6 iDynTree:: TransformDerivative:: asAdjointTransformDerivative(const Transform& transform) const
Return the derivative of the 6x6 adjoint matrix representing this transform.
The returned matrix is the one with this structure:
Where is the rotation matrix that takes a 3d vector expressed in the orientationFrame and transform it in a 3d vector expressed in the reference orientation frame.
is the vector between the point and the reference point, pointing toward the point and expressed in the reference orientation frame is the skew simmetric matrix such that .
Given that the TransformDerivative object contains only and , you need to provide and to this method by passing the relative Transform object.
Matrix6x6 iDynTree:: TransformDerivative:: asAdjointTransformWrenchDerivative(const Transform& transform) const
Return the 6x6 adjoint matrix (for wrench) representing this transform.
The returned matrix is the one with this structure:
Where is the rotation matrix that takes a 3d vector expressed in the orientationFrame and transform it in a 3d vector expressed in the reference orientation frame.
is the vector between the point and the reference point, pointing toward the point and expressed in the reference orientation frame is the skew simmetric matrix such that .
Given that the TransformDerivative object contains only and , you need to provide and to this method by passing the relative Transform object.
TransformDerivative iDynTree:: TransformDerivative:: operator*(const Transform& otherTransform) const
Multiply a transform derivative for a transform.
This operation is useful to compose the derivative of a transform for a constant transform.
If this transform derivative represent the derivative of a transform with respect to time , and we have a constant transform , then this operation returns the derivative of the transform :
TransformDerivative iDynTree:: TransformDerivative:: derivativeOfInverse(const Transform& transform) const
Get the derivative of the inverse of the transform.
If this TransformDerivative is and the transform argument is , returns the derivative of the inverse transform computed as:
ArticulatedBodyInertia iDynTree:: TransformDerivative:: transform(const Transform& transform,
ArticulatedBodyInertia& other)
Given a articulated inertia (other argument), this TransformDerivative and a transform return the articulated body inertia:
SpatialForceVector iDynTree:: TransformDerivative:: transform(const Transform& transform,
SpatialForceVector& other)
Given a SpatialForceVector (other argument), this TransformDerivative and a transform return the spatial force vector:
SpatialMotionVector iDynTree:: TransformDerivative:: transform(const Transform& transform,
SpatialMotionVector& other)
Given a SpatialMotionVector (other argument), this TransformDerivative and a transform return the spatial force vector: