![]() |
Reflexxes Motion Libraries
Manual and Documentation (Type II, Version 1.2.6)
|
Contents of this page:
The On-Line Trajectory Generation (OTG) algorithms of the Reflexxes Motion Libraries are capable to generate
motion trajectories.
While the generation of non-synchronized and time-synchronized trajectories is always possible for both, the position-based and the velocity-based On-line Trajectory Generation algorithm, phase-synchronized trajectories require certain input values. The following image shows a non-, a time-, and phase-synchronized trajectory for three degrees of freedom.
To specify the behavior of the Reflexxes Motion Library, the enumeration RMLFlags::SyncBehaviorEnum consists of four elements
and the attribute RMLFlags::SynchronizationBehavior is used to specify the synchronization behavior of the desired trajectory.
Detailed information about the flag RMLFlags::PHASE_SYNCHRONIZATION_IF_POSSIBLE can be found on page About the Flag RMLFlags::PHASE_SYNCHRONIZATION_IF_POSSIBLE.
All four values of the set RMLFlags::SyncBehaviorEnum can be used to specify the synchronization behavior of the position-based On-Line Trajectory Generation algorithm (cf. ReflexxesAPI::RMLPosition()).
An example showing, how to set-up time- and phase-synchronized motion trajectories, is shown at page Example 3 — Different Synchronization Behaviors of the Position-based algorithm. The resulting time- and phase-synchronized trajectories and paths of the two degrees of freedom of this example are depicted in the following figure.
In this example, the task is to execute a motion from standstill, which is defined by . After 1000 ms, a sensor event happens (unforeseen), and due to this, we have to immediately react and now have to reach a position ahead with a negative velocity. This desired state of motion,
, is time-optimally reached after
(cf. figure above), and right after this, a further switching of set-points happens, such that the originally desired state of motion,
, shall be reached again. After
, this desired state is finally reached (cf. Example 3 — Different Synchronization Behaviors of the Position-based algorithm).
The velocity-based On-Line Trajectory Generation algorithm (cf. ReflexxesAPI::RMLVelocity()) can also generate
and accepts any values of RMLFlags::SyncBehaviorEnum. The default value for the corresponding flag RMLVelocityFlags::SynchronizationBehavior is RMLFlags::NO_SYNCHRONIZATION. The following image shows an example for a non-synchronized and a time-synchronized trajectory using the same input values .