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>
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... | |
Kinematics & | operator= (const LocalKinematics &locK) |
fills the Kinematics object given its equivalent in the local frame. More... | |
const Kinematics & | integrate (double dt) |
integrates the current kinematics over the timestep dt. More... | |
const Kinematics & | update (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... | |
Kinematics & | setToProductNoAlias (const Kinematics &operand1, const Kinematics &operand2) |
computes the composition of two Kinematics object. More... | |
Kinematics & | setToDiffNoAlias (const Kinematics &multiplier1, const Kinematics &multiplier2) |
Kinematics & | setToDiffNoAliasLinPart (const Kinematics &multiplier1, const Kinematics &multiplier2) |
Linear part of the setToDiffNoAlias(const Kinematics &, const Kinematics &) function. More... | |
Kinematics & | setToDiffNoAliasAngPart (const Kinematics &multiplier1, const Kinematics &multiplier2) |
Angular part of the setToDiffNoAlias(const Kinematics &, const Kinematics &) function. More... | |
![]() | |
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 () |
Kinematics & | fromVector (const Vector &v, typename Flags::Byte=Flags::all) |
Kinematics & | setZero (typename Flags::Byte=Flags::all) |
Vector | toVector (typename Flags::Byte) const |
Vector | toVector () const |
Protected Attributes | |
Vector3 | tempVec_ |
Additional Inherited Members | |
![]() | |
static Kinematics | zeroKinematics (typename Flags::Byte=Flags::all) |
returns an object corresponding to zero kinematics on the desired variables. More... | |
![]() | |
CheckedVector3 | position |
Orientation | orientation |
CheckedVector3 | linVel |
CheckedVector3 | angVel |
CheckedVector3 | linAcc |
CheckedVector3 | angAcc |
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.
|
inline |
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
stateObservation::kine::Kinematics::Kinematics | ( | const Kinematics & | multiplier1, |
const Kinematics & | multiplier2 | ||
) |
constructor of a Kinematics object resulting from the composition of two others.
multiplier1 | the first Kinematics object used for the composition |
multiplier2 | the second Kinematics object used for the composition |
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.
position | the position composing the kinematics |
linVel | the linear velocity composing the kinematics |
linAcc | the linear acceleration composing the kinematics |
orientation | the orientation composing the kinematics |
angVel | the angular velocity composing the kinematics |
angAcc | the angular acceleration composing the kinematics |
|
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.
locK | the local kinematics to convert |
|
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.
|
inline |
integrates the current kinematics over the timestep dt.
can be used to predict the future kinematics from the current ones.
dt | the timestep used for the integration |
|
inline |
composition of transformation
|
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.
locK | the local kinematics to convert |
|
inline |
Allows to compute the difference between two Kinematics objects. Has the same effect than calling setToProductNoAlias(operand1, operand2.getInverse()) but is computationally faster
|
inline |
Angular part of the setToDiffNoAlias(const Kinematics &, const Kinematics &) function.
|
inline |
Linear part of the setToDiffNoAlias(const Kinematics &, const Kinematics &) function.
|
inline |
computes the composition of two Kinematics object.
operand1 | the first Kinematics object used in the composition |
operand2 | the second Kinematics object used in the composition |
|
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.
newValue | the new values of the kinematics |
dt | the time ellapsed between the current kinematics and the new ones. |
Flags | the flags indicating which variables are desired in the updated kinematics. |
|
protected |