cisst-saw
Loading...
Searching...
No Matches
robReflexxes Class Reference

Trajectory generator based on Reflexxes Type II Library. More...

#include <robReflexxes.h>

Public Types

enum  SynchronizationType { Reflexxes_NONE , Reflexxes_TIME , Reflexxes_PHASE }
enum  ResultType { Reflexxes_UNDEFINDED , Reflexxes_WORKING , Reflexxes_FINAL_STATE_REACHED , Reflexxes_ERROR }

Public Member Functions

 robReflexxes (void)
 robReflexxes (const vctDoubleVec &MaxVelocity, const vctDoubleVec &MaxAcceleration, const double CycleTime, const SynchronizationType synchronization=Reflexxes_NONE)
 robReflexxes (const vctDoubleVec &MaxVelocity, const vctDoubleVec &MaxAcceleration, const vctDoubleVec &MaxJerk, const double CycleTime, const SynchronizationType synchronization=Reflexxes_NONE)
 ~robReflexxes ()
void Init (void)
const ResultTypeResultValue (void) const
double Duration (void) const
const double & Time (void) const
void SetTime (const double &time)
void Set (const vctDoubleVec &MaxVelocity, const vctDoubleVec &MaxAcceleration, const double CycleTime, const SynchronizationType synchronization=Reflexxes_NONE)
 Set target positions and velocities as well as desired maximum velocities and accelerations. All vectors must match the target position size.
void Set (const vctDoubleVec &MaxVelocity, const vctDoubleVec &MaxAcceleration, const vctDoubleVec &MaxJerk, const double CycleTime, const SynchronizationType synchronization=Reflexxes_NONE)
void Evaluate (vctDoubleVec &CurrentPosition, vctDoubleVec &CurrentVelocity, const vctDoubleVec &TargetPosition, const vctDoubleVec &TargetVelocity)

Protected Attributes

bool mIsSet
size_t mDimension
SynchronizationType mSynchronization
ReflexxesAPI * RML
RMLPositionInputParameters * IP
RMLPositionOutputParameters * OP
RMLPositionFlags * mFlags
ResultType mResultValue
double mTime
vctDoubleVec mCurrentAcceleration

Detailed Description

Trajectory generator based on Reflexxes Type II Library.

Details can be found in www.reflexxes.com.

Member Enumeration Documentation

◆ ResultType

Enumerator
Reflexxes_UNDEFINDED 
Reflexxes_WORKING 
Reflexxes_FINAL_STATE_REACHED 
Reflexxes_ERROR 

◆ SynchronizationType

Enumerator
Reflexxes_NONE 
Reflexxes_TIME 
Reflexxes_PHASE 

Constructor & Destructor Documentation

◆ robReflexxes() [1/3]

robReflexxes::robReflexxes ( void )

◆ robReflexxes() [2/3]

robReflexxes::robReflexxes ( const vctDoubleVec & MaxVelocity,
const vctDoubleVec & MaxAcceleration,
const double CycleTime,
const SynchronizationType synchronization = Reflexxes_NONE )

◆ robReflexxes() [3/3]

robReflexxes::robReflexxes ( const vctDoubleVec & MaxVelocity,
const vctDoubleVec & MaxAcceleration,
const vctDoubleVec & MaxJerk,
const double CycleTime,
const SynchronizationType synchronization = Reflexxes_NONE )

◆ ~robReflexxes()

robReflexxes::~robReflexxes ( )

Member Function Documentation

◆ Duration()

double robReflexxes::Duration ( void ) const

Returns expected time left after last Evaluate call.

◆ Evaluate()

void robReflexxes::Evaluate ( vctDoubleVec & CurrentPosition,
vctDoubleVec & CurrentVelocity,
const vctDoubleVec & TargetPosition,
const vctDoubleVec & TargetVelocity )

◆ Init()

void robReflexxes::Init ( void )

◆ ResultValue()

const ResultType & robReflexxes::ResultValue ( void ) const

◆ Set() [1/2]

void robReflexxes::Set ( const vctDoubleVec & MaxVelocity,
const vctDoubleVec & MaxAcceleration,
const double CycleTime,
const SynchronizationType synchronization = Reflexxes_NONE )

Set target positions and velocities as well as desired maximum velocities and accelerations. All vectors must match the target position size.

Parameters
maximumvelocities
maximumacceleration

◆ Set() [2/2]

void robReflexxes::Set ( const vctDoubleVec & MaxVelocity,
const vctDoubleVec & MaxAcceleration,
const vctDoubleVec & MaxJerk,
const double CycleTime,
const SynchronizationType synchronization = Reflexxes_NONE )

◆ SetTime()

void robReflexxes::SetTime ( const double & time)

◆ Time()

const double & robReflexxes::Time ( void ) const

Member Data Documentation

◆ IP

RMLPositionInputParameters* robReflexxes::IP
protected

◆ mCurrentAcceleration

vctDoubleVec robReflexxes::mCurrentAcceleration
protected

◆ mDimension

size_t robReflexxes::mDimension
protected

Number of degrees of freedom

◆ mFlags

RMLPositionFlags* robReflexxes::mFlags
protected

◆ mIsSet

bool robReflexxes::mIsSet
protected

To ensure we don't evaluate if the parameters are not set

◆ mResultValue

ResultType robReflexxes::mResultValue
protected

◆ mSynchronization

SynchronizationType robReflexxes::mSynchronization
protected

synchronization type we can set

◆ mTime

double robReflexxes::mTime
protected

◆ OP

RMLPositionOutputParameters* robReflexxes::OP
protected

◆ RML

ReflexxesAPI* robReflexxes::RML
protected

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