|
libalmath
1.14.5
|
Functions | |
| std::vector< Pose2D > | AL::Math::getDubinsSolutions (const Pose2D &pTargetPose, const float pCircleRadius) |
| Get the dubins solutions. | |
| bool | AL::Math::clipData (const float &pMin, const float &pMax, float &pData) |
| Clip an input data inside min and max limit. | |
| Position6D | AL::Math::position6DFromVelocity6D (const Velocity6D &pVel) |
| Create a Position6D from a Velocity6D. | |
| Position3D | AL::Math::operator* (const Rotation &pRot, const Position3D &pPos) |
| Overloading of operator * between Rotation and Position3D: | |
| Velocity6D | AL::Math::operator* (const float pVal, const Position6D &pPos) |
| Overloading of operator * for float to Position6D, give a Velocity6D: | |
| Rotation | AL::Math::rotationFromAngleDirection (const float &pTheta, const Position3D &pPos) |
| Creates a 3*3 Rotation Matrix from a an angle and a normalized Position3D. | |
| void | AL::Math::transformLogarithmInPlace (const Transform &pT, Velocity6D &pVel) |
Compute the logarithme of a transform. Angle must be between . | |
| Velocity6D | AL::Math::transformLogarithm (const Transform &pT) |
Compute the logarithme of a transform. Angle must be between . | |
| Transform | AL::Math::velocityExponential (const Velocity6D &pVel) |
Compute the logarithme of a transform. Angle must be between . | |
| void | AL::Math::changeReferenceVelocity6D (const Transform &pT, const Velocity6D &pVelIn, Velocity6D &pVelOut) |
| void | AL::Math::changeReferencePosition6D (const Transform &pT, const Position6D &pPosIn, Position6D &pPosOut) |
| void | AL::Math::changeReferencePosition3D (const Transform &pT, const Position3D &pPosIn, Position3D &pPosOut) |
| void | AL::Math::changeReferenceTransposePosition3D (const Transform &pT, const Position3D &pPosIn, Position3D &pPosOut) |
| void | AL::Math::changeReferenceTransform (const Transform &pT, const Transform &pTIn, Transform &pTOut) |
| void | AL::Math::changeReferenceTransposeTransform (const Transform &pT, const Transform &pTIn, Transform &pTOut) |
| void | AL::Math::changeReferenceTransposeVelocity6D (const Transform &pT, const Velocity6D &pVelIn, Velocity6D &pVelOut) |
| void | AL::Math::changeReferenceTransposePosition6D (const Transform &pT, const Position6D &pPosIn, Position6D &pPosOut) |
| void | AL::Math::transformMeanInPlace (const Transform &pTIn1, const Transform &pTIn2, const float &pVal, Transform &pTOut) |
| Preform a logarithmic mean of pTIn1 and pTIn2 and put it in pTout. | |
| Transform | AL::Math::transformMean (const Transform &pTIn1, const Transform &pTIn2, const float &pVal=0.5f) |
| Preform a logarithmic mean of pTIn1 and pTIn2. | |
| Transform | AL::Math::transformFromRotationPosition3D (const Rotation &pRot, const float &pX, const float &pY, const float &pZ) |
| Create a Transform from 3D cartesian coordiantes and a Rotation. | |
| Transform | AL::Math::transformFromRotationPosition3D (const Rotation &pRot, const Position3D &pPos) |
| Create a Transform from a Position3D and a Rotation. | |
| void | AL::Math::transformFromPosition3DInPlace (const Position3D &pPosition, Transform &pTransform) |
| Modify pTransform to set the translation part to pPosition. | |
| Transform | AL::Math::transformFromPosition3D (const Position3D &pPosition) |
| Create a 4*4 transform matrix from cartesian coordinates given in pPosition. | |
| void | AL::Math::transformFromRotationInPlace (const Rotation &pRotation, Transform &pTransform) |
| Modify the rotation part of the transform. The translation part of the transform is not modified. | |
| Transform | AL::Math::transformFromRotation (const Rotation &pRotation) |
| void | AL::Math::rotationFromTransformInPlace (const Transform &pTransform, Rotation &pRotation) |
| Extract the position coordinates from a Transform. | |
| Rotation | AL::Math::rotationFromTransform (const Transform &pTransform) |
| Rotation3D | AL::Math::rotation3DFromRotation (const Rotation &pRotation) |
| void | AL::Math::position6DFromTransformInPlace (const Transform &pT, Position6D &pPos) |
| Compute Position6D corresponding to the Transform. | |
| Position6D | AL::Math::position6DFromTransform (const Transform &pT) |
| Compute Position6D corresponding to 4*4 Homogenous Transform. | |
| void | AL::Math::transformFromPose2DInPlace (const Pose2D &pPose, Transform &pT) |
| Compute a Transform from a Pose2D. | |
| Transform | AL::Math::transformFromPose2D (const Pose2D &pPose) |
| Create a Transform from a Pose2D. | |
| void | AL::Math::pose2DFromTransformInPlace (const Transform &pT, Pose2D &pPos) |
| Compute a Pose2D from a Transform. | |
| Pose2D | AL::Math::pose2DFromTransform (const Transform &pT) |
| Create a Pose2D from a Transform. | |
| Transform | AL::Math::transformFromRotation3D (const Rotation3D &pRotation) |
| Create a Transform from a Rotation3D. | |
| Transform | AL::Math::transformFromPosition6D (const Position6D &pPosition6D) |
| Create a Transform from a Position6D. | |
| void | AL::Math::position6DFromTransformDiffInPlace (const Transform &pCurrent, const Transform &pTarget, Position6D &result) |
| Computes a 6 differential motion require to move from a 4*4 Homogenous transform matrix Current to a 4*4 Homogenous transform matrix target. | |
| Position6D | AL::Math::position6DFromTransformDiff (const Transform &pCurrent, const Transform &pTarget) |
| Computes a 6 differential motion require to move from a 4*4 Homogenous transform matrix Current to a 4*4 Homogenous transform matrix target. | |
| void | AL::Math::position3DFromTransformInPlace (const Transform &pT, Position3D &pPos) |
| Compute a Position3D from a Transform. | |
| Position3D | AL::Math::position3DFromTransform (const Transform &pT) |
| Create a Position3D from a Transform. | |
| Rotation3D | AL::Math::rotation3DFromTransform (const Transform &pT) |
| Create a Rotation3D (Roll, Pitch, Yaw) corresponding to the rotational part of the Transform. | |
| void | AL::Math::transformFromRotVecInPlace (const int pAxis, const float pTheta, const Position3D &pPos, Transform &pT) |
| Compute a Transform from. | |
| Transform | AL::Math::transformFromRotVec (const int pAxis, const float pTheta, const Position3D &pPos) |
| Compute a Transform from a Rotation3D. | |
| void | AL::Math::transformFromRotVecInPlace (const Position3D &pPos, Transform &pT) |
| Compute a Transform from a Rotation3D. | |
| Transform | AL::Math::transformFromRotVec (const Position3D &pPos) |
| Compute a Transform from a Rotation3D. | |
| Transform | AL::Math::transformFromRotVec (const int &pAxis, const float &pTheta) |
| Compute a Transform from a Rotation3D. | |
| const bool | AL::Math::avoidFootCollision (const std::vector< Pose2D > &pLFootBoundingBox, const std::vector< Pose2D > &pRFootBoundingBox, const bool &pIsLeftSupport, Pose2D &pMove) |
| Compute the best position(orientation) of the foot to avoid collision. | |
| const bool | AL::Math::clipFootWithEllipse (const float &pMaxFootX, const float &pMaxFootY, Pose2D &pMove) |
| Clip foot move with ellipsoid function. | |
| const bool AL::Math::avoidFootCollision | ( | const std::vector< Pose2D > & | pLFootBoundingBox, |
| const std::vector< Pose2D > & | pRFootBoundingBox, | ||
| const bool & | pIsLeftSupport, | ||
| Pose2D & | pMove | ||
| ) |
Compute the best position(orientation) of the foot to avoid collision.
| pLFootBoundingBox | vector<Pose2D> of the left footBoundingBox. |
| pRFootBoundingBox | vector<Pose2D> of the right footBoundingBox. |
| pIsLeftSupport | Bool true if left is the support leg. |
| pMove | the desired and return Pose2D. |
| void AL::Math::changeReferencePosition3D | ( | const Transform & | pT, |
| const Position3D & | pPosIn, | ||
| Position3D & | pPosOut | ||
| ) |
| pT | the given Transform |
| pPosIn | a Position3D containing the position to change |
| pPosOut | a Position3D containing the changed position |
| void AL::Math::changeReferencePosition6D | ( | const Transform & | pT, |
| const Position6D & | pPosIn, | ||
| Position6D & | pPosOut | ||
| ) |
| pT | the given Transform |
| pPosIn | a Position6D containing the position to change |
| pPosOut | a Position6D containing the changed position |
| void AL::Math::changeReferenceTransform | ( | const Transform & | pT, |
| const Transform & | pTIn, | ||
| Transform & | pTOut | ||
| ) |
| void AL::Math::changeReferenceTransposePosition3D | ( | const Transform & | pT, |
| const Position3D & | pPosIn, | ||
| Position3D & | pPosOut | ||
| ) |
| pT | the given Transform |
| pPosIn | a Position3D containing the position to change |
| pPosOut | a Position3D containing the changed position |
| void AL::Math::changeReferenceTransposePosition6D | ( | const Transform & | pT, |
| const Position6D & | pPosIn, | ||
| Position6D & | pPosOut | ||
| ) |
| pT | the given Transform |
| pPosIn | a Position6D containing the position to change |
| pPosOut | a Position6D containing the changed position |
| void AL::Math::changeReferenceTransposeTransform | ( | const Transform & | pT, |
| const Transform & | pTIn, | ||
| Transform & | pTOut | ||
| ) |
| void AL::Math::changeReferenceTransposeVelocity6D | ( | const Transform & | pT, |
| const Velocity6D & | pVelIn, | ||
| Velocity6D & | pVelOut | ||
| ) |
| pT | the given Transform |
| pVelIn | a Velocity6D containing the velocity to change |
| pVelOut | a Velocity6D containing the changed velocity |
| void AL::Math::changeReferenceVelocity6D | ( | const Transform & | pT, |
| const Velocity6D & | pVelIn, | ||
| Velocity6D & | pVelOut | ||
| ) |
| pT | the given Transform |
| pVelIn | a Velocity6D containing the velocity to change |
| pVelOut | a Velocity6D containing the changed velocity |
| bool AL::Math::clipData | ( | const float & | pMin, |
| const float & | pMax, | ||
| float & | pData | ||
| ) |
Clip an input data inside min and max limit.

| pMin | the min limit |
| pMax | the max limit |
| pData | the clipped data |
| const bool AL::Math::clipFootWithEllipse | ( | const float & | pMaxFootX, |
| const float & | pMaxFootY, | ||
| Pose2D & | pMove | ||
| ) |
Clip foot move with ellipsoid function.
| pMaxFootX | float of the max step along x axis. |
| pMaxFootY | float of the max step along y axis. |
| pMove | the desired and return Pose2D. |
| std::vector<Pose2D> AL::Math::getDubinsSolutions | ( | const Pose2D & | pTargetPose, |
| const float | pCircleRadius | ||
| ) |
Get the dubins solutions.
| pTargetPose | the target pose |
| pCircleRadius | the circle radius |
| Position3D AL::Math::operator* | ( | const Rotation & | pRot, |
| const Position3D & | pPos | ||
| ) |
Overloading of operator * between Rotation and Position3D:
![$\left[\begin{array}{c} result.x \\ result.y \\ result.z \end{array}\right] = \left[\begin{array}{ccc} pRot.r_1c_1 & pRot.r_1c_2 & pRot.r_1c_3 \\ pRot.r_2c_1 & pRot.r_2c_2 & pRot.r_2c_3 \\ pRot.r_3c_1 & pRot.r_3c_2 & pRot.r_3c_3 \end{array}\right] * \left[\begin{array}{c} pPos.x \\ pPos.y \\ pPos.z \end{array}\right] $](form_2.png)
| pRot | the given Rotation |
| pPos | the given Position3D |
| Velocity6D AL::Math::operator* | ( | const float | pVal, |
| const Position6D & | pPos | ||
| ) |
Overloading of operator * for float to Position6D, give a Velocity6D:

| pVal | the given float |
| pPos | the given Position6D |
| Pose2D AL::Math::pose2DFromTransform | ( | const Transform & | pT | ) |
| void AL::Math::pose2DFromTransformInPlace | ( | const Transform & | pT, |
| Pose2D & | pPos | ||
| ) |
| Position3D AL::Math::position3DFromTransform | ( | const Transform & | pT | ) |
Create a Position3D from a Transform.
| pT | the Transform you want to extract |
| void AL::Math::position3DFromTransformInPlace | ( | const Transform & | pT, |
| Position3D & | pPos | ||
| ) |
Compute a Position3D from a Transform.
| pT | the Transform you want to extract |
| pPos | the result Position3D |
| Position6D AL::Math::position6DFromTransform | ( | const Transform & | pT | ) |
Compute Position6D corresponding to 4*4 Homogenous Transform.
| pT | the transform you want to extract |
| Position6D AL::Math::position6DFromTransformDiff | ( | const Transform & | pCurrent, |
| const Transform & | pTarget | ||
| ) |
Computes a 6 differential motion require to move from a 4*4 Homogenous transform matrix Current to a 4*4 Homogenous transform matrix target.
| pCurrent | the Position6D you want to extract |
| pTarget | the Position6D you want to extract |
| void AL::Math::position6DFromTransformDiffInPlace | ( | const Transform & | pCurrent, |
| const Transform & | pTarget, | ||
| Position6D & | result | ||
| ) |
Computes a 6 differential motion require to move from a 4*4 Homogenous transform matrix Current to a 4*4 Homogenous transform matrix target.
| pCurrent | the Position6D you want to extract |
| pTarget | the Position6D you want to extract |
| result | the result Position6D |
| void AL::Math::position6DFromTransformInPlace | ( | const Transform & | pT, |
| Position6D & | pPos | ||
| ) |
Compute Position6D corresponding to the Transform.
| pT | the transform you want to extract |
| pPos | the transform you want to extract |
| Position6D AL::Math::position6DFromVelocity6D | ( | const Velocity6D & | pVel | ) |
Create a Position6D from a Velocity6D.

