Header file for functions and definitions of constant values and macros. More...
#include <math.h>
Go to the source code of this file.
Namespaces | |
TypeIIRMLMath | |
Macros | |
#define | ABSOLUTE_PHASE_SYNC_EPSILON ((double)1.0e-6) |
Absolute epsilon to check whether all required vectors are collinear. More... | |
#define | FSign(A) ( ((double)(A) < 0.0)?(-1.0):(1.0) ) |
Sign macro (floating point) More... | |
#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. More... | |
#define | MAXIMAL_NO_OF_POLYNOMIALS 7 |
The maximum number of polynomials. More... | |
#define | OTG_INFINITY ((double)1.0e100) |
A value for infinity . More... | |
#define | PHASE_SYNC_COLLINEARITY_REL_EPSILON ((double)1.0e-2) |
Relative value to check for collinearity during the check for phase synchronization. More... | |
#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. More... | |
#define | pow2(A) ((A)*(A)) |
A to the power of 2. More... | |
#define | RELATIVE_PHASE_SYNC_EPSILON ((double)1.0e-3) |
Relative epsilon to check whether all required vectors are collinear. More... | |
#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. More... | |
#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. More... | |
#define | RML_INFINITY ((double)1.0e100) |
A value for infinity . More... | |
#define | RML_INPUT_VALUE_EPSILON ((double)1.0e-10) |
Positive threshold value to compare current and former input values. More... | |
#define | RML_MAX_EXECUTION_TIME ((double)1e10) |
Maximum value for the for the minimum trajectory execution time . More... | |
#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. More... | |
#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. More... | |
#define | Sign(A) ( ((double)(A) < 0.0)?(-1):(1) ) |
Sign macro (integer) More... | |
Functions | |
bool | TypeIIRMLMath::IsEpsilonEquality (const double &Value1, const double &Value2, const double &Epsilon) |
Checks epsilon equality for two values. More... | |
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. More... | |
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.
Definition in file TypeIIRMLMath.h.
#define ABSOLUTE_PHASE_SYNC_EPSILON ((double)1.0e-6) |
Absolute epsilon to check whether all required vectors are collinear.
Definition at line 179 of file TypeIIRMLMath.h.
#define FSign | ( | A | ) | ( ((double)(A) < 0.0)?(-1.0):(1.0) ) |
Sign macro (floating point)
A | Value, whose sign is returned. |
Definition at line 258 of file TypeIIRMLMath.h.
#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.
Definition at line 304 of file TypeIIRMLMath.h.
#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.
Definition at line 115 of file TypeIIRMLMath.h.
#define OTG_INFINITY ((double)1.0e100) |
A value for infinity .
Definition at line 69 of file TypeIIRMLMath.h.
#define PHASE_SYNC_COLLINEARITY_REL_EPSILON ((double)1.0e-2) |
Relative value to check for collinearity during the check for phase synchronization.
Definition at line 228 of file TypeIIRMLMath.h.
#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.
Definition at line 164 of file TypeIIRMLMath.h.
#define pow2 | ( | A | ) | ((A)*(A)) |
A to the power of 2.
A | Basis |
Definition at line 273 of file TypeIIRMLMath.h.
#define RELATIVE_PHASE_SYNC_EPSILON ((double)1.0e-3) |
Relative epsilon to check whether all required vectors are collinear.
Definition at line 192 of file TypeIIRMLMath.h.
#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.
Definition at line 154 of file TypeIIRMLMath.h.
#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.
Definition at line 142 of file TypeIIRMLMath.h.
#define RML_INFINITY ((double)1.0e100) |
A value for infinity .
Definition at line 201 of file TypeIIRMLMath.h.
#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().
Definition at line 85 of file TypeIIRMLMath.h.
#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.
Definition at line 130 of file TypeIIRMLMath.h.
#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.
Definition at line 216 of file TypeIIRMLMath.h.
#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.
Definition at line 97 of file TypeIIRMLMath.h.
#define Sign | ( | A | ) | ( ((double)(A) < 0.0)?(-1):(1) ) |
Sign macro (integer)
A | Value, whose sign is returned. |
Definition at line 243 of file TypeIIRMLMath.h.