Class facilitating the manipulation of the local kinematics of a frame within another and the associated operations. More...
#include <state-observation/tools/rigid-body-kinematics.hpp>
Public Member Functions | |
LocalKinematics () | |
LocalKinematics (const Vector &v, Flags::Byte flags) | |
LocalKinematics (const LocalKinematics &multiplier1, const LocalKinematics &multiplier2) | |
constructor of a LocalKinematics object resulting from the composition of two others. More... | |
LocalKinematics (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... | |
LocalKinematics (const Kinematics &kin) | |
constructor of a LocalKinematics object given its equivalent in the global frame. More... | |
LocalKinematics & | operator= (const Kinematics &kine) |
fills the LocalKinematics object given its equivalent in the global frame. More... | |
template<typename t = Quaternion> | |
LocalKinematics & | setZero (Flags::Byte=Flags::all) |
const LocalKinematics & | integrate (double dt) |
integrates the current local kinematics over the timestep dt. More... | |
const LocalKinematics & | update (const LocalKinematics &newValue, double dt, Flags::Byte=Flags::all) |
updates the current local kinematics (k) with the new ones (k+1). More... | |
LocalKinematics | getInverse () const |
returns the inverse of the current local kinematics. More... | |
LocalKinematics | operator* (const LocalKinematics &) const |
composition of transformation More... | |
LocalKinematics & | setToProductNoAlias (const LocalKinematics &operand1, const LocalKinematics &operand2) |
computes the composition of two LocalKinematics object. More... | |
LocalKinematics & | setToDiffNoAlias (const LocalKinematics &multiplier1, const LocalKinematics &multiplier2) |
LocalKinematics & | setToDiffNoAliasLinPart (const LocalKinematics &multiplier1, const LocalKinematics &multiplier2) |
Linear part of the setToDiffNoAlias(const LocalKinematics &, const LocalKinematics &) function. More... | |
LocalKinematics & | setToDiffNoAliasAngPart (const LocalKinematics &multiplier1, const LocalKinematics &multiplier2) |
Angular part of the setToDiffNoAlias(const LocalKinematics &, const LocalKinematics &) 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 () |
LocalKinematics & | fromVector (const Vector &v, typename Flags::Byte=Flags::all) |
LocalKinematics & | setZero (typename Flags::Byte=Flags::all) |
Vector | toVector (typename Flags::Byte) const |
Vector | toVector () const |
Protected Attributes | |
Vector3 | tempVec_ |
Vector3 | tempVec_2 |
Vector3 | tempVec_3 |
Vector3 | tempVec_4 |
Vector3 | tempVec_5 |
Additional Inherited Members | |
![]() | |
static LocalKinematics | 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 local 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 |
|
inline |
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
|
inline |
constructor of a LocalKinematics object resulting from the composition of two others.
multiplier1 | the first LocalKinematics object used for the composition |
multiplier2 | the second LocalKinematics object used for the composition |
stateObservation::kine::LocalKinematics::LocalKinematics | ( | 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 LocalKinematics object given its equivalent in the global frame.
performs the conversion from the global to the local expression of the kinematics.
locK | the global kinematics to convert |
|
inline |
returns the inverse of the current local kinematics.
if the current object represents the local kinematics of a frame 1 in a frame 2, will return the local kinematics of the frame 2 in 1.
|
inline |
integrates the current local kinematics over the timestep dt.
can be used to predict the future local kinematics from the current ones.
dt | the timestep used for the integration |
|
inline |
composition of transformation
|
inline |
fills the LocalKinematics object given its equivalent in the global frame.
performs the conversion from the global to the local expression of the kinematics.
locK | the global kinematics to convert |
|
inline |
Allows to compute the difference between two LocalKinematics objects. Has the same effect that calling setToProductNoAlias(operand1, operand2.getInverse()) but is computationally faster
|
inline |
Angular part of the setToDiffNoAlias(const LocalKinematics &, const LocalKinematics &) function.
|
inline |
Linear part of the setToDiffNoAlias(const LocalKinematics &, const LocalKinematics &) function.
|
inline |
computes the composition of two LocalKinematics object.
operand1 | the first LocalKinematics object used in the composition |
operand2 | the second LocalKinematics object used in the composition |
LocalKinematics& stateObservation::kine::LocalKinematics::setZero | ( | Flags::Byte | = Flags::all | ) |
initializes at zero all the flagged fields the typename allows to set if the prefered type for rotation is a Matrix3 or a Quaternion (Quaternion by default)
|
inline |
updates the current local kinematics (k) with the new ones (k+1).
flags allow to chose what variables must be contained in the new local kinematics. If a variable is not given in the updated LocalKinematics object, it computed using either integration or finite differences depending on the available information.
newValue | the new values of the local kinematics |
dt | the time ellapsed between the current kinematics and the new ones. |
Flags | the flags indicating which variables are desired in the updated local kinematics. |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |