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

#include <mtsIntuitiveResearchKitECM.h>

Inheritance diagram for mtsIntuitiveResearchKitECM:
mtsIntuitiveResearchKitArm mtsTaskPeriodic mtsTaskContinuous mtsTask mtsComponent cmnGenericObject

Public Member Functions

 mtsIntuitiveResearchKitECM (const std::string &componentName, const double periodInSeconds)
 
 mtsIntuitiveResearchKitECM (const mtsTaskPeriodicConstructorArg &arg)
 
 ~mtsIntuitiveResearchKitECM ()
 
- Public Member Functions inherited from mtsIntuitiveResearchKitArm
 mtsIntuitiveResearchKitArm (const std::string &componentName, const double periodInSeconds)
 
 mtsIntuitiveResearchKitArm (const mtsTaskPeriodicConstructorArg &arg)
 
virtual ~mtsIntuitiveResearchKitArm ()
 
void Configure (const std::string &filename)
 
void Startup (void)
 
void Run (void)
 
void Cleanup (void)
 
- Public Member Functions inherited from mtsTaskPeriodic
 mtsTaskPeriodic (const std::string &name, double periodicityInSeconds, bool isHardRealTime=false, unsigned int sizeStateTable=256, bool newThread=true)
 
 mtsTaskPeriodic (const std::string &name, const osaAbsoluteTime &periodicity, bool isHardRealTime=false, unsigned int sizeStateTable=256, bool newThread=true)
 
 mtsTaskPeriodic (const mtsTaskPeriodicConstructorArg &arg)
 
virtual ~mtsTaskPeriodic ()
 
void Suspend (void)
 
double GetPeriodicity (void) const
 
bool IsPeriodic (void) const
 
- Public Member Functions inherited from mtsTaskContinuous
 mtsTaskContinuous (const std::string &name, unsigned int sizeStateTable=256, bool newThread=true)
 
 mtsTaskContinuous (const mtsTaskContinuousConstructorArg &arg)
 
virtual ~mtsTaskContinuous ()
 
void Create (void *data=0)
 
void Start (void)
 
void Kill (void)
 
- Public Member Functions inherited from mtsTask
 mtsTask (const std::string &name, unsigned int sizeStateTable=256)
 
virtual ~mtsTask ()
 
virtual void OnStartupException (const std::exception &excp)
 
virtual void OnRunException (const std::exception &excp)
 
virtual void Configure (const std::string &CMN_UNUSED(filename)="")
 
void SetInitializationDelay (double delay)
 
void Create (void)
 
double GetAveragePeriod (void) const
 
const std::string GetDefaultStateTableName (void) const
 
mtsStateTableGetDefaultStateTable (void)
 
mtsInterfaceRequiredAddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType required=MTS_REQUIRED)
 
mtsInterfaceProvidedAddInterfaceProvidedWithoutSystemEvents (const std::string &newInterfaceName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false)
 
virtual bool WaitToStart (double timeout)
 
virtual bool WaitToTerminate (double timeout)
 
virtual void WaitForWakeup (void)
 
virtual void Wakeup (void)
 
void ProcessManagerCommandsIfNotActive ()
 
bool CheckForOwnThread (void) const
 
virtual bool IsOverranPeriod (void) const
 
virtual void ResetOverranPeriod (void)
 
- Public Member Functions inherited from mtsComponent
 mtsComponent (const std::string &deviceName)
 
virtual ~mtsComponent ()
 
const std::string & GetName (void) const
 
void GetName (std::string &placeHolder) const
 
void SetName (const std::string &componentName)
 
bool CreateAndWait (double timeoutInSeconds)
 
bool StartAndWait (double timeoutInSeconds)
 
bool KillAndWait (double timeoutInSeconds)
 
mtsInterfaceProvidedAddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY)
 
CISST_DEPRECATED
mtsInterfaceProvided
AddProvidedInterface (const std::string &interfaceProvidedName)
 
virtual mtsInterfaceOutputAddInterfaceOutput (const std::string &interfaceOutputName)
 
bool InterfaceExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceProvidedOrOutputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceRequiredOrInputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
mtsInterfaceProvidedGetInterfaceProvided (const std::string &interfaceProvidedName) const
 
