Reflexxes Motion Libraries
Manual and Documentation (Type II, Version 1.2.6)
|
Header file for functions and definitions of constant values and macros. More...
#include <math.h>
Go to the source code of this file.
Namespaces | |
namespace | TypeIIRMLMath |
Defines | |
#define | OTG_INFINITY ((double)1.0e100) |
A value for infinity . | |
#define | RML_INPUT_VALUE_EPSILON ((double)1.0e-10) |
Positive threshold value to compare current and former input values. | |
#define | RML_VALID_SOLUTION_EPSILON ((double)1.0e-10) |
Positive threshold value used during the check, whether a valid solution for a given profile is possible. | |
#define | MAXIMAL_NO_OF_POLYNOMIALS 7 |
The maximum number of polynomials. | |
#define | RML_MAX_EXECUTION_TIME ((double)1e10) |
Maximum value for the for the minimum trajectory execution time . | |
#define | RML_ADDITIONAL_RELATIVE_POSITION_ERROR_IN_CASE_OF_EQUALITY ((double)1e-7) |
If the initial state of motion exactly equals the target state of motion, a negligible position error is created. | |
#define | RML_ADDITIONAL_ABSOLUTE_POSITION_ERROR_IN_CASE_OF_EQUALITY ((double)1e-7) |
If the initial state of motion exactly equals the target state of motion, a negligible position error is created. | |
#define | POSITIVE_ZERO ((double)1.0e-50) |
To prevent from numerical errors, a value for a "positive" value of zero is required for deterministic behavior. | |
#define | ABSOLUTE_PHASE_SYNC_EPSILON ((double)1.0e-6) |
Absolute epsilon to check whether all required vectors are collinear. | |
#define | RELATIVE_PHASE_SYNC_EPSILON ((double)1.0e-3) |
Relative epsilon to check whether all required vectors are collinear. | |
#define | RML_INFINITY ((double)1.0e100) |
A value for infinity . | |
#define | RML_POSITION_EXTREMS_TIME_EPSILON ((double)1.0e-4) |
Time value in seconds to increase the time intervals, in which a trajectory segment is valid in order to robustly calculate positional extremes. | |
#define | PHASE_SYNC_COLLINEARITY_REL_EPSILON ((double)1.0e-2) |
Relative value to check for collinearity during the check for phase synchronization. | |
#define | Sign(A) ( ((double)(A) < 0.0)?(-1):(1) ) |
Sign macro (integer) | |
#define | FSign(A) ( ((double)(A) < 0.0)?(-1.0):(1.0) ) |
Sign macro (floating point) | |
#define | pow2(A) ((A)*(A)) |
A to the power of 2. | |
#define | IsInputEpsilonEqual(A, B) ((bool)((fabs((double)A - (double)B) <= RML_INPUT_VALUE_EPSILON)?(true):(false))) |
A macro that checks, whether the difference between the values 'A' and 'B' is less than RML_INPUT_VALUE_EPSILON. | |
Functions | |
double | TypeIIRMLMath::RMLSqrt (const double &Value) |
Calculates the real square root of a given value. If the value is negative a value of almost zero will be returned. | |
bool | TypeIIRMLMath::IsEpsilonEquality (const double &Value1, const double &Value2, const double &Epsilon) |
Checks epsilon equality for two values. |
Header file for functions and definitions of constant values and macros.
Header file for definitions of constant values and macros to be used for within in the library of the Type II On-Line Trajectory Algorithm.
#define ABSOLUTE_PHASE_SYNC_EPSILON ((double)1.0e-6) |
Absolute epsilon to check whether all required vectors are collinear.
#define FSign | ( | A | ) | ( ((double)(A) < 0.0)?(-1.0):(1.0) ) |
Sign macro (floating point)
A | Value, whose sign is returned. |
#define IsInputEpsilonEqual | ( | A, | |
B | |||
) | ((bool)((fabs((double)A - (double)B) <= RML_INPUT_VALUE_EPSILON)?(true):(false))) |
A macro that checks, whether the difference between the values 'A' and 'B' is less than RML_INPUT_VALUE_EPSILON.
#define MAXIMAL_NO_OF_POLYNOMIALS 7 |
The maximum number of polynomials.
The maximum number of polynomials to be used for the Type II On-Line Trajectory Generation algorithm. This number is set up w.r.t. the 6 trajectory segments of the Step 2 Decision Tree plus one further segment for the time after the desired state of motion has been reached.
#define OTG_INFINITY ((double)1.0e100) |
A value for infinity .
#define PHASE_SYNC_COLLINEARITY_REL_EPSILON ((double)1.0e-2) |
Relative value to check for collinearity during the check for phase synchronization.
#define POSITIVE_ZERO ((double)1.0e-50) |
To prevent from numerical errors, a value for a "positive" value of zero is required for deterministic behavior.
#define pow2 | ( | A | ) | ((A)*(A)) |
A to the power of 2.
A | Basis |
#define RELATIVE_PHASE_SYNC_EPSILON ((double)1.0e-3) |
Relative epsilon to check whether all required vectors are collinear.
#define RML_ADDITIONAL_ABSOLUTE_POSITION_ERROR_IN_CASE_OF_EQUALITY ((double)1e-7) |
If the initial state of motion exactly equals the target state of motion, a negligible position error is created.
#define RML_ADDITIONAL_RELATIVE_POSITION_ERROR_IN_CASE_OF_EQUALITY ((double)1e-7) |
If the initial state of motion exactly equals the target state of motion, a negligible position error is created.
#define RML_INFINITY ((double)1.0e100) |
A value for infinity .
#define RML_INPUT_VALUE_EPSILON ((double)1.0e-10) |
Positive threshold value to compare current and former input values.
Positive threshold value to determine, whether the input values of the OTG algorithm remained constant. This value is used in the macro IsInputEpsilonEqual().
#define RML_MAX_EXECUTION_TIME ((double)1e10) |
Maximum value for the for the minimum trajectory execution time .
This value is required to ensure numerical stability.
#define RML_POSITION_EXTREMS_TIME_EPSILON ((double)1.0e-4) |
Time value in seconds to increase the time intervals, in which a trajectory segment is valid in order to robustly calculate positional extremes.
#define RML_VALID_SOLUTION_EPSILON ((double)1.0e-10) |
Positive threshold value used during the check, whether a valid solution for a given profile is possible.
#define Sign | ( | A | ) | ( ((double)(A) < 0.0)?(-1):(1) ) |
Sign macro (integer)
A | Value, whose sign is returned. |