![]() |
Reflexxes Motion Libraries
Manual and Documentation (Type II, Version 1.2.6)
|
The input values of the position-based On-Line Trajectory Generation (OTG) algorithm are set-up through the classes RMLPositionInputParameters and RMLPositionFlags, and the input values of the velocity-based On-Line Trajectory Generation algorithm are set-up 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 position-based Type II On-Line 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 position-based input values are commonly set-up, please refer to the Example 1 — Introduction to the Position-based 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 velocity-based Type II On-Line Trajectory Generation algorithm is executed by a call of ReflexxesAPI::RMLVelocity(), and its input values are the very same as for the position-based 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 velocity-based 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 velocity-based input values are commonly set-up, please refer to the Example 4 — Introduction to the Velocity-based 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:
Example for a set of valid input values for one degree of freedom at time instant
used for the position-based algorithm:
Reason: .
Example for a set of invalid input values for one degree of freedom at time instant
used for the position-based algorithm:
Reason: .
The check, whether the input values are valid, can be done with the methods RMLPositionInputParameters::CheckForValidity() and RMLVelocityInputParameters::CheckForValidity().