54 return(CurrentVelocity >= 0.0);
62 ,
const double &MaxVelocity)
64 return(CurrentVelocity <= MaxVelocity);
72 ,
const double &TargetVelocity)
74 return(CurrentVelocity <= TargetVelocity);
82 ,
const double &CurrentVelocity
83 ,
const double &TargetPosition
84 ,
const double &TargetVelocity
85 ,
const double &MaxAcceleration)
87 return( (CurrentPosition + 0.5 * (
pow2(TargetVelocity)
88 -
pow2(CurrentVelocity)) / MaxAcceleration)
97 ,
const double &CurrentVelocity
98 ,
const double &TargetPosition
99 ,
const double &TargetVelocity
100 ,
const double &MaxVelocity
101 ,
const double &MaxAcceleration)
103 return( (CurrentPosition + (3.0 *
pow2(MaxVelocity)
104 -
pow2(CurrentVelocity) - CurrentVelocity * (MaxVelocity
105 - TargetVelocity) - MaxVelocity * TargetVelocity
106 -
pow2(TargetVelocity)) / (2.0 * MaxAcceleration))
116 return(TargetVelocity >= 0.0);
124 ,
const double &CurrentVelocity
125 ,
const double &TargetPosition
126 ,
const double &TargetVelocity
127 ,
const double &MaxAcceleration)
129 return( (CurrentPosition + 0.5 * (
pow2(CurrentVelocity)
130 -
pow2(TargetVelocity)) / MaxAcceleration)
139 ,
const double &CurrentVelocity
140 ,
const double &TargetPosition
141 ,
const double &TargetVelocity
142 ,
const double &MaxAcceleration)
144 return( (CurrentPosition + (
pow2(CurrentVelocity)
145 -
pow2(TargetVelocity)) / (2.0 * MaxAcceleration))
155 ,
const double &CurrentVelocity
156 ,
const double &TargetPosition
157 ,
const double &TargetVelocity
158 ,
const double &MaxVelocity
159 ,
const double &MaxAcceleration)
161 return( (CurrentPosition + (2.0 *
pow2(MaxVelocity)
162 -
pow2(TargetVelocity) -
pow2(CurrentVelocity))
163 / (2.0 * MaxAcceleration))
181 ,
const double &MaxVelocity)
201 ,
const double &TargetVelocity)
212 ,
const double &CurrentVelocity
213 ,
const double &TargetPosition
214 ,
const double &TargetVelocity
215 ,
const double &MaxAcceleration)
221 , MaxAcceleration ));
229 ,
const double &CurrentVelocity
230 ,
const double &TargetPosition
231 ,
const double &TargetVelocity
232 ,
const double &MaxAcceleration)
234 return( (CurrentPosition + (
pow2(CurrentVelocity)
235 +
pow2(TargetVelocity)) / (2.0 * MaxAcceleration))
244 ,
const double &CurrentVelocity
245 ,
const double &TargetPosition
246 ,
const double &TargetVelocity
247 ,
const double &MaxAcceleration)
253 , MaxAcceleration ));
270 ,
const double &MaxVelocity)
281 ,
const double &CurrentVelocity
282 ,
const double &TargetPosition
283 ,
const double &TargetVelocity
284 ,
const double &MaxVelocity
285 ,
const double &MaxAcceleration)
292 , MaxAcceleration ));
309 ,
const double &MaxVelocity)
320 ,
const double &TargetVelocity)
331 ,
const double &CurrentVelocity
332 ,
const double &TargetPosition
333 ,
const double &TargetVelocity
334 ,
const double &MaxAcceleration
335 ,
const double &CurrentTime
336 ,
const double &SynchronizationTime)
338 return( (CurrentPosition + (SynchronizationTime - CurrentTime)
339 * TargetVelocity -
pow2(CurrentVelocity - TargetVelocity)
340 / (2.0 * MaxAcceleration))
349 ,
const double &CurrentVelocity
350 ,
const double &TargetPosition
351 ,
const double &TargetVelocity
352 ,
const double &MaxAcceleration
353 ,
const double &CurrentTime
354 ,
const double &SynchronizationTime)
356 return( (CurrentPosition + (SynchronizationTime - CurrentTime)
357 * CurrentVelocity +
pow2(CurrentVelocity - TargetVelocity)
358 / (2.0 * MaxAcceleration))
367 ,
const double &SynchronizationTime
368 ,
const double &CurrentPosition
369 ,
const double &CurrentVelocity
370 ,
const double &TargetPosition
371 ,
const double &TargetVelocity
372 ,
const double &MaxAcceleration)
374 return( ((CurrentPosition + (
pow2(CurrentVelocity)
375 +
pow2(TargetVelocity)) / (2.0 * MaxAcceleration))
377 || ((((CurrentVelocity + TargetVelocity) / MaxAcceleration)
378 > (SynchronizationTime - CurrentTime))));
395 ,
const double &CurrentVelocity
396 ,
const double &TargetPosition
397 ,
const double &TargetVelocity
398 ,
const double &MaxAcceleration
399 ,
const double &CurrentTime
400 ,
const double &SynchronizationTime)
402 return( (CurrentPosition + (SynchronizationTime - CurrentTime)
403 * CurrentVelocity -
pow2(CurrentVelocity - TargetVelocity)
404 / (2.0 * MaxAcceleration))
413 ,
const double &CurrentVelocity
414 ,
const double &TargetPosition
415 ,
const double &TargetVelocity
416 ,
const double &MaxAcceleration
417 ,
const double &CurrentTime
418 ,
const double &SynchronizationTime)
420 return( (CurrentPosition + (SynchronizationTime - CurrentTime)
421 * TargetVelocity +
pow2(CurrentVelocity - TargetVelocity)
422 / (2.0 * MaxAcceleration))
431 ,
const double &CurrentVelocity
432 ,
const double &TargetPosition
433 ,
const double &TargetVelocity
434 ,
const double &MaxAcceleration)
440 , MaxAcceleration ));
448 ,
const double &CurrentVelocity
449 ,
const double &TargetPosition
450 ,
const double &TargetVelocity
451 ,
const double &MaxAcceleration
452 ,
const double &CurrentTime
453 ,
const double &SynchronizationTime)
461 , SynchronizationTime ));
469 ,
const double &CurrentVelocity
470 ,
const double &TargetPosition
471 ,
const double &TargetVelocity
472 ,
const double &MaxAcceleration
473 ,
const double &CurrentTime
474 ,
const double &SynchronizationTime)
476 return( (CurrentPosition + (SynchronizationTime - CurrentTime)
477 * CurrentVelocity -
pow2(CurrentVelocity - TargetVelocity)
478 / (2.0 * MaxAcceleration))
486 ,
const double &TargetVelocity)
bool Decision_1A__008(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->0->vtrgt, is p>=ptrgt?
bool Decision_1C__001(const double &CurrentVelocity)
Is (vi >= 0)?
bool Decision_1C__002(const double &CurrentVelocity, const double &MaxVelocity)
Is (vi <= +vmax)?
bool Decision_2___009(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
If v->vtrgt->hold, so that t=tsync, is p<=ptrgt?
bool Decision_2___002(const double &CurrentVelocity, const double &MaxVelocity)
Is (vi <= +vmax)?
bool Decision_1A__004(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->vtrgt, is p<=ptrgt?
Header file for decisions of the two decision trees of the Type II On-Line Trajectory Generation algo...
bool Decision_1B__004(const double &CurrentVelocity, const double &TargetVelocity)
Is (vi <= vtrgt)?
bool Decision_V___001(const double &CurrentVelocity, const double &TargetVelocity)
Is (vi <= vtrgt)?
bool Decision_1B__001(const double &CurrentVelocity)
Is (vi >= 0)?
bool Decision_2___010(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->0->vtrgt, is p>=ptrgt?
Header file for functions and definitions of constant values and macros.
bool Decision_1A__003(const double &CurrentVelocity, const double &TargetVelocity)
Is (vi <= vtrgt)?
bool Decision_2___006(const double &CurrentTime, const double &SynchronizationTime, const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If (v->0->vtrgt, is p<=ptrgt || t > tsync)?
bool Decision_1B__006(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->0->vtrgt, is p<=ptrgt?
bool Decision_2___001(const double &CurrentVelocity)
Is (vi >= 0)?
bool Decision_2___007(const double &TargetVelocity)
Is (vtrgt >= 0)?
#define pow2(A)
A to the power of 2.
bool Decision_2___012(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
If v->hold->0->vtrgt, so that t=tsync, is p<=ptrgt?
bool Decision_1B__002(const double &CurrentVelocity, const double &MaxVelocity)
Is (vi <= +vmax)?
bool Decision_2___008(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
If v->hold->vtrgt, so that t=tsync, is p<=ptrgt?
bool Decision_1A__002(const double &CurrentVelocity, const double &MaxVelocity)
Is (vi <= +vmax)?
bool Decision_1A__006(const double &TargetVelocity)
Is (vtrgt >= 0)?
bool Decision_2___003(const double &CurrentVelocity, const double &TargetVelocity)
Is (vi <= vtrgt)?
bool Decision_1A__009(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?
bool Decision_1B__003(const double &TargetVelocity)
Is (vtrgt >= 0)?
bool Decision_1B__005(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->vtrgt, is p<=ptrgt?
bool Decision_2___011(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
If v->vtrgt->hold, so that t=tsync, is p<=ptrgt?
bool Decision_2___005(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
If v->hold->vtrgt, so that t=tsync, is p<=ptrgt?
bool Decision_2___004(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration, const double &CurrentTime, const double &SynchronizationTime)
If v->vtrgt->hold, so that t=tsync, is p<=ptrgt?
bool Decision_1A__007(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->vtrgt, is p>=ptrgt?
bool Decision_1A__005(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxVelocity, const double &MaxAcceleration)
If v->vmax->vtrgt, is p<=ptrgt?
bool Decision_1A__001(const double &CurrentVelocity)
Is (vi >= 0)?
bool Decision_1B__007(const double &CurrentPosition, const double &CurrentVelocity, const double &TargetPosition, const double &TargetVelocity, const double &MaxAcceleration)
If v->vtrgt, is p>=ptrgt?
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?