BipedalLocomotion/Math/Wrench.h file

Namespaces

namespace BipedalLocomotion
namespace BipedalLocomotion::Math

Classes

template<class Scalar>
class BipedalLocomotion::Math::Wrench
Wrench represent a wrench, i.e.

Typedefs

using Wrenchd = Wrench<double>
A wrench of double.

Functions

template<class Scalar>
auto operator*(const manif::SE3<Scalar>& transform, const Wrench<Scalar>& wrench) -> Wrench<Scalar>
Change the frame in which the Wrench is expressed.
template<class Scalar>
auto operator*(const manif::SO3<Scalar>& rotation, const Wrench<Scalar>& wrench) -> Wrench<Scalar>
Change the frame in which the Wrench is expressed.

Function documentation

template<class Scalar>
Wrench<Scalar> operator*(const manif::SE3<Scalar>& transform, const Wrench<Scalar>& wrench)

Change the frame in which the Wrench is expressed.

Parameters
transform a manif::SE3 object representing a homogeneous transformation that changes the coordinates of a vector expressed in the frame A into the coordinates in the frame B
wrench expressed in the frame A
Returns the vector expressed in the frame B

If the tranform is $H$ is

\[ (p,R) = ( {}^{\texttt{refOrient}} p_{\texttt{refPoint},\texttt{point}} , {}^{\texttt{refOrient}} R_{\texttt{orient}} ) \]

And the wrench is:

\[ {}_{\texttt{frame}} F = \begin{bmatrix} f \\ \tau \end{bmatrix} \]

The result of this operation is :

\[ {}_{\texttt{refFrame}} F = {}_{\texttt{refFrame}}X^{\texttt{frame}} {}_{\texttt{frame}} F = \begin{bmatrix} R & 0_{3\times3} \\ p \times R & R \end{bmatrix} \begin{bmatrix} f \\ \tau \end{bmatrix} = \begin{bmatrix} Rf \\ p \times R f + R\tau \end{bmatrix} \]

template<class Scalar>
Wrench<Scalar> operator*(const manif::SO3<Scalar>& rotation, const Wrench<Scalar>& wrench)

Change the frame in which the Wrench is expressed.

Parameters
rotation a manif::SO3 object representing a rotation that changes the coordinates of a vector expressed in the frame A into the coordinates in the frame B
wrench expressed in the frame A
Returns the vector expressed in the frame B

If the tranform is $H$ is

\[ (p,R) = ( O _ {3 \times 1} , {}^{\texttt{refOrient}} R_{\texttt{orient}} ) \]

And the wrench is:

\[ {}_{\texttt{frame}} F = \begin{bmatrix} f \\ \tau \end{bmatrix} \]

The result of this operation is :

\[ {}_{\texttt{refFrame}} F = {}_{\texttt{refFrame}}X^{\texttt{frame}} {}_{\texttt{frame}} F = \begin{bmatrix} R & 0_{3\times3} \\ 0_{3\times3} & R \end{bmatrix} \begin{bmatrix} f \\ \tau \end{bmatrix} = \begin{bmatrix} Rf \\ R\tau \end{bmatrix} \]