57 ,
const double &CurrentVelocity
58 ,
const double &TargetPosition
59 ,
const double &TargetVelocity
60 ,
const double &MaxVelocity
61 ,
const double &MaxAcceleration
62 ,
double *AlternativeExecutionTime)
64 double ThisCurrentPosition = CurrentPosition
65 , ThisCurrentVelocity = CurrentVelocity
66 , ThisTargetPosition = TargetPosition
67 , ThisTargetVelocity = TargetVelocity ;
69 *AlternativeExecutionTime = 0.0;
74 goto MDecision_1C__002;
79 , &ThisCurrentVelocity
81 , &ThisTargetVelocity );
83 goto MDecision_1C__002;
90 goto MDecision_1C__003;
95 , &ThisCurrentPosition
96 , &ThisCurrentVelocity
100 goto MDecision_1C__003;
106 , &ThisCurrentPosition
107 , &ThisCurrentVelocity
111 , &ThisCurrentVelocity
112 , &ThisTargetPosition
113 , &ThisTargetVelocity );
117 , ThisCurrentVelocity
124 , ThisCurrentVelocity
132 , ThisCurrentVelocity
bool Decision_1C__001(const double &CurrentVelocity)
Is (vi >= 0)?
void VToVMaxStep1(double *TotalTime, double *ThisCurrentPosition, double *ThisCurrentVelocity, const double &MaxVelocity, const double &MaxAcceleration)
One intermediate Step 1 trajectory segment: v -> +vmax (NegLin)
bool Decision_1C__002(const double &CurrentVelocity, const double &MaxVelocity)
Is (vi <= +vmax)?
double ProfileStep1PosTriNegLin(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
Calculates the execution time of the PosTriNegLin velocity profile.
Header file for decisions of the two decision trees of the Type II On-Line Trajectory Generation algo...
void NegateStep1(double *ThisCurrentPosition, double *ThisCurrentVelocity, double *ThisTargetPosition, double *ThisTargetVelocity)
Negate input values during Step 1.
Header file for functions and definitions of constant values and macros.
Header file for the Step 1 decision tree 1C of the Type II On-Line Trajectory Generation algorithm...
void VToZeroStep1(double *TotalTime, double *ThisCurrentPosition, double *ThisCurrentVelocity, const double &MaxAcceleration)
One intermediate Step 1 trajectory segment: v -> 0 (NegLin)
double ProfileStep1PosTrapNegLin(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
Calculates the execution time of the PosTrapNegLin velocity profile.
Header file for the Step 1 motion profiles.
void TypeIIRMLDecisionTree1C(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration, double *AlternativeExecutionTime)
This function contains the decision tree 1C of the Step 1 of the Type II On-Line Trajectory Generatio...
bool Decision_1C__003(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
If v->vmax->0->vtrgt, is p>=ptrgt?