stateObservation::kine::Kinematics Struct Reference

Class facilitating the manipulation of the kinematics of a frame within another and the associated operations. More...

#include <state-observation/tools/rigid-body-kinematics.hpp>

Inheritance diagram for stateObservation::kine::Kinematics:
Collaboration diagram for stateObservation::kine::Kinematics:

Public Member Functions

 Kinematics ()
 
 Kinematics (const Vector &v, Flags::Byte=Flags::all)
 
 Kinematics (const Kinematics &multiplier1, const Kinematics &multiplier2)
 constructor of a Kinematics object resulting from the composition of two others. More...
 
 Kinematics (const CheckedVector3 &position, const CheckedVector3 &linVel, const CheckedVector3 &linAcc, const Orientation &orientation, const CheckedVector3 &angVel, const CheckedVector3 &angAcc)
 constructor of a Kinematics object given each variable independently. More...
 
 Kinematics (const LocalKinematics &locK)
 constructor of a Kinematics object given its equivalent in the local frame. More...
 
Kinematicsoperator= (const LocalKinematics &locK)
 fills the Kinematics object given its equivalent in the local frame. More...
 
const Kinematicsintegrate (double dt)
 integrates the current kinematics over the timestep dt. More...
 
const Kinematicsupdate (const Kinematics &newValue, double dt, Flags::Byte=Flags::all)
 updates the current kinematics (k) with the new ones (k+1). More...
 
Kinematics getInverse () const
 returns the inverse of the current kinematics. More...
 
Kinematics operator* (const Kinematics &) const
 composition of transformation More...
 
KinematicssetToProductNoAlias (const Kinematics &operand1, const Kinematics &operand2)
 computes the composition of two Kinematics object. More...
 
KinematicssetToDiffNoAlias (const Kinematics &multiplier1, const Kinematics &multiplier2)
 
KinematicssetToDiffNoAliasLinPart (const Kinematics &multiplier1, const Kinematics &multiplier2)
 Linear part of the setToDiffNoAlias(const Kinematics &, const Kinematics &) function. More...
 
KinematicssetToDiffNoAliasAngPart (const Kinematics &multiplier1, const Kinematics &multiplier2)
 Angular part of the setToDiffNoAlias(const Kinematics &, const Kinematics &) function. More...
 
- Public Member Functions inherited from stateObservation::kine::internal::KinematicsInternal< Kinematics >
 KinematicsInternal ()
 
 KinematicsInternal (const CheckedVector3 &position, const CheckedVector3 &linVel, const CheckedVector3 &linAcc, const Orientation &orientation, const CheckedVector3 &angVel, const CheckedVector3 &angAcc)
 constructor of a Kinematics object given each variable independently. More...
 
void reset ()
 
KinematicsfromVector (const Vector &v, typename Flags::Byte=Flags::all)
 
KinematicssetZero (typename Flags::Byte=Flags::all)
 
Vector toVector (typename Flags::Byte) const
 
Vector toVector () const
 

Protected Attributes

Vector3 tempVec_
 

Additional Inherited Members

- Static Public Member Functions inherited from stateObservation::kine::internal::KinematicsInternal< Kinematics >
static Kinematics zeroKinematics (typename Flags::Byte=Flags::all)
 returns an object corresponding to zero kinematics on the desired variables. More...
 
- Public Attributes inherited from stateObservation::kine::internal::KinematicsInternal< Kinematics >
CheckedVector3 position
 
Orientation orientation
 
CheckedVector3 linVel
 
CheckedVector3 angVel
 
CheckedVector3 linAcc
 
CheckedVector3 angAcc
 

Detailed Description

Class facilitating the manipulation of the kinematics of a frame within another and the associated operations.

The Kinematics object contains the position, the orientation, the velocities and the accelerations of a frame 1 within another frame 2. The object Kinematics is the expression of these kinematics in the global frame 2, while the LocalKinematics object is their expression in the local frame 1.

Constructor & Destructor Documentation

◆ Kinematics() [1/5]

stateObservation::kine::Kinematics::Kinematics ( )
inline

◆ Kinematics() [2/5]

stateObservation::kine::Kinematics::Kinematics ( const Vector v,
Flags::Byte  = Flags::all 
)

