46 #ifndef __TypeIIRMLPosition__ 47 #define __TypeIIRMLPosition__ 175 ,
const double &CycleTimeInSeconds);
332 int GetNextStateOfMotionAtTime(
const double &TimeValueInSeconds
346 FUNC_SUCCESS =
false,
348 FUNC_ERROR_OCCURRED =
true 384 CURRENT_VELOCITY = 3,
419 void CompareInitialAndTargetStateofMotion(
void);
549 int Step3(
const double &TimeValueInSeconds
666 bool IsWithinAnInoperativeTimeInterval(
const double &SynchronizationTimeCandidate
764 void Step2PhaseSynchronization(
void);
816 void CalculatePositionalExtrems(
const double &TimeValueInSeconds
900 void SetupModifiedSelectionVector(
void);
918 unsigned int GetNumberOfSelectedDOFs(
const RMLBoolVector &BoolVector)
const;
Header file for the class RMLPositionOutputParameters.
Header file for the dynamic vector class used for the Reflexxes Motion Libraries. ...
Header file for the class RMLPositionFlags.
RMLDoubleVector * PhaseSynchronizationCurrentPositionVector
Current position vector used for the calculation of phase-synchronized motion trajectories.
RMLDoubleVector * StoredTargetPosition
Stores the original target position vector .
Data structure containing flags to parameterize the execution of the position-based On-Line Trajector...
double InternalClockInSeconds
In order to prevent from recalculating the trajectory within every control cycle and to safe CPU time...
Data structure containing flags to parameterize the execution of the velocity-based On-Line Trajector...
RMLDoubleVector * PhaseSynchronizationTargetPositionVector
Target position vector used for the calculation of phase-synchronized motion trajectories.
Header file for the class TypeIIRMLVelocity.
unsigned int MotionProfileForPhaseSynchronization
Contains the ID of the profile that is used for phase-synchronization.
RMLDoubleVector * ArrayOfSortedTimes
An array of possible synchronization times in seconds. It contains all values of , , and . The array contains elements.
RMLVelocityOutputParameters * VelocityOutputParameters
Pointer to an RMLVelocityOutputParameters object. It is used for the output parameters of the velocit...
RMLDoubleVector * PhaseSynchronizationPositionDifferenceVector
Position difference vector used for the calculation of phase-synchronized motion trajectories...
Three arrays of TypeIIRMLMath::TypeIIRMLPolynomial.
DominatValueForPhaseSync
Set of input vector identifiers that can determine the normalized vector for phase-synchronization.
int ReturnValue
Contains the return value of the method TypeIIRMLPosition::GetNextStateOfMotion() ...
double SynchronizationTime
If the trajectory is time- or phase-synchronized, this attribute will contain the synchronization tim...
TypeIIRMLVelocity * RMLVelocityObject
Pointer to an TypeIIRMLVelocity object. The velocity-based On-Line Trajectory Generation algorithm is...
RMLDoubleVector * PhaseSynchronizationCheckVector
Candidate for a reference vector used for phase-synchronized motion trajectories.
MotionPolynomials * Polynomials
Pointer to an MotionPolynomials object, which contains the actual trajectory . It is a two-dimensiona...
RMLPositionInputParameters * CurrentInputParameters
Pointer to an RMLPositionInputParameters object. This object contains a complete set of input values ...
RMLDoubleVector * BeginningsOfInoperativeTimeIntervals
Vector that contains the beginnings of inoperative time intervals in seconds, .
RMLPositionOutputParameters * OutputParameters
Pointer to an RMLPositionOutputParameters object. This object contains the output parameters of the m...
Header file for the class RMLVelocityFlags.
double CycleTime
Contains the cycle time in seconds.
Header file for the class TypeIIRMLMath::TypeIIRMLPolynomial and the struct TypeIIRMLMath::MotionPoly...
RMLDoubleVector * ZeroVector
A vector with double elements, all of which are zero.
RMLDoubleVector * MinimumExecutionTimes
Vector that contains the minimum execution times in seconds, .
Header file for the class RMLVelocityOutputParameters.
Class for the output parameters of the velocity-based On-Line Trajectory Generation algorithm...
RMLVelocityInputParameters * VelocityInputParameters
Pointer to an RMLVelocityInputParameters object. It is used for the input parameters of the velocity-...
RMLDoubleVector * PhaseSynchronizationTimeVector
A vector of execution time values in seconds for all selected degrees of freedom used for phase-synch...
RMLDoubleVector * PhaseSynchronizationCurrentVelocityVector
Current velocity vector used for the calculation of phase-synchronized motion trajectories.
RMLPositionInputParameters * OldInputParameters
Pointer to an RMLPositionInputParameters object. In order to check, whether a new calculation has to ...
FunctionResults
For class-internal use only: return values of boolean methods.
bool CurrentTrajectoryIsPhaseSynchronized
Indicates, whether the current trajectory is phase-synchronized.
RMLVelocityFlags VelocityFlags
Pointer to an RMLVelocityFlags object. It is used for the velocity-based On-Line Trajectory Generatio...
RMLBoolVector * ModifiedSelectionVector
Boolean vector, which contains the modified selection vector that is based on the original selection ...
RMLVector< Step1_Profile > * UsedStep1AProfiles
Vector that contains the profiles that are used by Step 1A to calculate .
RMLDoubleVector * PhaseSynchronizationMaxVelocityVector
Contains the adapted maximum velocity vector for phase-synchronized trajectories.
RMLDoubleVector * PhaseSynchronizationReferenceVector
Reference vector for phase-synchronized trajectories, with .
bool CalculatePositionalExtremsFlag
Indicates, whether the positional extremes are to be calculated.
Header file for the Step 1 motion profiles.
RMLDoubleVector * PhaseSynchronizationTargetVelocityVector
Target velocity vector used for the calculation of phase-synchronized motion trajectories.
unsigned int GreatestDOFForPhaseSynchronization
Contains the index of the degree of freedom that was used to compute the reference vector for phase-s...
Class for the output parameters of the position-based On-Line Trajectory Generation algorithm...
This class constitutes the low-level user interface of the Reflexxes Type II Motion Library...
unsigned int NumberOfDOFs
The number of degrees of freedom .
RMLDoubleVector * PhaseSynchronizationMaxAccelerationVector
Contains the adapted maximum acceleration vector for phase-synchronized trajectories.
bool CurrentTrajectoryIsNotSynchronized
Indicates that no synchronization is required for the current set of input values, that is, the input flag RMLFlags::NO_SYNCHRONIZATION is set.
DominatValueForPhaseSync PhaseSynchronizationMagnitude
Value indicating, which of input vectors was used to compute the reference vector for phase-synchroni...
RMLDoubleVector * EndingsOfInoperativeTimeIntervals
Vector that contains the endings of inoperative time intervals in seconds, .
RMLPositionFlags OldFlags
In order to check, whether a new calculation has to be started, the input values have to be compared ...
This is a minimalistic dynamic vector class implementation used for the Reflexxes Motion Libraries...
This class constitutes the user interface of velocity-based the Type II On-Line Trajectory Generation...