Public Member Functions | Protected Types | List of all members
RMLVelocityInputParameters Class Reference

Class for the input parameters of the velocity-based On-Line Trajectory Generation algorithm. More...

#include <RMLVelocityInputParameters.h>

Inheritance diagram for RMLVelocityInputParameters:
Inheritance graph
[legend]

Public Member Functions

bool CheckForValidity (void) const
 Checks the input parameters for validity. More...
 
void Echo (FILE *FileHandler=stdout) const
 Prints the complete set of input parameters to *FileHandler. More...
 
RMLVelocityInputParametersoperator= (const RMLVelocityInputParameters &IP)
 Copy operator. More...
 
 RMLVelocityInputParameters (const unsigned int DegreesOfFreedom)
 Constructor of class RMLVelocityInputParameters. More...
 
 RMLVelocityInputParameters (const RMLVelocityInputParameters &IP)
 Copy constructor of class RMLVelocityInputParameters. More...
 
 ~RMLVelocityInputParameters (void)
 Destructor of class RMLVelocityInputParameters. More...
 
- Public Member Functions inherited from RMLInputParameters
void GetCurrentAccelerationVector (RMLDoubleVector *InputVector) const
 Copies the contents of the RMLDoubleVector object containing the current acceleration vector $ \vec{A}_{i} $ to the RMLDoubleVector object referred to by InputVector. More...
 
void GetCurrentAccelerationVector (double *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of double values representing the current acceleration vector $ \vec{A}_{i} $ to the memory pointed to by InputVector. More...
 
void GetCurrentAccelerationVectorElement (double *InputValue, const unsigned int &Index) const
 Copies one element of the current acceleration vector $ \vec{A}_{i} $ to the memory pointed to by InputValue. More...
 
double GetCurrentAccelerationVectorElement (const unsigned int &Index) const
 Returns one single element of the current acceleration vector $ \vec{A}_{i} $. More...
 
void GetCurrentPositionVector (RMLDoubleVector *InputVector) const
 Copies the contents of the RMLDoubleVector object containing the current position vector $ \vec{P}_{i} $ to the RMLDoubleVector object referred to by InputVector. More...
 
void GetCurrentPositionVector (double *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of double values representing the current position vector $ \vec{P}_{i} $ to the memory pointed to by InputVector. More...
 
void GetCurrentPositionVectorElement (double *InputValue, const unsigned int &Index) const
 Copies one element of the current selection vector $ \vec{P}_{i} $ to the memory pointed to by InputValue. More...
 
double GetCurrentPositionVectorElement (const unsigned int &Index) const
 Returns one single element of the current selection vector $ \vec{P}_{i} $. More...
 
void GetCurrentVelocityVector (RMLDoubleVector *InputVector) const
 Copies the contents of the RMLDoubleVector object containing the current velocity vector $ \vec{V}_{i} $ to the RMLDoubleVector object referred to by InputVector. More...
 
void GetCurrentVelocityVector (double *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of double values representing the current velocity vector $ \vec{V}_{i} $ to the memory pointed to by InputVector. More...
 
void GetCurrentVelocityVectorElement (double *InputValue, const unsigned int &Index) const
 Copies one element of the current velocity vector $ \vec{V}_{i} $ to the memory pointed to by InputValue. More...
 
double GetCurrentVelocityVectorElement (const unsigned int &Index) const
 Returns one single element of the current velocity vector $ \vec{V}_{i} $. More...
 
void GetMaxAccelerationVector (RMLDoubleVector *InputVector) const
 Copies the contents of the RMLDoubleVector object containing the maximum acceleration vector $ \vec{A}_{i}^{\,max} $ to the RMLDoubleVector object referred to by InputVector. More...
 
void GetMaxAccelerationVector (double *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of double values representing the maximum acceleration vector $ \vec{A}_{i}^{\,max} $ to the memory pointed to by InputVector. More...
 
void GetMaxAccelerationVectorElement (double *InputValue, const unsigned int &Index) const
 Copies one element of the maximum acceleration vector $ \vec{A}_{i}^{\,max} $ to the memory pointed to by InputValue. More...
 
double GetMaxAccelerationVectorElement (const unsigned int &Index) const
 Returns one single element of the maximum acceleration vector $ \vec{A}_{i}^{\,max} $. More...
 
void GetMaxJerkVector (RMLDoubleVector *InputVector) const
 Copies the contents of the RMLDoubleVector object containing the maximum jerk vector $ \vec{J}_{i}^{\,max} $ to the RMLDoubleVector object referred to by InputVector. More...
 
void GetMaxJerkVector (double *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of double values representing the maximum jerk vector $ \vec{J}_{i}^{\,max} $ to the memory pointed to by InputVector. More...
 
void GetMaxJerkVectorElement (double *InputValue, const unsigned int &Index) const
 Copies one element of the maximum jerk vector $ \vec{J}_{i}^{\,max} $ to the memory pointed to by InputValue. More...
 
double GetMaxJerkVectorElement (const unsigned int &Index) const
 Returns one single element of the maximum jerk vector $ \vec{J}_{i}^{\,max} $. More...
 
double GetMinimumSynchronizationTime (void) const
 Returns the optional parameter for the desired execution time. More...
 
unsigned int GetNumberOfDOFs (void) const
 Returns the number of degrees of freedom. More...
 
void GetSelectionVector (RMLBoolVector *InputVector) const
 Copies the contents of the RMLBoolVector object containing the current position vector $ \vec{S}_{i} $ to the RMLBoolVector object referred to by InputVector. More...
 
void GetSelectionVector (bool *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of bool values representing the current position vector $ \vec{S}_{i} $ to the memory pointed to by InputVector. More...
 
void GetSelectionVectorElement (bool *InputValue, const unsigned int &Index) const
 Copies one element of the current selection vector $ \vec{S}_{i} $ to the memory pointed to by InputValue. More...
 
bool GetSelectionVectorElement (const unsigned int &Index) const
 Returns one single element of the current selection vector $ \vec{S}_{i} $. More...
 
void GetTargetVelocityVector (RMLDoubleVector *InputVector) const
 Copies the contents of the RMLDoubleVector object containing the target velocity vector $ \vec{V}_{i}^{\,trgt} $ to the RMLDoubleVector object referred to by InputVector. More...
 
void GetTargetVelocityVector (double *InputVector, const unsigned int &SizeInBytes) const
 Copies the array of double values representing the target velocity vector $ \vec{V}_{i}^{\,trgt} $ to the memory pointed to by InputVector. More...
 
void GetTargetVelocityVectorElement (double *InputValue, const unsigned int &Index) const
 Copies one element of the target velocity vector $ \vec{V}_{i}^{\,trgt} $ to the memory pointed to by InputValue. More...
 
double GetTargetVelocityVectorElement (const unsigned int &Index) const
 Returns one single element of the target velocity vector $ \vec{V}_{i}^{\,trgt} $. More...
 
RMLInputParametersoperator= (const RMLInputParameters &IP)
 Copy operator. More...
 
 RMLInputParameters (const RMLInputParameters &IP)
 Copy constructor of class RMLInputParameters. More...
 
void SetCurrentAccelerationVector (const RMLDoubleVector &InputVector)
 Sets the current acceleration vector $ \vec{A}_{i} $ by using the an RMLDoubleVector object. More...
 
void SetCurrentAccelerationVector (const double *InputVector)
 Sets the current acceleration vector $ \vec{A}_{i} $ by using a native C double array. More...
 
void SetCurrentAccelerationVectorElement (const double &InputValue, const unsigned int &Index)
 Sets one element of the current acceleration vector $ \vec{A}_{i} $. More...
 
void SetCurrentPositionVector (const RMLDoubleVector &InputVector)
 Sets the current selection vector $ \vec{P}_{i} $ by using the an RMLDoubleVector object. More...
 
void SetCurrentPositionVector (const double *InputVector)
 Sets the current selection vector $ \vec{P}_{i} $ by using a native C double array. More...
 
void SetCurrentPositionVectorElement (const double &InputValue, const unsigned int &Index)
 Sets one element of the current selection vector $ \vec{P}_{i} $. More...
 
void SetCurrentVelocityVector (const RMLDoubleVector &InputVector)
 Sets the current velocity vector $ \vec{V}_{i} $ by using the an RMLDoubleVector object. More...
 
void SetCurrentVelocityVector (const double *InputVector)
 Sets the current velocity vector $ \vec{V}_{i} $ by using a native C double array. More...
 
void SetCurrentVelocityVectorElement (const double &InputValue, const unsigned int &Index)
 Sets one element of the current velocity vector $ \vec{V}_{i} $. More...
 
void SetMaxAccelerationVector (const RMLDoubleVector &InputVector)
 Sets the maximum acceleration vector $ \vec{A}_{i}^{\,max} $ by using the an RMLDoubleVector object. More...
 
void SetMaxAccelerationVector (const double *InputVector)
 Sets the maximum acceleration vector $ \vec{A}_{i}^{\,max} $ by using a native C double array. More...
 
void SetMaxAccelerationVectorElement (const double &InputValue, const unsigned int &Index)
 Sets one element of the maximum acceleration vector $ \vec{A}_{i}^{\,max} $. More...
 
void SetMaxJerkVector (const RMLDoubleVector &InputVector)
 Sets the maximum jerk vector $ \vec{J}_{i}^{\,max} $ by using the an RMLDoubleVector object. More...
 
void SetMaxJerkVector (const double *InputVector)
 Sets the maximum jerk vector $ \vec{J}_{i}^{\,max} $ by using a native C double array. More...
 
void SetMaxJerkVectorElement (const double &InputValue, const unsigned int &Index)
 Sets one element of the maximum jerk vector $ \vec{J}_{i}^{\,max} $. More...
 
void SetMinimumSynchronizationTime (double Time)
 Sets the optional parameter for the desired execution time. More...
 
void SetSelectionVector (const RMLBoolVector &InputVector)
 Sets the current selection vector $ \vec{S}_{i} $ by using the an RMLBoolVector object. More...
 
void SetSelectionVector (const bool *InputVector)
 Sets the current selection vector $ \vec{S}_{i} $ by using a native C++ bool array. More...
 
void SetSelectionVectorElement (const bool &InputValue, const unsigned int &Index)
 Sets one element of the current selection vector $ \vec{S}_{i} $. More...
 
void SetTargetVelocityVector (const RMLDoubleVector &InputVector)
 Sets the target velocity vector $ \vec{V}_{i}^{\,trgt} $ by using the an RMLDoubleVector object. More...
 
void SetTargetVelocityVector (const double *InputVector)
 Sets the target velocity vector $ \vec{V}_{i}^{\,trgt} $ by using a native C double array. More...
 
void SetTargetVelocityVectorElement (const double &InputValue, const unsigned int &Index)
 Sets one element of the target velocity vector $ \vec{V}_{i}^{\,trgt} $. More...
 
 ~RMLInputParameters (void)
 Destructor of class RMLInputParameters. More...
 

Protected Types

enum  { MAXIMUM_MAGNITUDE_RANGE = 10 }
 

Additional Inherited Members

- Public Attributes inherited from RMLInputParameters
RMLDoubleVectorCurrentAccelerationVector
 A pointer to the current acceleration vector $ \vec{A}_{i} $. More...
 
RMLDoubleVectorCurrentPositionVector
 A pointer to the current position vector $ \vec{P}_{i} $. More...
 
RMLDoubleVectorCurrentVelocityVector
 A pointer to the current velocity vector $ \vec{V}_{i} $. More...
 
RMLDoubleVectorMaxAccelerationVector
 A pointer to the maximum acceleration vector $ \vec{A}_{i}^{\,max} $. More...
 
RMLDoubleVectorMaxJerkVector
 A pointer to the maximum jerk vector $ \vec{J}_{i}^{\,max} $. More...
 
double MinimumSynchronizationTime
 Minimum trajectory execution time in seconds specified by the user (optional input parameter) More...
 
unsigned int NumberOfDOFs
 The number of degrees of freedom $ K $. More...
 
RMLBoolVectorSelectionVector
 A pointer to the selection vector $ \vec{S}_{i} $. More...
 
RMLDoubleVectorTargetVelocityVector
 A pointer to the target velocity vector $ \vec{V}_{i}^{\,trgt} $. More...
 
- Protected Member Functions inherited from RMLInputParameters
void Echo (FILE *FileHandler=stdout) const
 Prints the complete set of input parameters to *FileHandler. More...
 
 RMLInputParameters (const unsigned int DegreesOfFreedom)
 Constructor of class RMLInputParameters. More...
 

Detailed Description

Class for the input parameters of the velocity-based On-Line Trajectory Generation algorithm.

The class RMLVelocityInputParameters is derived from the class RMLInputParameters and constitutes a part of the interface for the velocity-based On-Line Trajectory Generation algorithm.

A detailed description can be found at page_InputValues.

See also
ReflexxesAPI
RMLInputParameters
RMLPositionInputParameters
RMLVelocityOutputParameters
page_InputValues

Definition at line 77 of file RMLVelocityInputParameters.h.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
MAXIMUM_MAGNITUDE_RANGE 

Specifies the maximum allowed range for the orders of magnitude of the input values.

Definition at line 256 of file RMLVelocityInputParameters.h.

Constructor & Destructor Documentation

RMLVelocityInputParameters::RMLVelocityInputParameters ( const unsigned int  DegreesOfFreedom)
inline

Constructor of class RMLVelocityInputParameters.

Warning
The constructor is not real-time capable as heap memory has to be allocated.
Parameters
DegreesOfFreedomSpecifies the number of degrees of freedom

Definition at line 95 of file RMLVelocityInputParameters.h.

RMLVelocityInputParameters::RMLVelocityInputParameters ( const RMLVelocityInputParameters IP)
inline

Copy constructor of class RMLVelocityInputParameters.

Warning
The constructor is not real-time capable as heap memory has to be allocated.
Parameters
IPObject to be copied

Definition at line 113 of file RMLVelocityInputParameters.h.

RMLVelocityInputParameters::~RMLVelocityInputParameters ( void  )
inline

Destructor of class RMLVelocityInputParameters.

Definition at line 124 of file RMLVelocityInputParameters.h.

Member Function Documentation

bool RMLVelocityInputParameters::CheckForValidity ( void  ) const
inline

Checks the input parameters for validity.

This is an important method to ensure numerical robustness of the On-Line Trajectory Generation algorithm. Only if the result of this method is true, a correct computation of output values can be obtained. If the result is false, the On-Line Trajectory Generation Algorithm will try compute correct output values, and in many cases, this is possible, but it is not guaranteed. All input values have to be within a proper order of magnitude (cf. RMLPositionInputParameters::MAXIMUM_MAGNITUDE_RANGE), the kinematic motion constraints, that is, the maximum values for velocity, and acceleration, have to be positive, and the target velocity must not be greater than the maximum velocity.

Returns
  • true, if all requirements for input parameters are met
  • false, otherwise
Note
  • In order to achieve an optimal performance of the On-Line Trajectory Generation algorithm, this method is only executed in case of an error with the purpose to specify the error code of the result value (cf. ReflexxesAPI::RMLResultValue). As a consequence, there is no loss CPU time inside of the Reflexxes Motion Library, such that also the worst-case execution time is not negatively influenced. Please consider this method just as an additional possibility for the user application to check whether the current input values are valid for the On-Line Trajectory Generation algorithm.

  • If the On-Line Trajectory Generation algorithm is fed with invalid input parameters, it will try to compute correct output values. This works for many cases, and correct output values can be provided. If no correct output values can be calculated, it is guaranteed that valid output are provided in any case (cf. page_ErrorHandling).
See also
ReflexxesAPI::RMLResultValue
RMLPositionInputParameters::MAXIMUM_MAGNITUDE_RANGE
RMLVelocityInputParameters::CheckForValidity()
RMLVelocityInputParameters::MAXIMUM_MAGNITUDE_RANGE
page_InputValues

Definition at line 159 of file RMLVelocityInputParameters.h.

void RMLVelocityInputParameters::Echo ( FILE *  FileHandler = stdout) const
inline

Prints the complete set of input parameters to *FileHandler.

Parameters
FileHandlerFile handler for the output
Warning
The usage of this method is not real-time capable.

Definition at line 247 of file RMLVelocityInputParameters.h.

RMLVelocityInputParameters & RMLVelocityInputParameters::operator= ( const RMLVelocityInputParameters IP)
inline

Copy operator.

Parameters
IPRMLVelocityInputParameters object to be copied

Definition at line 138 of file RMLVelocityInputParameters.h.


The documentation for this class was generated from the following file:


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