Namespaces | Macros | Functions
TypeIIRMLMath.h File Reference

Header file for functions and definitions of constant values and macros. More...

#include <math.h>
Include dependency graph for TypeIIRMLMath.h:
This graph shows which files directly or indirectly include this file:

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 $ \infty = 10^{100} $. 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 $ \infty = 10^{100} $. 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 $t_i^{\,min}$. 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...
 

Detailed Description

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.

Date
March 2014
Version
1.2.6
Author
Torsten Kroeger, info@.nosp@m.refl.nosp@m.exxes.nosp@m..com

Definition in file TypeIIRMLMath.h.

Macro Definition Documentation

#define ABSOLUTE_PHASE_SYNC_EPSILON   ((double)1.0e-6)
#define FSign (   A)    ( ((double)(A) < 0.0)?(-1.0):(1.0) )

Sign macro (floating point)

Parameters
AValue, whose sign is returned.
Returns
Floating point value: -1.0 or 1.0

Definition at line 258 of file TypeIIRMLMath.h.

#define IsInputEpsilonEqual (   A,
 
)    ((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.

See also
TypeIIRMLPolynomial.h

Definition at line 115 of file TypeIIRMLMath.h.

#define OTG_INFINITY   ((double)1.0e100)

A value for infinity $ \infty = 10^{100} $.

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.

See also
TypeIIRMLPosition::IsPhaseSynchronizationPossible()

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.

Parameters
ABasis
Returns
Result value

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.

See also
TypeIIRMLPosition::Step1()
TypeIIRMLVelocity::GetNextStateOfMotion()

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.

See also
TypeIIRMLPosition::CompareAndEventuallyAdaptInitialAndTargetStateofMotion()

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.

See also
TypeIIRMLPosition::CompareAndEventuallyAdaptInitialAndTargetStateofMotion()

Definition at line 142 of file TypeIIRMLMath.h.

#define RML_INFINITY   ((double)1.0e100)

A value for infinity $ \infty = 10^{100} $.

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().

See also
IsInputEpsilonEqual(A,B)

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 $t_i^{\,min}$.

This value is required to ensure numerical stability.

See also
ReflexxesAPI::RML_ERROR_EXECUTION_TIME_TOO_BIG

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.

See also
TypeIIRMLPosition::CalculatePositionalExtrems()
TypeIIRMLVelocity::CalculatePositionalExtrems()

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.

See also
TypeIIRMLMath::IsSolutionForProfile_PosTriNegLin_Possible()

Definition at line 97 of file TypeIIRMLMath.h.

#define Sign (   A)    ( ((double)(A) < 0.0)?(-1):(1) )

Sign macro (integer)

Parameters
AValue, whose sign is returned.
Returns
Integer value: -1 or 1

Definition at line 243 of file TypeIIRMLMath.h.



libreflexxestype2
Author(s):
autogenerated on Sat Nov 21 2020 03:17:34