cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mtsIntuitiveResearchKitMTM.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5  Author(s): Anton Deguet
6  Created on: 2013-05-15
7 
8  (C) Copyright 2013-2015 Johns Hopkins University (JHU), All Rights Reserved.
9 
10 --- begin cisst license - do not edit ---
11 
12 This software is provided "as is" under an open source license, with
13 no warranty. The complete license can be found in license.txt and
14 http://www.cisst.org/cisst/license.txt.
15 
16 --- end cisst license ---
17 */
18 
19 
20 #ifndef _mtsIntuitiveResearchKitMTM_h
21 #define _mtsIntuitiveResearchKitMTM_h
22 
25 
27 {
29 
30 public:
31  enum MTM_TYPE {
33  };
34 
35  mtsIntuitiveResearchKitMTM(const std::string & componentName, const double periodInSeconds);
38 
45  void SetMTMType(const bool autodetect = true, const MTM_TYPE type = MTM_NULL);
46 
47 protected:
48  enum JointName {
56  };
57 
59  inline size_t NumberOfJoints(void) const {
60  return 7;
61  }
62 
63  inline size_t NumberOfAxes(void) const {
64  return 8;
65  }
66 
67  inline size_t NumberOfJointsKinematics(void) const {
68  return 7;
69  }
70 
71  inline size_t NumberOfBrakes(void) const {
72  return 0;
73  }
74 
75  inline bool UsePIDTrackingError(void) const {
76  return false;
77  }
78 
80  const vctFrm4x4 & cartesianGoal);
81 
82  virtual void Init(void);
83 
86  void GetRobotData(void);
87 
90  void SetState(const mtsIntuitiveResearchKitArmTypes::RobotStateType & newState);
91 
92  void SetRobotControlState(const std::string & state);
93 
95  void RunArmSpecific(void);
96 
98  void RunHomingCalibrateArm(void);
99 
101  void RunHomingCalibrateRoll(void);
102 
104  virtual void RunGravityCompensation(void);
105 
107  void RunClutch(void);
108 
109  virtual void SetWrench(const prmForceCartesianSet & newForce); // NOTE: in body frame
110 
111  // Functions for events
112  struct {
115  } GripperEvents;
116 
119 
122 
128 
131 
132  // Home Action
137 };
138 
140 
141 #endif // _mtsIntuitiveResearchKitMTM_h
Definition: mtsIntuitiveResearchKitMTM.h:51
Definition: mtsIntuitiveResearchKitMTM.h:52
vctFrm4x4 CartesianClutched
robot cartesian position when cluthed
Definition: mtsIntuitiveResearchKitMTM.h:118
robManipulator::Errno InverseKinematics(vctDoubleVec &jointSet, const vctFrm4x4 &cartesianGoal)
size_t NumberOfJoints(void) const
Definition: mtsIntuitiveResearchKitMTM.h:59
~mtsIntuitiveResearchKitMTM()
Definition: mtsIntuitiveResearchKitMTM.h:37
size_t NumberOfJointsKinematics(void) const
Definition: mtsIntuitiveResearchKitMTM.h:67
bool HomingCalibrateRollSeekLower
Definition: mtsIntuitiveResearchKitMTM.h:133
Definition: mtsIntuitiveResearchKitMTM.h:26
JointName
Definition: mtsIntuitiveResearchKitMTM.h:48
Definition: mtsIntuitiveResearchKitMTM.h:32
bool HomingCalibrateRollSeekCenter
Definition: mtsIntuitiveResearchKitMTM.h:133
Definition: mtsIntuitiveResearchKitArm.h:36
void SetMTMType(const bool autodetect=true, const MTM_TYPE type=MTM_NULL)
Set MTM type, either MTM_LEFT or MTM_RIGHT.
Definition: mtsTaskPeriodic.h:38
Definition: mtsFunctionVoid.h:36
mtsFunctionWrite GripperClosed
Definition: mtsIntuitiveResearchKitMTM.h:114
virtual void SetWrench(const prmForceCartesianSet &newForce)
Errno
Definition: robManipulator.h:43
Definition: prmForceTorqueJointSet.h:37
const int CMN_DYNAMIC_CREATION_ONEARG
Definition: cmnClassRegisterMacros.h:333
Definition: mtsIntuitiveResearchKitMTM.h:49
CMN_DECLARE_SERVICES_INSTANTIATION(mtsIntuitiveResearchKitMTM)
Definition: mtsIntuitiveResearchKitMTM.h:32
void SetState(const mtsIntuitiveResearchKitArmTypes::RobotStateType &newState)
struct mtsIntuitiveResearchKitMTM::@189 GripperEvents
prmForceTorqueJointSet TorqueSet
desired torque for torque mode
Definition: mtsIntuitiveResearchKitMTM.h:121
mtsFunctionVoid GripperPinch
Definition: mtsIntuitiveResearchKitMTM.h:113
double HomingCalibrateRollLower
Definition: mtsIntuitiveResearchKitMTM.h:136
MTM_TYPE RobotType
robot type
Definition: mtsIntuitiveResearchKitMTM.h:130
Definition: mtsIntuitiveResearchKitMTM.h:32
virtual void RunGravityCompensation(void)
void SetRobotControlState(const std::string &state)
size_t NumberOfAxes(void) const
Definition: mtsIntuitiveResearchKitMTM.h:63
Definition: mtsIntuitiveResearchKitMTM.h:55
bool HomingCalibrateRollSeekUpper
Definition: mtsIntuitiveResearchKitMTM.h:133
Definition: prmForceCartesianSet.h:39
double HomingCalibrateRollUpper
Definition: mtsIntuitiveResearchKitMTM.h:136
Joint position move parameters.
Definition: mtsIntuitiveResearchKitMTM.h:53
MTM_TYPE
Definition: mtsIntuitiveResearchKitMTM.h:31
bool UsePIDTrackingError(void) const
Definition: mtsIntuitiveResearchKitMTM.h:75
bool GripperClosed
Definition: mtsIntuitiveResearchKitMTM.h:127
Definition: mtsIntuitiveResearchKitMTM.h:50
size_t NumberOfBrakes(void) const
Definition: mtsIntuitiveResearchKitMTM.h:71
virtual void Init(void)
double GripperPosition
Gripper angle.
Definition: mtsIntuitiveResearchKitMTM.h:126
Definition: mtsFunctionWrite.h:37
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
mtsIntuitiveResearchKitMTM(const std::string &componentName, const double periodInSeconds)
vctDoubleVec AnalogInputPosSI
Analog Input from Hardware for Gripper.
Definition: mtsIntuitiveResearchKitMTM.h:124
Definition: mtsIntuitiveResearchKitMTM.h:54