Constructor from a vector the flags show which parts of the kinematics to be loaded from the vector the order of the vector is position orientation (quaternion) linevel angvel linAcc angAcc use the flags to define the structure of the vector

◆ Kinematics() [3/5]

stateObservation::kine::Kinematics::Kinematics ( const Kinematics multiplier1,
const Kinematics multiplier2 
)

constructor of a Kinematics object resulting from the composition of two others.

Parameters
multiplier1the first Kinematics object used for the composition
multiplier2the second Kinematics object used for the composition

◆ Kinematics() [4/5]

stateObservation::kine::Kinematics::Kinematics ( const CheckedVector3 position,
const CheckedVector3 linVel,
const CheckedVector3 linAcc,
const Orientation orientation,
const CheckedVector3 angVel,
const CheckedVector3 angAcc 
)

constructor of a Kinematics object given each variable independently.

Parameters
positionthe position composing the kinematics
linVelthe linear velocity composing the kinematics
linAccthe linear acceleration composing the kinematics
orientationthe orientation composing the kinematics
angVelthe angular velocity composing the kinematics
angAccthe angular acceleration composing the kinematics

◆ Kinematics() [5/5]

stateObservation::kine::Kinematics::Kinematics ( const LocalKinematics locK)
inlineexplicit

constructor of a Kinematics object given its equivalent in the local frame.

performs the conversion from the local to the global expression of the kinematics.

Parameters
locKthe local kinematics to convert

Member Function Documentation

◆ getInverse()

Kinematics stateObservation::kine::Kinematics::getInverse ( ) const
inline

returns the inverse of the current kinematics.

if the current object represents the kinematics of a frame 1 in a frame 2, will return the kinematics of the frame 2 in 1.

Returns
Kinematics

◆ integrate()

const Kinematics& stateObservation::kine::Kinematics::integrate ( double  dt)
inline

integrates the current kinematics over the timestep dt.

can be used to predict the future kinematics from the current ones.

Parameters
dtthe timestep used for the integration
Returns
const Kinematics &

◆ operator*()

Kinematics stateObservation::kine::Kinematics::operator* ( const Kinematics ) const
inline

composition of transformation

◆ operator=()

Kinematics& stateObservation::kine::Kinematics::operator= ( const LocalKinematics locK)
inline

fills the Kinematics object given its equivalent in the local frame.

performs the conversion from the local to the global expression of the kinematics.

Parameters
locKthe local kinematics to convert

◆ setToDiffNoAlias()

Kinematics& stateObservation::kine::Kinematics::setToDiffNoAlias ( const Kinematics multiplier1,
const Kinematics multiplier2 
)
inline

Allows to compute the difference between two Kinematics objects. Has the same effect than calling setToProductNoAlias(operand1, operand2.getInverse()) but is computationally faster

◆ setToDiffNoAliasAngPart()

Kinematics& stateObservation::kine::Kinematics::setToDiffNoAliasAngPart ( const Kinematics multiplier1,
const Kinematics multiplier2 
)
inline

◆ setToDiffNoAliasLinPart()

Kinematics& stateObservation::kine::Kinematics::setToDiffNoAliasLinPart ( const Kinematics multiplier1,
const Kinematics multiplier2 
)
inline

◆ setToProductNoAlias()

Kinematics& stateObservation::kine::Kinematics::setToProductNoAlias ( const Kinematics operand1,
const Kinematics operand2 
)
inline

computes the composition of two Kinematics object.

Parameters
operand1the first Kinematics object used in the composition
operand2the second Kinematics object used in the composition
Returns
Kinematics

◆ update()

const Kinematics& stateObservation::kine::Kinematics::update ( const Kinematics newValue,
double  dt,
Flags::Byte  = Flags::all 
)
inline

updates the current kinematics (k) with the new ones (k+1).

flags allow to chose what variables must be contained in the new kinematics. If a variable is not given in the updated Kinematics object, it computed using either integration or finite differences depending on the available information.

Parameters
newValuethe new values of the kinematics
dtthe time ellapsed between the current kinematics and the new ones.
Flagsthe flags indicating which variables are desired in the updated kinematics.
Returns
const Kinematics &

Member Data Documentation

◆ tempVec_

Vector3 stateObservation::kine::Kinematics::tempVec_
protected

The documentation for this struct was generated from the following file: