cisst-saw
Loading...
Searching...
No Matches
mtsVFBase Class Referenceabstract

This is the base class for all virtual fixture objects. More...

#include <mtsVFBase.h>

Inheritance diagram for mtsVFBase:
mtsGenericObject cmnGenericObject mtsConstraintBase mtsVFCartesianOrientation mtsVFCartesianTranslation mtsVFCylinder mtsVFJointPosition mtsVFJointVelocity mtsVFLimitsConstraint mtsConstraintAbsoluteJointLimits mtsConstraintFixOrientation mtsConstraintFollowPositionTraj mtsConstraintJointVelLimits mtsConstraintStayOnAxis mtsVFMesh mtsVFPlane mtsVFCartesianLimits mtsVFFollow mtsVFJointLimits mtsVF_RCM mtsVFSensorCompliance

Public Types

enum  CONTROLLERMODE { JPOS = 1 , JVEL = 2 , CARTPOS = 3 , CARTVEL = 4 }

Public Member Functions

 mtsVFBase ()
 mtsVFBase (const std::string &name, mtsVFDataBase *data)
 ~mtsVFBase ()
virtual void ComputeConstraintSize ()
void ReserveSpace (nmrConstraintOptimizer &co)
 Reserves space in the control optimizer.
void LookupStateData (const std::map< std::string, prmKinematicsState * > &k, const std::map< std::string, prmSensorState * > &s)
 Updates internal state data.
void SetTableauRefs (nmrConstraintOptimizer &co)
 Updates internal references with co tableau.
virtual void FillInTableauRefs (const mtsVFBase::CONTROLLERMODE Mode, const double TickTime)=0
 Updates co with virtual fixture data.
vctDoubleMat Skew (const vctDoubleVec &in)
virtual void ConvertRefs (const mtsVFBase::CONTROLLERMODE mode, const double TickTime)=0
 Converts the data in the references if a change in mode is needed.
virtual void AssignRefs (const mtsVFBase::CONTROLLERMODE, const double, const vctDoubleVec &, vctDoubleMat &, vctDoubleVec &, vctDoubleMat &, vctDoubleVec &, vctDoubleMat &, vctDoubleVec &)
Public Member Functions inherited from mtsGenericObject
 mtsGenericObject (void)
 mtsGenericObject (double timestamp, bool automaticTimestamp, bool valid)
 mtsGenericObject (const mtsGenericObject &other)