mtsInterfaceOutputGetInterfaceOutput (const std::string &interfaceOutputName) const
 
size_t GetNumberOfInterfacesProvided (void) const
 
size_t GetNumberOfInterfacesOutput (void) const
 
bool RemoveInterfaceProvided (const std::string &interfaceProvidedName, const bool skipDisconnect=false)
 
mtsInterfaceRequiredAddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
CISST_DEPRECATED
mtsInterfaceRequired
AddRequiredInterface (const std::string &requiredInterfaceName)
 
virtual mtsInterfaceInputAddInterfaceInput (const std::string &interfaceInputName)
 
const mtsInterfaceProvidedGetInterfaceProvidedFor (const std::string &interfaceRequiredName)
 
mtsInterfaceRequiredGetInterfaceRequired (const std::string &interfaceRequiredName)
 
mtsInterfaceInputGetInterfaceInput (const std::string &interfaceInputName) const
 
size_t GetNumberOfInterfacesRequired (void) const
 
size_t GetNumberOfInterfacesInput (void) const
 
bool RemoveInterfaceRequired (const std::string &interfaceRequiredName, const bool skipDisconnect=false)
 
const mtsManagerComponentServicesGetManagerComponentServices (void) const
 
mtsManagerComponentServicesGetManagerComponentServices (void)
 
mtsStateTableGetStateTable (const std::string &stateTableName)
 
bool AddStateTable (mtsStateTable *existingStateTable, bool addInterfaceProvided=true)
 
void UseSeparateLogFileDefault (bool forwardToLogger=true)
 
void UseSeparateLogFileDefaultWithDate (bool forwardToLogger=true)
 
void UseSeparateLogFile (const std::string &filename, bool forwardToLogger=true)
 
cmnLogger::StreamBufTypeGetLogMultiplexer (void) const
 
bool IsRunning (void) const
 
bool CISST_DEPRECATED Running (void) const
 
bool IsStarted (void) const
 
bool IsTerminated (void) const
 
bool IsEndTask (void) const
 
const mtsComponentStateGetState (void) const
 
void GetState (mtsComponentState &state) const
 
void ToStream (std::ostream &outputStream) const
 
bool SetReplayMode (void)
 
bool SetReplayData (const std::string &stateTableName, const std::string &fileName)
 
bool SetReplayTime (const double time)
 
std::vector< std::string > GetNamesOfInterfacesProvidedOrOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesProvided (void) const
 
std::vector< std::string > GetNamesOfInterfacesOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequiredOrInput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequired (void) const
 
std::vector< std::string > GetNamesOfInterfacesInput (void) const
 
- Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
 
virtual const
cmnClassServicesBase
Services (void) const =0
 
bool ReconstructFrom (const cmnGenericObject &other)
 
std::string ToString (void) 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)
 
virtual size_t ScalarNumber (void) const
 
virtual bool ScalarNumberIsFixed (void) const
 
virtual double Scalar (const size_t CMN_UNUSED(index)) const throw (std::out_of_range)
 
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
 

Protected Member Functions

size_t NumberOfAxes (void) const
 
size_t NumberOfJoints (void) const
 
size_t NumberOfJointsKinematics (void) const
 
size_t NumberOfBrakes (void) const
 
bool UsePIDTrackingError (void) const
 
robManipulator::Errno InverseKinematics (vctDoubleVec &jointSet, const vctFrm4x4 &cartesianGoal)
 
void Init (void)
 
void SetState (const mtsIntuitiveResearchKitArmTypes::RobotStateType &newState)
 
void SetRobotControlState (const std::string &state)
 
void RunHomingCalibrateArm (void)
 
void EventHandlerTrackingError (void)
 
void EventHandlerManipClutch (const prmEventButton &button)
 
- Protected Member Functions inherited from mtsIntuitiveResearchKitArm
void GetRobotControlState (std::string &state) const
 
bool CurrentStateIs (const mtsIntuitiveResearchKitArmTypes::RobotStateType &state)
 
virtual void GetRobotData (void)
 
virtual void RunHomingPower (void)
 
virtual void RunPositionJoint (void)
 
virtual void RunPositionGoalJoint (void)
 
virtual void RunPositionCartesian (void)
 
virtual void RunPositionGoalCartesian (void)
 
virtual void RunArmSpecific (void)
 
virtual void SetPositionJointLocal (const vctDoubleVec &newPosition)
 
virtual void SetPositionJoint (const prmPositionJointSet &newPosition)
 
virtual void SetPositionGoalJoint (const prmPositionJointSet &newPosition)
 
virtual void SetPositionCartesian (const prmPositionCartesianSet &newPosition)
 
virtual void SetPositionGoalCartesian (const prmPositionCartesianSet &newPosition)
 
virtual void SetBaseFrame (const prmPositionCartesianGet &newBaseFrame)
 
virtual void JointLimitEventHandler (const vctBoolVec &flags)
 
void ErrorEventHandler (const std::string &message)
 
virtual bool UsePotsForSafetyCheck (void) const
 
- Protected Member Functions inherited from mtsTaskPeriodic
virtual void * RunInternal (void *argument)
 
void StartupInternal (void)
 
void CleanupInternal (void)
 
void StartInternal (void)
 
- Protected Member Functions inherited from mtsTask
void RunEventHandler (void)
 
void ChangeStateEventHandler (const mtsComponentState &newState)
 
mtsExecutionResult RunEvent (bool check=true)
 
void DoRunInternal (void)
 
void Sleep (double timeInSeconds)
 
mtsStateIndex::TimeTicksType GetTick (void) const
 
virtual void SaveThreadStartData (void *data)
 
virtual void SetThreadReturnValue (void *returnValue)
 
void ChangeState (mtsComponentState::Enum newState)
 
bool WaitForState (mtsComponentState desiredState, double timeout)
 
- Protected Member Functions inherited from mtsComponent
 mtsComponent (void)
 
 mtsComponent (const mtsComponent &other)
 
void Initialize (void)
 
mtsInterfaceRequiredAddInterfaceRequiredExisting (const std::string &interfaceRequiredName, mtsInterfaceRequired *interfaceRequired)
 
mtsInterfaceRequiredAddInterfaceRequiredUsingMailbox (const std::string &interfaceRequiredName, mtsMailBox *mailBox, mtsRequiredType required)
 
mtsInterfaceProvidedAddInterfaceProvidedUsingMailbox (const std::string &interfaceProvidedName, mtsMailBox *mailBox)
 
mtsInterfaceInputAddInterfaceInputExisting (const std::string &interfaceInputName, mtsInterfaceInput *interfaceInput)
 
mtsInterfaceOutputAddInterfaceOutputExisting (const std::string &interfaceOutputName, mtsInterfaceOutput *interfaceOutput)
 
void KillSeparateLogFile (void)
 
size_t ProcessMailBoxes (InterfacesProvidedMapType &interfaces)
 
size_t ProcessQueuedCommands (void)
 
size_t ProcessQueuedEvents (void)
 
mtsInterfaceRequiredEnableDynamicComponentManagement (void)
 Enable support for dynamic component management services. More...
 
bool AddInterfaceInternal (const bool useMangerComponentServices=false)
 Add internal interfaces. More...
 
void InterfaceInternalCommands_GetEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_AddObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_RemoveEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_RemoveObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_ComponentCreate (const mtsDescriptionComponent &componentDescription, bool &result)
 
void InterfaceInternalCommands_ComponentStartOther (const mtsComponentStatusControl &arg)
 

Protected Attributes

struct {
   mtsFunctionRead   GetButton
 
   bool   IsPressed
 
ManipClutch
 
struct {
   mtsFunctionWrite   ManipClutch
 
   mtsIntuitiveResearchKitArmTypes::RobotStateType   ManipClutchPreviousState
 
ClutchEvents
 
- Protected Attributes inherited from mtsIntuitiveResearchKitArm
mtsInterfaceRequiredPIDInterface
 
struct {
   mtsFunctionWrite   Enable
 
   mtsFunctionRead   GetPositionJoint
 
   mtsFunctionRead   GetPositionJointDesired
 
   mtsFunctionRead   GetStateJoint
 
   mtsFunctionRead   GetStateJointDesired
 
   mtsFunctionWrite   SetPositionJoint
 
   mtsFunctionWrite   SetCheckJointLimit
 
   mtsFunctionRead   GetVelocityJoint
 
   mtsFunctionWrite   EnableTorqueMode
 
   mtsFunctionWrite   SetTorqueJoint
 
   mtsFunctionWrite   SetTorqueOffset
 
   mtsFunctionWrite   EnableTrackingError
 
   mtsFunctionWrite   SetTrackingErrorTolerance
 
PID
 
mtsInterfaceRequiredIOInterface
 
struct
mtsIntuitiveResearchKitArm::InterfaceRobotTorque 
RobotIO
 
mtsInterfaceRequiredSUJInterface
 
mtsInterfaceProvidedRobotInterface
 
struct {
   mtsFunctionWrite   Status
 
   mtsFunctionWrite   Warning
 
   mtsFunctionWrite   Error
 
   mtsFunctionWrite   RobotState
 
MessageEvents
 
prmPositionCartesianSet CartesianSetParam
 
bool IsGoalSet
 
prmPositionCartesianGet CartesianGetLocalParam
 
vctFrm4x4 CartesianGetLocal
 
prmPositionCartesianGet CartesianGetLocalDesiredParam
 
vctFrm4x4 CartesianGetLocalDesired
 
prmPositionCartesianGet CartesianGetParam
 
vctFrm4x4 CartesianGet
 
prmPositionCartesianGet CartesianGetDesiredParam
 
vctFrm4x4 CartesianGetDesired
 
prmPositionJointGet JointGetParam
 
vctDoubleVec JointGet
 
vctDoubleVec JointGetDesired
 
prmPositionJointSet JointSetParam
 
vctDoubleVec JointSet
 
prmVelocityJointGet JointVelocityGetParam
 robot current joint velocity More...
 
vctDoubleVec JointVelocityGet
 
prmStateJoint StateJointParam
 
prmStateJoint StateJointDesiredParam
 
vctFrm4x4 CartesianGetPrevious
 
prmVelocityCartesianGet CartesianVelocityGetParam
 
robManipulator Manipulator
 
vctFrm4x4 CartesianPositionFrm
 
vctFrm4x4 BaseFrame
 
bool BaseFrameValid
 
mtsIntuitiveResearchKitArmTypes::RobotStateType RobotState
 
struct {
   robLSPB   LSPB
 
   vctDoubleVec   Velocity
 
   vctDoubleVec   Acceleration
 
   vctDoubleVec   Start
 
   vctDoubleVec   Goal
 
   vctDoubleVec   GoalError
 
   vctDoubleVec   GoalTolerance
 
   double   EndTime
 
   mtsFunctionWrite   GoalReachedEvent
 
JointTrajectory
 
vctDoubleVec PotsToEncodersTolerance
 
double HomingTimer
 
bool HomingPowerRequested
 
bool HomingCalibrateArmStarted
 
unsigned int mCounter
 
- Protected Attributes inherited from mtsTaskPeriodic
osaThreadBuddy ThreadBuddy
 
double Period
 
osaAbsoluteTime AbsoluteTimePeriod
 
bool IsHardRealTime
 
- Protected Attributes inherited from mtsTaskContinuous
bool NewThread
 
bool CaptureThread
 
- Protected Attributes inherited from mtsTask
osaThread Thread
 
double InitializationDelay
 
osaMutex StateChange
 
osaThreadSignal StateChangeSignal
 
mtsStateTable StateTable
 
bool OverranPeriod
 
void * ThreadStartData
 
void * ReturnValue
 
mtsCallableVoidBaseInterfaceProvidedToManagerCallable
 
mtsInterfaceRequiredExecIn
 
mtsInterfaceProvidedExecOut
 
mtsFunctionVoid RunEventInternal
 
bool RunEventCalled
 
mtsFunctionWrite ChangeStateEvent
 
- Protected Attributes inherited from mtsComponent
std::string Name
 
mtsComponentState State
 
mtsInterfaceProvidedInterfaceProvidedToManager
 
bool UseSeparateLogFileFlag
 
cmnLogger::StreamBufTypeLoDMultiplexerStreambuf
 
std::ofstream * LogFile
 
StateTableMapType StateTables
 
mtsManagerComponentServicesManagerComponentServices
 
mtsFunctionWrite EventGeneratorChangeState
 
bool ReplayMode
 
InterfacesProvidedMapType InterfacesProvided
 
InterfacesOutputMapType InterfacesOutput
 
InterfacesRequiredMapType InterfacesRequired
 
InterfacesInputMapType InterfacesInput
 

Additional Inherited Members

- Public Types inherited from mtsTaskPeriodic
typedef mtsTaskContinuous BaseType
 
- Public Types inherited from mtsTaskContinuous
typedef mtsTask BaseType
 
- Public Types inherited from mtsTask
typedef mtsComponent BaseType
 
- Public Types inherited from mtsComponent
typedef mtsComponent ThisType
 
- Static Public Attributes inherited from mtsTask
static std::runtime_error UnknownException
 
- Protected Types inherited from mtsComponent
typedef cmnNamedMap
< mtsStateTable
StateTableMapType
 
typedef cmnNamedMap
< mtsInterfaceProvided
InterfacesProvidedMapType
 
typedef cmnNamedMap
< mtsInterfaceOutput
InterfacesOutputMapType
 
typedef cmnNamedMap
< mtsInterfaceRequired
InterfacesRequiredMapType
 
typedef cmnNamedMap
< mtsInterfaceInput
InterfacesInputMapType
 

Constructor & Destructor Documentation

mtsIntuitiveResearchKitECM::mtsIntuitiveResearchKitECM ( const std::string &  componentName,
const double  periodInSeconds 
)
mtsIntuitiveResearchKitECM::mtsIntuitiveResearchKitECM ( const mtsTaskPeriodicConstructorArg arg)
mtsIntuitiveResearchKitECM::~mtsIntuitiveResearchKitECM ( )
inline

Member Function Documentation

void mtsIntuitiveResearchKitECM::EventHandlerManipClutch ( const prmEventButton button)
protected
void mtsIntuitiveResearchKitECM::EventHandlerTrackingError ( void  )
protected
void mtsIntuitiveResearchKitECM::Init ( void  )
protectedvirtual

Initialization, including resizing data members and setting up cisst/SAW interfaces

Reimplemented from mtsIntuitiveResearchKitArm.

robManipulator::Errno mtsIntuitiveResearchKitECM::InverseKinematics ( vctDoubleVec jointSet,
const vctFrm4x4 cartesianGoal 
)
protectedvirtual
size_t mtsIntuitiveResearchKitECM::NumberOfAxes ( void  ) const
inlineprotectedvirtual

Configuration methods

Implements mtsIntuitiveResearchKitArm.

size_t mtsIntuitiveResearchKitECM::NumberOfBrakes ( void  ) const
inlineprotectedvirtual
size_t mtsIntuitiveResearchKitECM::NumberOfJoints ( void  ) const
inlineprotectedvirtual
size_t mtsIntuitiveResearchKitECM::NumberOfJointsKinematics ( void  ) const
inlineprotectedvirtual
void mtsIntuitiveResearchKitECM::RunHomingCalibrateArm ( void  )
protectedvirtual

Homing procedure, home all joints except last one using potentiometers as reference.

Implements mtsIntuitiveResearchKitArm.

void mtsIntuitiveResearchKitECM::SetRobotControlState ( const std::string &  state)
protectedvirtual
void mtsIntuitiveResearchKitECM::SetState ( const mtsIntuitiveResearchKitArmTypes::RobotStateType &  newState)
protectedvirtual

Verify that the state transition is possible, initialize global variables for the desired state and finally set the state.

Implements mtsIntuitiveResearchKitArm.

bool mtsIntuitiveResearchKitECM::UsePIDTrackingError ( void  ) const
inlineprotectedvirtual

Member Data Documentation

struct { ... } mtsIntuitiveResearchKitECM::ClutchEvents
mtsFunctionRead mtsIntuitiveResearchKitECM::GetButton
bool mtsIntuitiveResearchKitECM::IsPressed
struct { ... } mtsIntuitiveResearchKitECM::ManipClutch
mtsFunctionWrite mtsIntuitiveResearchKitECM::ManipClutch
mtsIntuitiveResearchKitArmTypes::RobotStateType mtsIntuitiveResearchKitECM::ManipClutchPreviousState

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