| pVel | the given Velocity6D |
| Rotation3D AL::Math::rotation3DFromRotation | ( | const Rotation & | pRotation | ) |
| pRotation | the Rotation to extract |
| Rotation3D AL::Math::rotation3DFromTransform | ( | const Transform & | pT | ) |
Create a Rotation3D (Roll, Pitch, Yaw) corresponding to the rotational part of the Transform.
| pT | the Transform you want to extract |
| Rotation AL::Math::rotationFromAngleDirection | ( | const float & | pTheta, |
| const Position3D & | pPos | ||
| ) |
Creates a 3*3 Rotation Matrix from a an angle and a normalized Position3D.
| pTheta | the float value of angle in radian |
| pPos | the Position3D direction of the vector of the rotation, normalized |
| Rotation AL::Math::rotationFromTransform | ( | const Transform & | pTransform | ) |
| void AL::Math::rotationFromTransformInPlace | ( | const Transform & | pTransform, |
| Rotation & | pRotation | ||
| ) |
| Transform AL::Math::transformFromPose2D | ( | const Pose2D & | pPose | ) |
| void AL::Math::transformFromPose2DInPlace | ( | const Pose2D & | pPose, |
| Transform & | pT | ||
| ) |
| Transform AL::Math::transformFromPosition3D | ( | const Position3D & | pPosition | ) |
Create a 4*4 transform matrix from cartesian coordinates given in pPosition.
| pPosition | position in cartesian coordinates |
| void AL::Math::transformFromPosition3DInPlace | ( | const Position3D & | pPosition, |
| Transform & | pTransform | ||
| ) |
Modify pTransform to set the translation part to pPosition.
| pPosition | a Position3D cartesian coordinates |
| pTransform | the given Transform |
| Transform AL::Math::transformFromPosition6D | ( | const Position6D & | pPosition6D | ) |
Create a Transform from a Position6D.
| pPosition6D | the Position6D you want to extract |
| Transform AL::Math::transformFromRotation | ( | const Rotation & | pRotation | ) |
| Transform AL::Math::transformFromRotation3D | ( | const Rotation3D & | pRotation | ) |
Create a Transform from a Rotation3D.
| pRotation | the Rotation you want to extract |
| void AL::Math::transformFromRotationInPlace | ( | const Rotation & | pRotation, |
| Transform & | pTransform | ||
| ) |
| Transform AL::Math::transformFromRotationPosition3D | ( | const Rotation & | pRot, |
| const float & | pX, | ||
| const float & | pY, | ||
| const float & | pZ | ||
| ) |
| Transform AL::Math::transformFromRotationPosition3D | ( | const Rotation & | pRot, |
| const Position3D & | pPos | ||
| ) |
Create a Transform from a Position3D and a Rotation.
| pPos | the given Position3D |
| pRot | the given Rotation |
| Transform AL::Math::transformFromRotVec | ( | const int | pAxis, |
| const float | pTheta, | ||
| const Position3D & | pPos | ||
| ) |
| Transform AL::Math::transformFromRotVec | ( | const Position3D & | pPos | ) |
Compute a Transform from a Rotation3D.
| pPos | the Rotation you want to extract |
| Transform AL::Math::transformFromRotVec | ( | const int & | pAxis, |
| const float & | pTheta | ||
| ) |
Compute a Transform from a Rotation3D.
| void AL::Math::transformFromRotVecInPlace | ( | const int | pAxis, |
| const float | pTheta, | ||
| const Position3D & | pPos, | ||
| Transform & | pT | ||
| ) |
Compute a Transform from.
| pAxis | the Rotation you want to extract |
| pTheta | the rotation you want to extract |
| pPos | the Position3D you want to extract |
| pT | the Rotation you want to extract |
| void AL::Math::transformFromRotVecInPlace | ( | const Position3D & | pPos, |
| Transform & | pT | ||
| ) |
Compute a Transform from a Rotation3D.
| Velocity6D AL::Math::transformLogarithm | ( | const Transform & | pT | ) |
Compute the logarithme of a transform. Angle must be between
.
Cette fonction calcule le logarithme associe a une matrice de type Deplacement - matrice homogene 4x4 (SE3) La sortie est un torseur cinematique de se3. Le resultat n'est garanti que pour des angles dans [-pi+0.001,pi-0.001]. cette fonction calcule la differentielle du logarithme associe a une matrice de type Deplacement - matrice homogene 4x4 (SE3).
| pT | the given Transform |
| void AL::Math::transformLogarithmInPlace | ( | const Transform & | pT, |
| Velocity6D & | pVel | ||
| ) |
Compute the logarithme of a transform. Angle must be between
.
Cette fonction calcule le logarithme associe a une matrice de type Deplacement - matrice homogene 4x4 (SE3) La sortie est un torseur cinematique de se3. Le resultat n'est garanti que pour des angles dans [-pi+0.001,pi-0.001]. cette fonction calcule la differentielle du logarithme associe a une matrice de type Deplacement - matrice homogene 4x4 (SE3).
| Transform AL::Math::transformMean | ( | const Transform & | pTIn1, |
| const Transform & | pTIn2, | ||
| const float & | pVal = 0.5f |
||
| ) |
| void AL::Math::transformMeanInPlace | ( | const Transform & | pTIn1, |
| const Transform & | pTIn2, | ||
| const float & | pVal, | ||
| Transform & | pTOut | ||
| ) |
| Transform AL::Math::velocityExponential | ( | const Velocity6D & | pVel | ) |
Compute the logarithme of a transform. Angle must be between
.
Function Velocity Exponential : compute homogenous matrix displacement from a dt * 6D velocity vector.
| pVel | the given Velocity6D |