Fast Research Interface Library  Manual and Documentation
Classes | Functions
TypeIRMLMath Namespace Reference

Classes

class  TypeIRMLInputParameters
 This class describes the input parameters of the Reflexxes Motion Library (Type I) More...
class  TypeIRMLOutputParameters
 This class describes the output parameters of the Reflexxes Motion Library (Type I) More...
class  TypeIRMLPolynomial
 This class realizes polynomials of degree three as required for the Type I On-Line Trajectory Generator. More...
struct  TypeIMotionPolynomials
 Three arrays of TypeIRMLMath::TypeIRMLPolynomial. More...

Functions

bool Decision_1001 (const double &CurrentVelocity)
 Is (vi >= 0)?
bool Decision_1002 (const double &CurrentVelocity, const double &MaxVelocity)
 Is (vi >= vmax)?
bool Decision_1003 (const double &CurrentPosition, const double &CurrentVelocity, const double &MaxAcceleration, const double &TargetPosition)
 If v->0, is (p<=ptrgt)?
bool Decision_1004 (const double &CurrentPosition, const double &CurrentVelocity, const double &MaxVelocity, const double &MaxAcceleration, const double &TargetPosition)
 If v->+vmax->0, is p<=ptrgt?
bool Decision_2001 (const double &CurrentVelocity)
 Is (vi >= 0)?
bool Decision_2002 (const double &CurrentVelocity, const double &MaxVelocity)
 Is (vi <= vmax)?
bool Decision_2003 (const double &CurrentPosition, const double &CurrentVelocity, const double &MaxAcceleration, const double &TargetPosition)
 If v->0, is (p<=ptrgt)?
bool Decision_2004 (const double &CurrentPosition, const double &CurrentVelocity, const double &MaxAcceleration, const double &TargetPosition, const double &SynchronizationTime)
 If v->hold->0, so that t=tsync, is p<=ptrgt?
double RMLSqrt (const double &Value)
 Calculates the real square root of a given value.
double ProfileStep1PosTri (const double &CurrentPosition, const double &CurrentVelocity, const double &MaxAcceleration, const double &TargetPosition)
 Calculates the execution time of the PosTri velocity profile.
double ProfileStep1PosTrap (const double &CurrentPosition, const double &CurrentVelocity, const double &MaxVelocity, const double &MaxAcceleration, const double &TargetPosition)
 Calculates the execution time of the PosTrap velocity profile.
void ProfileStep2V_To_Vmax (double *CurrentPosition, double *CurrentVelocity, const double &MaxVelocity, const double &MaxAcceleration, double *ElapsedTime, const bool &SignsAreInverted, TypeIRMLMath::TypeIMotionPolynomials *P)
 Calculates the polynomial parameters to bring the velocity value to the maximum velocity.
void ProfileStep2V_To_Zero (double *CurrentPosition, double *CurrentVelocity, const double &MaxAcceleration, double *ElapsedTime, const bool &SignsAreInverted, TypeIRMLMath::TypeIMotionPolynomials *P)
 Calculates the polynomial parameters to bring the velocity value to zero.
void ProfileStep2PosTrap (double *CurrentPosition, double *CurrentVelocity, const double &MaxAcceleration, const double &TargetPosition, const double &SynchronizationTime, double *ElapsedTime, const bool &SignsAreInverted, TypeIRMLMath::TypeIMotionPolynomials *P)
 Calculates all trajectory parameters the PosTrap velocity profile.
void ProfileStep2NegHldNegLin (double *CurrentPosition, double *CurrentVelocity, const double &MaxAcceleration, const double &TargetPosition, const double &SynchronizationTime, double *ElapsedTime, const bool &SignsAreInverted, TypeIRMLMath::TypeIMotionPolynomials *P)
 Calculates all trajectory parameters the NegHldNegLin velocity profile.

Function Documentation

bool TypeIRMLMath::Decision_1001 ( const double &  CurrentVelocity)

Is (vi >= 0)?

Definition at line 61 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_1002 ( const double &  CurrentVelocity,
const double &  MaxVelocity 
)

Is (vi >= vmax)?

Definition at line 70 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_1003 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition 
)

If v->0, is (p<=ptrgt)?

Definition at line 80 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_1004 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition 
)

If v->+vmax->0, is p<=ptrgt?

Definition at line 92 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_2001 ( const double &  CurrentVelocity)

Is (vi >= 0)?

Definition at line 106 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_2002 ( const double &  CurrentVelocity,
const double &  MaxVelocity 
)

Is (vi <= vmax)?

Definition at line 115 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_2003 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition 
)

If v->0, is (p<=ptrgt)?

Definition at line 126 of file TypeIRMLDecision.cpp.

