cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
robCollaborativeControlForce Class Reference

#include <robCollaborativeControlForce.h>

Classes

class  ParameterType
 

Public Member Functions

 robCollaborativeControlForce (void)
 
 robCollaborativeControlForce (double linearGainMaster, double linearGainSlave, double forceLimit, ParameterType::ForceModeType forceMode, double masterToSlaveScale, double forceFeedbackRatio)
 
 ~robCollaborativeControlForce (void)
 
void SetParameters (const ParameterType &commandedParameter)
 
void Update (const vct3 &p1, const vct3 &p2, const bool ClutchMaster, const bool ClutchSlave, vctFixedSizeVector< double, 6 > &ForceMaster, vctFixedSizeVector< double, 6 > &ForceSlave)
 

Protected Member Functions

 CMN_DECLARE_MEMBER_AND_ACCESSORS (bool, ApplicationMasterClutch)
 
 CMN_DECLARE_MEMBER_AND_ACCESSORS (bool, ApplicationSlaveClutch)
 
 CMN_DECLARE_MEMBER_AND_ACCESSORS (bool, ApplicationMasterSlaveClutch)
 
 CMN_DECLARE_MEMBER_AND_ACCESSORS (ParameterType, Parameter)
 

Protected Attributes

vct3 WorkspaceOffset
 
vct3 ClutchOffset
 
vct3 LeftClutchOffset
 
vct3 RightClutchOffset
 
vct3 LeftClutchMSOffset
 
vct3 RightClutchMSOffset
 
vct3 Error
 
vct3 p1Goal
 
vct3 p2Goal
 
vct3 p1RGoal
 
vct3 p2RGoal
 
vct3 p1Clutched
 
vct3 p2Clutched
 
vct3 p1R
 
vct3 p2R
 
vct3 p1Last
 
vct3 p2Last
 
bool FirstIteration
 
bool ClutchDone
 
bool BothClutched
 
bool ClutchOffsetAdd
 
int ClutchMode
 
double ForceFeedNormMaster
 
double ForceFeedNormSlave
 
vctFrm3 RelativeTransform
 

Constructor & Destructor Documentation

robCollaborativeControlForce::robCollaborativeControlForce ( void  )
robCollaborativeControlForce::robCollaborativeControlForce ( double  linearGainMaster,
double  linearGainSlave,
double  forceLimit,
ParameterType::ForceModeType  forceMode,
double  masterToSlaveScale,
double  forceFeedbackRatio 
)
robCollaborativeControlForce::~robCollaborativeControlForce ( void  )
inline

Member Function Documentation

robCollaborativeControlForce::CMN_DECLARE_MEMBER_AND_ACCESSORS ( bool  ,
ApplicationMasterClutch   
)
protected
robCollaborativeControlForce::CMN_DECLARE_MEMBER_AND_ACCESSORS ( bool  ,
ApplicationSlaveClutch   
)
protected
robCollaborativeControlForce::CMN_DECLARE_MEMBER_AND_ACCESSORS ( bool  ,
ApplicationMasterSlaveClutch   
)
protected
robCollaborativeControlForce::CMN_DECLARE_MEMBER_AND_ACCESSORS ( ParameterType  ,
Parameter   
)
protected
void robCollaborativeControlForce::SetParameters ( const ParameterType commandedParameter)

Set Parameters function takes arguments from the parent class to mutate the values of; Force Limit, Scale Factor Force Coefficient, Force Mode. These values are currently being used by devicesTutorialExample3 GUI via devSensableHDMasterSlave class.

void robCollaborativeControlForce::Update ( const vct3 p1,
const vct3 p2,
const bool  ClutchMaster,
const bool  ClutchSlave,
vctFixedSizeVector< double, 6 > &  ForceMaster,
vctFixedSizeVector< double, 6 > &  ForceSlave 
)

Update function's goal is to carry out position to force control. Two position parameters and two clutch parameters are provided by the parent class. This function uses those positions and the clutch parameters to calculate the desired force values for teleoperation. Designed for Phantom Omni teleoperation, has not been tested on other platforms.

Member Data Documentation

bool robCollaborativeControlForce::BothClutched
protected
bool robCollaborativeControlForce::ClutchDone
protected
int robCollaborativeControlForce::ClutchMode
protected
vct3 robCollaborativeControlForce::ClutchOffset
protected
bool robCollaborativeControlForce::ClutchOffsetAdd
protected
vct3 robCollaborativeControlForce::Error
protected
bool robCollaborativeControlForce::FirstIteration
protected
double robCollaborativeControlForce::ForceFeedNormMaster
protected
double robCollaborativeControlForce::ForceFeedNormSlave
protected
vct3 robCollaborativeControlForce::LeftClutchMSOffset
protected
vct3 robCollaborativeControlForce::LeftClutchOffset
protected
vct3 robCollaborativeControlForce::p1Clutched
protected
vct3 robCollaborativeControlForce::p1Goal
protected
vct3 robCollaborativeControlForce::p1Last
protected
vct3 robCollaborativeControlForce::p1R
protected
vct3 robCollaborativeControlForce::p1RGoal
protected
vct3 robCollaborativeControlForce::p2Clutched
protected
vct3 robCollaborativeControlForce::p2Goal
protected
vct3 robCollaborativeControlForce::p2Last
protected
vct3 robCollaborativeControlForce::p2R
protected
vct3 robCollaborativeControlForce::p2RGoal
protected
vctFrm3 robCollaborativeControlForce::RelativeTransform
protected
vct3 robCollaborativeControlForce::RightClutchMSOffset
protected
vct3 robCollaborativeControlForce::RightClutchOffset
protected
vct3 robCollaborativeControlForce::WorkspaceOffset
protected

Parameters being used by the Update function for teleoperation

vct3 declarations include the offsets for the workspace, clutch overall, clutch left and right, and the goals for first and second device.

Other declarations(bool, double) are mostly used to manipulate the above mentioned data, such as temporary booleans, scale factor, force limit, etc.


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