Class for the input parameters of the position-based On-Line Trajectory Generation algorithm. More...
#include <RMLPositionInputParameters.h>
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... | |
void | GetAlternativeTargetVelocityVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the alternative target velocity vector to the RMLDoubleVector object referred to by InputVector . More... | |
void | GetAlternativeTargetVelocityVector (double *InputVector, const unsigned int &SizeInBytes) const |
Copies the array of double values representing the alternative target velocity vector to the memory pointed to by InputVector . More... | |
void | GetAlternativeTargetVelocityVectorElement (double *InputValue, const unsigned int &Index) const |
Copies one element of the alternative target velocity vector to the memory pointed to by InputValue . More... | |
double | GetAlternativeTargetVelocityVectorElement (const unsigned int &Index) const |
Returns one single element of the alternative target velocity vector . More... | |
void | GetMaxVelocityVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the maximum velocity vector to the RMLDoubleVector object referred to by InputVector . More... | |
void | GetMaxVelocityVector (double *InputVector, const unsigned int &SizeInBytes) const |
Copies the array of double values representing the maximum velocity vector to the memory pointed to by InputVector . More... | |
void | GetMaxVelocityVectorElement (double *InputValue, const unsigned int &Index) const |
Copies one element of the maximum velocity vector to the memory pointed to by InputValue . More... | |
double | GetMaxVelocityVectorElement (const unsigned int &Index) const |
Returns one single element of the maximum velocity vector . More... | |
void | GetTargetPositionVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the target position vector to the RMLDoubleVector object referred to by InputVector . More... | |
void | GetTargetPositionVector (double *InputVector, const unsigned int &SizeInBytes) const |
Copies the array of double values representing the target position vector to the memory pointed to by InputVector . More... | |
void | GetTargetPositionVectorElement (double *InputValue, const unsigned int &Index) const |
Copies one element of the target position vector to the memory pointed to by InputValue . More... | |
double | GetTargetPositionVectorElement (const unsigned int &Index) const |
Returns one single element of the target position vector . More... | |
RMLPositionInputParameters & | operator= (const RMLPositionInputParameters &IP) |
Copy operator. More... | |
RMLPositionInputParameters (const unsigned int DegreesOfFreedom) | |
Constructor of class RMLPositionInputParameters. More... | |
RMLPositionInputParameters (const RMLPositionInputParameters &IP) | |
Copy constructor of class RMLPositionInputParameters. More... | |
void | SetAlternativeTargetVelocityVector (const RMLDoubleVector &InputVector) |
Sets the alternative target velocity vector by using the an RMLDoubleVector object. More... | |
void | SetAlternativeTargetVelocityVector (const double *InputVector) |
Sets the alternative target velocity vector by using the an RMLDoubleVector object. More... | |
void | SetAlternativeTargetVelocityVectorElement (const double &InputValue, const unsigned int &Index) |
Sets one element of the alternative target velocity vector . More... | |
void | SetMaxVelocityVector (const RMLDoubleVector &InputVector) |
Sets the maximum velocity vector by using the an RMLDoubleVector object. More... | |
void | SetMaxVelocityVector (const double *InputVector) |
Sets the maximum velocity vector by using a native C double array. More... | |
void | SetMaxVelocityVectorElement (const double &InputValue, const unsigned int &Index) |
Sets one element of the maximum velocity vector . More... | |
void | SetTargetPositionVector (const RMLDoubleVector &InputVector) |
Sets the target position vector by using the an RMLDoubleVector object. More... | |
void | SetTargetPositionVector (const double *InputVector) |
Sets the target position vector by using a native C double array. More... | |
void | SetTargetPositionVectorElement (const double &InputValue, const unsigned int &Index) |
Sets one element of the target position vector . More... | |
~RMLPositionInputParameters (void) | |
Destructor of class RMLPositionInputParameters. More... | |
Public Member Functions inherited from RMLInputParameters | |
void | GetCurrentAccelerationVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the current acceleration vector 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 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 to the memory pointed to by InputValue . More... | |
double | GetCurrentAccelerationVectorElement (const unsigned int &Index) const |
Returns one single element of the current acceleration vector . More... | |
void | GetCurrentPositionVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the current position vector 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 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 to the memory pointed to by InputValue . More... | |
double | GetCurrentPositionVectorElement (const unsigned int &Index) const |
Returns one single element of the current selection vector . More... | |
void | GetCurrentVelocityVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the current velocity vector 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 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 to the memory pointed to by InputValue . More... | |
double | GetCurrentVelocityVectorElement (const unsigned int &Index) const |
Returns one single element of the current velocity vector . More... | |
void | GetMaxAccelerationVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the maximum acceleration vector 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 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 to the memory pointed to by InputValue . More... | |
double | GetMaxAccelerationVectorElement (const unsigned int &Index) const |
Returns one single element of the maximum acceleration vector . More... | |
void | GetMaxJerkVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the maximum jerk vector 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 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 to the memory pointed to by InputValue . More... | |
double | GetMaxJerkVectorElement (const unsigned int &Index) const |
Returns one single element of the maximum jerk vector . 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 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 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 to the memory pointed to by InputValue . More... | |
bool | GetSelectionVectorElement (const unsigned int &Index) const |
Returns one single element of the current selection vector . More... | |
void | GetTargetVelocityVector (RMLDoubleVector *InputVector) const |
Copies the contents of the RMLDoubleVector object containing the target velocity vector 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 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 to the memory pointed to by InputValue . More... | |
double | GetTargetVelocityVectorElement (const unsigned int &Index) const |
Returns one single element of the target velocity vector . More... | |
RMLInputParameters & | operator= (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 by using the an RMLDoubleVector object. More... | |
void | SetCurrentAccelerationVector (const double *InputVector) |
Sets the current acceleration vector 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 . More... | |
void | SetCurrentPositionVector (const RMLDoubleVector &InputVector) |
Sets the current selection vector by using the an RMLDoubleVector object. More... | |
void | SetCurrentPositionVector (const double *InputVector) |
Sets the current selection vector 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 . More... | |
void | SetCurrentVelocityVector (const RMLDoubleVector &InputVector) |
Sets the current velocity vector by using the an RMLDoubleVector object. More... | |
void | SetCurrentVelocityVector (const double *InputVector) |
Sets the current velocity vector 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 . More... | |
void | SetMaxAccelerationVector (const RMLDoubleVector &InputVector) |
Sets the maximum acceleration vector by using the an RMLDoubleVector object. More... | |
void | SetMaxAccelerationVector (const double *InputVector) |
Sets the maximum acceleration vector 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 . More... | |
void | SetMaxJerkVector (const RMLDoubleVector &InputVector) |
Sets the maximum jerk vector by using the an RMLDoubleVector object. More... | |
void | SetMaxJerkVector (const double *InputVector) |
Sets the maximum jerk vector 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 . 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 by using the an RMLBoolVector object. More... | |
void | SetSelectionVector (const bool *InputVector) |
Sets the current selection vector 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 . More... | |
void | SetTargetVelocityVector (const RMLDoubleVector &InputVector) |
Sets the target velocity vector by using the an RMLDoubleVector object. More... | |
void | SetTargetVelocityVector (const double *InputVector) |
Sets the target velocity vector 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 . More... | |
~RMLInputParameters (void) | |
Destructor of class RMLInputParameters. More... | |
Public Attributes | |
RMLDoubleVector * | AlternativeTargetVelocityVector |
A pointer to an alternative target velocity vector . More... | |
RMLDoubleVector * | MaxVelocityVector |
A pointer to the maximum velocity vector . More... | |
RMLDoubleVector * | TargetPositionVector |
A pointer to the target position vector . More... | |
Public Attributes inherited from RMLInputParameters | |
RMLDoubleVector * | CurrentAccelerationVector |
A pointer to the current acceleration vector . More... | |
RMLDoubleVector * | CurrentPositionVector |
A pointer to the current position vector . More... | |
RMLDoubleVector * | CurrentVelocityVector |
A pointer to the current velocity vector . More... | |
RMLDoubleVector * | MaxAccelerationVector |
A pointer to the maximum acceleration vector . More... | |
RMLDoubleVector * | MaxJerkVector |
A pointer to the maximum jerk vector . 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 . More... | |
RMLBoolVector * | SelectionVector |
A pointer to the selection vector . More... | |
RMLDoubleVector * | TargetVelocityVector |
A pointer to the target velocity vector . More... | |
Protected Types | |
enum | { MAXIMUM_MAGNITUDE_RANGE = 8 } |
Additional Inherited Members | |
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... | |
Class for the input parameters of the position-based On-Line Trajectory Generation algorithm.
The class RMLPositionInputParameters is derived from the class RMLInputParameters and constitutes a part of the interface for the position-based On-Line Trajectory Generation algorithm.
A detailed description can be found at page_InputValues.
Definition at line 79 of file RMLPositionInputParameters.h.
|
protected |
Enumerator | |
---|---|
MAXIMUM_MAGNITUDE_RANGE |
Specifies the maximum allowed range for the orders of magnitude of the input values. |
Definition at line 960 of file RMLPositionInputParameters.h.
|
inline |
Constructor of class RMLPositionInputParameters.
DegreesOfFreedom | Specifies the number of degrees of freedom |
Definition at line 97 of file RMLPositionInputParameters.h.
|
inline |
Copy constructor of class RMLPositionInputParameters.
IP | Object to be copied |
Definition at line 122 of file RMLPositionInputParameters.h.
|
inline |
Destructor of class RMLPositionInputParameters.
Definition at line 140 of file RMLPositionInputParameters.h.
|
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.
true
, if all requirements for input parameters are metfalse
, otherwiseDefinition at line 823 of file RMLPositionInputParameters.h.
|
inline |
Prints the complete set of input parameters to *FileHandler.
FileHandler | File handler for the output |
Definition at line 924 of file RMLPositionInputParameters.h.
|
inline |
Copies the contents of the RMLDoubleVector
object containing the alternative target velocity vector to the RMLDoubleVector
object referred to by InputVector
.
InputVector | A pointer to an RMLDoubleVector object, to which the data will be copied |
Definition at line 668 of file RMLPositionInputParameters.h.
|
inline |
Copies the array of double
values representing the alternative target velocity vector to the memory pointed to by InputVector
.
InputVector | A pointer to an array of double values, to which the data will be copied |
SizeInBytes | The size of available memory at the location pointed to by InputVector . To assure safety and to prevent from prohibited writing into protected memory areas, the user has to specify the amount of available memory in bytes. For a correct operation, the value of SizeInBytes has to equal the number of vector elements multiplied by the size of a double value. |
Definition at line 699 of file RMLPositionInputParameters.h.
|
inline |
Copies one element of the alternative target velocity vector to the memory pointed to by InputValue
.
InputValue | A pointer to one double value, to which the desired vector element will be copied |
Index | Specifies the desired element of the vector. The element numbering starts with 0 (zero). If this value is greater the number of vector elements, a value of 0.0 will be written to the memory pointed to by InputValue . |
Definition at line 731 of file RMLPositionInputParameters.h.
|
inline |
Returns one single element of the alternative target velocity vector .
Index | Specifies the desired element of the vector. The index of the first vector element is 0 (zero). If the value of Index value is greater the number of vector elements, a value of 0.0 will be written to the memory pointed to by InputValue . |
Definition at line 761 of file RMLPositionInputParameters.h.
|
inline |
Copies the contents of the RMLDoubleVector
object containing the maximum velocity vector to the RMLDoubleVector
object referred to by InputVector
.
InputVector | A pointer to an RMLDoubleVector object, to which the data will be copied |
Definition at line 260 of file RMLPositionInputParameters.h.
|
inline |
Copies the array of double
values representing the maximum velocity vector to the memory pointed to by InputVector
.
InputVector | A pointer to an array of double values, to which the data will be copied |
SizeInBytes | The size of available memory at the location pointed to by InputVector . To assure safety and to prevent from prohibited writing into protected memory areas, the user has to specify the amount of available memory in bytes. For a correct operation, the value of SizeInBytes has to equal the number of vector elements multiplied by the size of a double value. |
Definition at line 290 of file RMLPositionInputParameters.h.
|
inline |
Copies one element of the maximum velocity vector to the memory pointed to by InputValue
.
InputValue | A pointer to one double value, to which the desired vector element will be copied |
Index | Specifies the desired element of the vector. The element numbering starts with 0 (zero). If this value is greater the number of vector elements, a value of 0.0 will be written to the memory pointed to by InputValue . |
Definition at line 321 of file RMLPositionInputParameters.h.
|
inline |
Returns one single element of the maximum velocity vector .
Index | Specifies the desired element of the vector. The index of the first vector element is 0 (zero). If the value of Index value is greater the number of vector elements, a value of 0.0 will be written to the memory pointed to by InputValue . |
Definition at line 351 of file RMLPositionInputParameters.h.
|
inline |
Copies the contents of the RMLDoubleVector
object containing the target position vector to the RMLDoubleVector
object referred to by InputVector
.
InputVector | A pointer to an RMLDoubleVector object, to which the data will be copied |
Definition at line 451 of file RMLPositionInputParameters.h.
|
inline |
Copies the array of double
values representing the target position vector to the memory pointed to by InputVector
.
InputVector | A pointer to an array of double values, to which the data will be copied |
SizeInBytes | The size of available memory at the location pointed to by InputVector . To assure safety and to prevent from prohibited writing into protected memory areas, the user has to specify the amount of available memory in bytes. For a correct operation, the value of SizeInBytes has to equal the number of vector elements multiplied by the size of a double value. |
Definition at line 481 of file RMLPositionInputParameters.h.
|
inline |
Copies one element of the target position vector to the memory pointed to by InputValue
.
InputValue | A pointer to one double value, to which the desired vector element will be copied |
Index | Specifies the desired element of the vector. The element numbering starts with 0 (zero). If this value is greater the number of vector elements, a value of 0.0 will be written to the memory pointed to by InputValue . |
Definition at line 512 of file RMLPositionInputParameters.h.
|
inline |
Returns one single element of the target position vector .
Index | Specifies the desired element of the vector. The index of the first vector element is 0 (zero). If the value of Index value is greater the number of vector elements, a value of 0.0 will be written to the memory pointed to by InputValue . |
Definition at line 542 of file RMLPositionInputParameters.h.
|
inline |
Copy operator.
IP | RMLPositionInputParameters object to be copied |
Definition at line 161 of file RMLPositionInputParameters.h.
|
inline |
Sets the alternative target velocity vector by using the an RMLDoubleVector
object.
This vector only becomes applied for the fall back strategy when no correct output values can be calculated (e.g., due to incorrect input values.
InputVector | The input vector, whose elements are copied to the attributes of this class. |
Definition at line 581 of file RMLPositionInputParameters.h.
|
inline |
Sets the alternative target velocity vector by using the an RMLDoubleVector
object.
This vector only becomes applied for the fall back strategy when no correct output values can be calculated (e.g., due to incorrect input values.
InputVector | The input vector to an array of double values, whose elements are copied to the attributes of this class. |
Definition at line 610 of file RMLPositionInputParameters.h.
|
inline |
Sets one element of the alternative target velocity vector .
This vector only becomes applied for the fall back strategy when no correct output values can be calculated (e.g., due to incorrect input values.
InputValue | The input value that is copied to the element Index of the maximum velocity input vector attribute of this class. |
Index | The index of the element to be copied |
Definition at line 644 of file RMLPositionInputParameters.h.
|
inline |
Sets the maximum velocity vector by using the an RMLDoubleVector
object.
InputVector | The input vector, whose elements are copied to the attributes of this class. |
Definition at line 191 of file RMLPositionInputParameters.h.
|
inline |
Sets the maximum velocity vector by using a native C double
array.
InputVector | The input vector to an array of double values, whose elements are copied to the attributes of this class. |
Definition at line 212 of file RMLPositionInputParameters.h.
|
inline |
Sets one element of the maximum velocity vector .
InputValue | The input value that is copied to the element Index of the maximum velocity input vector attribute of this class. |
Index | The index of the element to be copied |
Definition at line 237 of file RMLPositionInputParameters.h.
|
inline |
Sets the target position vector by using the an RMLDoubleVector
object.
InputVector | The input vector, whose elements are copied to the attributes of this class. |
Definition at line 382 of file RMLPositionInputParameters.h.
|
inline |
Sets the target position vector by using a native C double
array.
InputVector | The input vector to an array of double values, whose elements are copied to the attributes of this class. |
Definition at line 403 of file RMLPositionInputParameters.h.
|
inline |
Sets one element of the target position vector .
InputValue | The input value that is copied to the element Index of the target position input vector attribute of this class. |
Index | The index of the element to be copied |
Definition at line 428 of file RMLPositionInputParameters.h.
RMLDoubleVector * RMLPositionInputParameters::AlternativeTargetVelocityVector |
A pointer to an alternative target velocity vector .
This vector becomes applied in the second safety layer, which becomes activated by calling TypeIVRMLPosition::FallBackStrategy(). The second layer applies the velocity-based On-Line Trajectory Generation algorithm, and this vector is used as desired target velocity vector . In many use cases, a target velocity vector of zero may be sufficient, but in dependence on the application it may be desirable to specify an alternative target velocity vector that becomes applied in the second safety layer (cf. TypeIVRMLVelocity). As a further alternative, the flag RMLPositionFlags::KeepCurrentVelocityInCaseOfFallbackStrategy may be used to use the current velocity vector as set-point and input value for the velocity-based On-Line Trajectory Generation algorithm.
This attribute can be accessed directly or by using one of the following methods:
Definition at line 1052 of file RMLPositionInputParameters.h.
RMLDoubleVector * RMLPositionInputParameters::MaxVelocityVector |
A pointer to the maximum velocity vector .
This attribute can be accessed directly or by using one of the following methods:
Definition at line 990 of file RMLPositionInputParameters.h.
RMLDoubleVector * RMLPositionInputParameters::TargetPositionVector |
A pointer to the target position vector .
This attribute can be accessed directly or by using one of the following methods:
Definition at line 1009 of file RMLPositionInputParameters.h.