iDynTree::SpatialForceVector class

Class providing the raw coordinates for any spatial force vector, (i.e.

vector form of an element of se*(3)).

A force spatial vector can be used to to described spatial momentum, wrench, or their derivatives.

This is just a basic vector, used to implement the adjoint transformations in a general way. The relative adjoint transformation is contained in Transform::apply(SpatialForce), for consistency with the iDynTree::Position class.

Base classes

class SpatialVector<SpatialForceVector>

Derived classes

class SpatialMomentum
Class representing a spatial momentum, i.e.
class Wrench
Class representing a wrench, i.e.

Public types

using LinearVector3T = SpatialMotionForceVectorT_traits<SpatialForceVector>::LinearVector3Type
We use traits here to have the associations SpatialVector <=> Linear/Angular 3D vectors types defined in a single place.
using AngularVector3T = SpatialMotionForceVectorT_traits<SpatialForceVector>::AngularVector3Type

Constructors, destructors, conversion operators

SpatialForceVector()
Default constructor.
SpatialForceVector(const LinearVector3T& _linearVec3, const AngularVector3T& _angularVec3)
SpatialForceVector(const SpatialForceVector& other)
SpatialForceVector(const SpatialVector<SpatialForceVector>& other)
~SpatialForceVector() virtual

Public functions

auto operator*(const double scalar) const -> SpatialForceVector
auto asCrossProductMatrix() const -> Matrix6x6
Liner operator defined in https://arxiv.org/abs/2010.01033 If this object is $ F = \begin{bmatrix} f \\ \tau \end{bmatrix} $ , return the 6x6 matrix $ F\times $ such that, if F is a SpatialForceVector and V is a SpatialMotionVector :

Function documentation

iDynTree::SpatialForceVector::SpatialForceVector()

Default constructor.

The data is not reset to zero for perfomance reason. Please initialize the data in the class before any use.

Matrix6x6 iDynTree::SpatialForceVector::asCrossProductMatrix() const

Liner operator defined in https://arxiv.org/abs/2010.01033 If this object is $ F = \begin{bmatrix} f \\ \tau \end{bmatrix} $ , return the 6x6 matrix $ F\times $ such that, if F is a SpatialForceVector and V is a SpatialMotionVector :

\[ (F \times) V = V\texttt{.cross}(F) \]

The returned matrix is then the following one:

\[ F \times = \begin{bmatrix} 0_{3\times3} & -f \times \\ -f \times & -\tau \times \end{bmatrix} \]