bool TypeIRMLMath::Decision_2004 ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition,
const double &  SynchronizationTime 
)

If v->hold->0, so that t=tsync, is p<=ptrgt?

Definition at line 141 of file TypeIRMLDecision.cpp.

double TypeIRMLMath::ProfileStep1PosTrap ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition 
)

Calculates the execution time of the PosTrap velocity profile.

Parameters:
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
Returns:
Execution time for this profile in seconds

Definition at line 80 of file TypeIRMLProfiles.cpp.

double TypeIRMLMath::ProfileStep1PosTri ( const double &  CurrentPosition,
const double &  CurrentVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition 
)

Calculates the execution time of the PosTri velocity profile.

Parameters:
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
Returns:
Execution time for this profile in seconds

Definition at line 64 of file TypeIRMLProfiles.cpp.

void TypeIRMLMath::ProfileStep2NegHldNegLin ( double *  CurrentPosition,
double *  CurrentVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition,
const double &  SynchronizationTime,
double *  ElapsedTime,
const bool &  SignsAreInverted,
TypeIRMLMath::TypeIMotionPolynomials P 
)

Calculates all trajectory parameters the NegHldNegLin velocity profile.

Parameters:
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
SynchronizationTimeSynchronization time $\ t_{i}^{\,sync} $
ElapsedTimeElapsed time in seconds, this value may be modified by the method.
SignsAreInvertedIndicates whether the signs of the above values are inverted
PThe set of polynomials that are parameterized by this method

Definition at line 294 of file TypeIRMLProfiles.cpp.

void TypeIRMLMath::ProfileStep2PosTrap ( double *  CurrentPosition,
double *  CurrentVelocity,
const double &  MaxAcceleration,
const double &  TargetPosition,
const double &  SynchronizationTime,
double *  ElapsedTime,
const bool &  SignsAreInverted,
TypeIRMLMath::TypeIMotionPolynomials P 
)

Calculates all trajectory parameters the PosTrap velocity profile.

Parameters:
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
TargetPositionTarget position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i}^{\,trgt} $
SynchronizationTimeSynchronization time $\ t_{i}^{\,sync} $
ElapsedTimeElapsed time in seconds, this value may be modified by the method.
SignsAreInvertedIndicates whether the signs of the above values are inverted
PThe set of polynomials that are parameterized by this method

Definition at line 174 of file TypeIRMLProfiles.cpp.

void TypeIRMLMath::ProfileStep2V_To_Vmax ( double *  CurrentPosition,
double *  CurrentVelocity,
const double &  MaxVelocity,
const double &  MaxAcceleration,
double *  ElapsedTime,
const bool &  SignsAreInverted,
TypeIRMLMath::TypeIMotionPolynomials P 
)

Calculates the polynomial parameters to bring the velocity value to the maximum velocity.

Parameters:
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
MaxVelocityMaximum allowed velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i}^{\,max} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
ElapsedTimeElapsed time in seconds, this value may be modified by the method.
SignsAreInvertedIndicates whether the signs of the above values are inverted
PThe set of polynomials that are parameterized by this method

Definition at line 96 of file TypeIRMLProfiles.cpp.

void TypeIRMLMath::ProfileStep2V_To_Zero ( double *  CurrentPosition,
double *  CurrentVelocity,
const double &  MaxAcceleration,
double *  ElapsedTime,
const bool &  SignsAreInverted,
TypeIRMLMath::TypeIMotionPolynomials P 
)

Calculates the polynomial parameters to bring the velocity value to zero.

Parameters:
CurrentPositionCurrent position value for DOF $ k $ at instant $ T_{i} $, $\ _{k}P_{i} $
CurrentVelocityCurrent velocity value for DOF $ k $ at instant $ T_{i} $, $\ _{k}V_{i} $
MaxAccelerationMaximum allowed acceleration value for DOF $ k $ at instant $ T_{i} $, $\ _{k}A_{i}^{\,max} $
ElapsedTimeElapsed time in seconds, this value may be modified by the method.
SignsAreInvertedIndicates whether the signs of the above values are inverted
PThe set of polynomials that are parameterized by this method

Definition at line 135 of file TypeIRMLProfiles.cpp.

double TypeIRMLMath::RMLSqrt ( const double &  Value)

Calculates the real square root of a given value.

If the value is negative a value of zero will be returned.

Parameters:
ValueSquare root radicand
Returns:
Square root value (real)

Definition at line 62 of file TypeIRMLMath.cpp.

This document was generated with Doxygen on Thu Apr 12 2012 11:18:55. User documentation of the Fast Research Interface Library for the KUKA Lightweight Robot IV by the Stanford Robotics Research Group. Copyright 2010–2012.