virtual ~mtsGenericObject (void)
mtsGenericObjectoperator= (const mtsGenericObject &other)
bool SetTimestampIfAutomatic (double timestamp)
virtual void ToStream (std::ostream &outputStream) const
virtual void ToStreamRaw (std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const
virtual bool FromStreamRaw (std::istream &inputStream, const char delimiter=' ')
virtual void SerializeRaw (std::ostream &outputStream) const
virtual void DeSerializeRaw (std::istream &inputStream)
size_t ScalarNumber (void) const
bool ScalarNumberIsFixed (void) const
Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
virtual const cmnClassServicesBaseServices (void) const =0
bool ReconstructFrom (const cmnGenericObject &other)
std::string ToString (void) const
virtual cmnLogger::StreamBufTypeGetLogMultiplexer (void) const
virtual double Scalar (const size_t CMN_UNUSED(index)) const CISST_THROW(std
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const

Public Attributes

std::string Name
 Name of the virtual fixture.
mtsVFDataBase * Data
 Internally stored data.
std::vector< prmKinematicsState * > Kinematics
 Frame object.
std::vector< prmSensorState * > Sensors
 Sensor object.
vctDoubleVec DOFSelections
vctDynamicMatrixRef< double > ObjectiveMatrixRef
 Objective data reference.
vctDynamicMatrixRef< double > ObjectiveMatrixSlackRef
 Objective slack reference.
vctDynamicVectorRef< double > ObjectiveVectorRef
 Objective vector reference.
vctDynamicMatrixRef< double > IneqConstraintMatrixRef
 Inequality constraint data reference.
vctDynamicMatrixRef< double > IneqConstraintMatrixSlackRef
 Inequality constraint slack reference.
vctDynamicVectorRef< double > IneqConstraintVectorRef
 Inequality constraint vector reference.
vctDynamicVectorRef< double > IneqConstraintVectorSlackRef
 Inequality constraint slack reference.
vctDynamicMatrixRef< double > EqConstraintMatrixRef
 Equality constraint data reference.
vctDynamicMatrixRef< double > EqConstraintMatrixSlackRef
 Equality constraint slack reference.
vctDynamicVectorRef< double > EqConstraintVectorRef
 Equality constraint vector reference.

Static Public Attributes

static std::string DefaultKinematicsName

Detailed Description

This is the base class for all virtual fixture objects.

mtsVFBase: A class that contains logic for the implementation of virtual fixtures

Member Enumeration Documentation

◆ CONTROLLERMODE

Enumerator
JPOS 
JVEL 
CARTPOS 
CARTVEL 

Constructor & Destructor Documentation

◆ mtsVFBase() [1/2]

mtsVFBase::mtsVFBase ( )
inline

Constructor

◆ mtsVFBase() [2/2]

mtsVFBase::mtsVFBase ( const std::string & name,
mtsVFDataBase * data )

Constructor

Parameters
nameString name of object
ObjectiveRowsSize of objective
IneqConstraintRowsSize of inequality constraint
EqConstraintRowsSize of equality constraint

◆ ~mtsVFBase()

mtsVFBase::~mtsVFBase ( )
inline

Member Function Documentation

◆ AssignRefs()

virtual void mtsVFBase::AssignRefs ( const mtsVFBase::CONTROLLERMODE ,
const double ,
const vctDoubleVec & ,
vctDoubleMat & ,
vctDoubleVec & ,
vctDoubleMat & ,
vctDoubleVec & ,
vctDoubleMat & ,
vctDoubleVec &  )
inlinevirtual

◆ ComputeConstraintSize()

virtual void mtsVFBase::ComputeConstraintSize ( )
inlinevirtual

Computes the necessary size of constraints, modifier the values in Data Overload if constraint size varies (such as mesh constraint)

Reimplemented in mtsVFMesh.

◆ ConvertRefs()

virtual void mtsVFBase::ConvertRefs ( const mtsVFBase::CONTROLLERMODE mode,
const double TickTime )
pure virtual

◆ FillInTableauRefs()

◆ LookupStateData()

void mtsVFBase::LookupStateData ( const std::map< std::string, prmKinematicsState * > & k,
const std::map< std::string, prmSensorState * > & s )

Updates internal state data.

UpdateStateData

Parameters
kA map of names to kinematics objects
sA map of names to sensor objects

◆ ReserveSpace()

void mtsVFBase::ReserveSpace ( nmrConstraintOptimizer & co)

Reserves space in the control optimizer.

reserve_space

Parameters
coControl optimizer object

◆ SetTableauRefs()

void mtsVFBase::SetTableauRefs ( nmrConstraintOptimizer & co)

Updates internal references with co tableau.

UpdateTableauRefs

Parameters
coThe control optimizer object

◆ Skew()

vctDoubleMat mtsVFBase::Skew ( const vctDoubleVec & in)

Member Data Documentation

◆ Data

mtsVFDataBase* mtsVFBase::Data

Internally stored data.

◆ DefaultKinematicsName

std::string mtsVFBase::DefaultKinematicsName
static

◆ DOFSelections

vctDoubleVec mtsVFBase::DOFSelections

◆ EqConstraintMatrixRef

vctDynamicMatrixRef<double> mtsVFBase::EqConstraintMatrixRef

Equality constraint data reference.

◆ EqConstraintMatrixSlackRef

vctDynamicMatrixRef<double> mtsVFBase::EqConstraintMatrixSlackRef

Equality constraint slack reference.

◆ EqConstraintVectorRef

vctDynamicVectorRef<double> mtsVFBase::EqConstraintVectorRef

Equality constraint vector reference.

◆ IneqConstraintMatrixRef

vctDynamicMatrixRef<double> mtsVFBase::IneqConstraintMatrixRef

Inequality constraint data reference.

◆ IneqConstraintMatrixSlackRef

vctDynamicMatrixRef<double> mtsVFBase::IneqConstraintMatrixSlackRef

Inequality constraint slack reference.

◆ IneqConstraintVectorRef

vctDynamicVectorRef<double> mtsVFBase::IneqConstraintVectorRef

Inequality constraint vector reference.

◆ IneqConstraintVectorSlackRef

vctDynamicVectorRef<double> mtsVFBase::IneqConstraintVectorSlackRef

Inequality constraint slack reference.

◆ Kinematics

std::vector<prmKinematicsState *> mtsVFBase::Kinematics

Frame object.

◆ Name

std::string mtsVFBase::Name

Name of the virtual fixture.

◆ ObjectiveMatrixRef

vctDynamicMatrixRef<double> mtsVFBase::ObjectiveMatrixRef

Objective data reference.

◆ ObjectiveMatrixSlackRef

vctDynamicMatrixRef<double> mtsVFBase::ObjectiveMatrixSlackRef

Objective slack reference.

◆ ObjectiveVectorRef

vctDynamicVectorRef<double> mtsVFBase::ObjectiveVectorRef

Objective vector reference.

◆ Sensors

std::vector<prmSensorState *> mtsVFBase::Sensors

Sensor object.


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