TypeIIRMLSetupModifiedSelectionVector.cpp
Go to the documentation of this file.
1 // ---------------------- Doxygen info ----------------------
38 // ----------------------------------------------------------
39 // For a convenient reading of this file's source code,
40 // please use a tab width of four characters.
41 // ----------------------------------------------------------
42 
43 
44 #include <TypeIIRMLPosition.h>
46 #include <RMLVector.h>
47 
48 
49 //****************************************************************************
50 // SetupModifiedSelectionVector()
51 
53 {
54  unsigned int i = 0;
55 
57 
58  for (i = 0; i < this->NumberOfDOFs; i++)
59  {
61  {
62  if ( ((this->CurrentInputParameters->TargetVelocityVector->VecData)[i] == 0.0)
63  && ((this->MinimumExecutionTimes->VecData)[i] <= this->CycleTime))
64  {
65  (this->ModifiedSelectionVector->VecData)[i] = false;
66 
67  // This degree of freedom has already reached its target state of motion, which
68  // is steady, that is, it consists of a zero velocity and zero acceleration value
69  // right in the target position. To save CPU time (irrelevant for real-time capability)
70  // and to enable a simple and correct calculation of phase-synchronous trajectories
71  // the selection vector is modified, and the current state of motion is set to the
72  // target state of motion.
73 
78  }
79  }
80  }
81 }
Header file for the dynamic vector class used for the Reflexxes Motion Libraries. ...
RMLDoubleVector * CurrentVelocityVector
A pointer to the current velocity vector .
T * VecData
Pointer to the actual vector data, that is, an array of type T objects.
Definition: RMLVector.h:524
Header file for the class RMLPositionInputParameters.
RMLPositionInputParameters * CurrentInputParameters
Pointer to an RMLPositionInputParameters object. This object contains a complete set of input values ...
double CycleTime
Contains the cycle time in seconds.
Header file for the class TypeIIRMLPosition, which constitutes the actual interface of the Type II Re...
RMLBoolVector * SelectionVector
A pointer to the selection vector .
RMLDoubleVector * MinimumExecutionTimes
Vector that contains the minimum execution times in seconds, .
void SetupModifiedSelectionVector(void)
Modify the current selection vector and exclude unnecessary degrees of freedom.
RMLDoubleVector * TargetPositionVector
A pointer to the target position vector .
RMLBoolVector * ModifiedSelectionVector
Boolean vector, which contains the modified selection vector that is based on the original selection ...
RMLDoubleVector * TargetVelocityVector
A pointer to the target velocity vector .
unsigned int NumberOfDOFs
The number of degrees of freedom .
RMLDoubleVector * CurrentAccelerationVector
A pointer to the current acceleration vector .
RMLDoubleVector * CurrentPositionVector
A pointer to the current position vector .


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