Reflexxes Motion Libraries
Manual and Documentation (Type II, Version 1.2.6)

The input values of the positionbased OnLine Trajectory Generation (OTG) algorithm are setup through the classes RMLPositionInputParameters and RMLPositionFlags, and the input values of the velocitybased OnLine Trajectory Generation algorithm are setup through the classes RMLVelocityInputParameters and RMLVelocityFlags. For a detailed description of these classes, please refer to the class documentation, and for a description of the output values, please refer to the Description of Output Values.
This page contains three sections:
The positionbased Type II OnLine Trajectory Generation algorithm is executed by a call of ReflexxesAPI::RMLPosition(). The input values for the algorithm at a time instant are contained in RMLPositionInputParameters:
Each vector contains the values for all degrees of freedom , for instance,
such that the current position value of the degree of freedom with the index is represented by .
The selection vector can be used to mask degrees of freedom individually. If the value of is false
, the degree of freedom with the index will not be considered by the algorithm.
Besides the input values RMLPositionInputParameters, the class RMLPositionFlags can be used to determine and obtain a certain behavior. The following flags may be used:
A first and simple example that shows, how the positionbased input values are commonly setup, please refer to the Example 1 — Introduction to the Positionbased algorithm. A description of the output values of this example can be found at the page Description of Output Values. Please also refer to the Section Input Requirements for Numerical Stability, which describes the input domains of the algorithm.
The velocitybased Type II OnLine Trajectory Generation algorithm is executed by a call of ReflexxesAPI::RMLVelocity(), and its input values are the very same as for the positionbased algorithm (see above), but the values for the target position and the maximum velocity vector are not considered, and the flag RMLPositionFlags::KeepCurrentVelocityInCaseOfFallbackStrategy is not available.
The input values for the velocitybased algorithm at a time instant are contained in RMLVelocityInputParameters:
Besides the input values RMLVelocityInputParameters, the class RMLVelocityFlags can be used to determine and obtain a certain behavior. The following flags may be used:
A first and simple example that shows, how the velocitybased input values are commonly setup, please refer to the Example 4 — Introduction to the Velocitybased algorithm. A description of the output values of this example can be found at the page Description of Output Values. Please also refer to the Section Input Requirements for Numerical Stability, which describes the input domains of the algorithm.
In order to assure feasibility and numerical stability, two basic conditions have to be fulfilled for each selected degree of freedom in order to obtain correct output values:
and for the velocitybased algorithm
Example for a set of valid input values for one degree of freedom at time instant used for the positionbased algorithm:
Reason: .
Example for a set of invalid input values for one degree of freedom at time instant used for the positionbased algorithm:
Reason: .
The check, whether the input values are valid, can be done with the methods RMLPositionInputParameters::CheckForValidity() and RMLVelocityInputParameters::CheckForValidity().