![]() |
Reflexxes Motion Libraries
Manual and Documentation (Type II, Version 1.2.6)
|
In order to determine the behavior of the trajectory generator after the final state of motion is reached, the flag RMLPositionFlags::BehaviorAfterFinalStateOfMotionIsReached
can be used. This flag can contain two different values:
The following example has been generated with the Type IV Reflexxes Motion Library and shows the difference between both behaviors.
The left diagram shows the behavior if RMLPositionFlags::BehaviorAfterFinalStateOfMotionIsReached
is set to RMLPositionFlags::RECOMPUTE_TRAJECTORY
, and the right diagram shows the case of RMLPositionFlags::RECOMPUTE_TRAJECTORY
. In the first case, the desired target velocity is kept until the input values change, and the method ReflexxesAPI::RMLPosition() keeps returning ReflexxesAPI::RML_FINAL_STATE_REACHED
. In the second case, ReflexxesAPI::RMLPosition() will return ReflexxesAPI::RML_FINAL_STATE_REACHED
only once (in this example in the control cycle at ), and in the subsequent control cycle, a new trajectory to reach the same state of motion again is computed, which will then be reached in the control cycle at
(and again at
, etc.). This behavior repeats until the input values are changed.
The position diagram ( ) also contains the positional extreme values depicted in darker colors (cf. RMLFlags::EnableTheCalculationOfTheExtremumMotionStates).
In this example, a time-synchronized trajectory was used. At page About the Flag RMLFlags::PHASE_SYNCHRONIZATION_IF_POSSIBLE, the same example with a phase-synchronized motion is shown.