cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mtsIntuitiveResearchKitPSM.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 _mtsIntuitiveResearchKitPSM_h
21 #define _mtsIntuitiveResearchKitPSM_h
22 
25 
26 // temporary
28 
30 {
32 
33 public:
34  mtsIntuitiveResearchKitPSM(const std::string & componentName, const double periodInSeconds);
37 
38  void Configure(const std::string & filename);
39 
40 protected:
41 
42  // PSM Optimizer
44 
46  inline size_t NumberOfAxes(void) const {
47  return 7;
48  }
49 
50  inline size_t NumberOfJoints(void) const {
51  return 7;
52  }
53 
54  inline size_t NumberOfJointsKinematics(void) const {
55  return 6;
56  }
57 
58  inline size_t NumberOfBrakes(void) const {
59  return 0;
60  }
61 
62  inline bool UsePIDTrackingError(void) const {
63  return false;
64  }
65 
67  const vctFrm4x4 & cartesianGoal);
68 
69  void Init(void);
70 
73  void SetState(const mtsIntuitiveResearchKitArmTypes::RobotStateType & newState);
74 
75  void SetRobotControlState(const std::string & state);
76 
78  void RunArmSpecific(void);
79 
81  void RunHomingCalibrateArm(void);
82 
84  void RunEngagingAdapter(void);
85 
87  void RunEngagingTool(void);
88 
90  virtual void RunConstraintControllerCartesian(void);
91 
92  void EventHandlerAdapter(const prmEventButton & button);
93  void EventHandlerTool(const prmEventButton & button);
94  void EventHandlerManipClutch(const prmEventButton & button);
95 
96  void SetPositionCartesian(const prmPositionCartesianSet & newPosition);
97  void SetJawPosition(const double & openAngle);
98 
101  struct {
103  bool IsPresent;
104  } Adapter;
105 
106  struct {
108  bool IsPresent;
109  } Tool;
111 
112  struct {
114  bool IsPressed;
115  } ManipClutch;
116 
117  // Functions for events
118  struct {
120  mtsIntuitiveResearchKitArmTypes::RobotStateType ManipClutchPreviousState;
121  } ClutchEvents;
122 
125 
126  // Home Action
129 
130  // temporary
133 };
134 
136 
137 #endif // _mtsIntuitiveResearchKitPSM_h
void SetRobotControlState(const std::string &state)
bool EngagingAdapterStarted
Definition: mtsIntuitiveResearchKitPSM.h:127
Definition: robManipulator.h:34
Definition: mtsFunctionRead.h:37
size_t NumberOfAxes(void) const
Definition: mtsIntuitiveResearchKitPSM.h:46
void SetPositionCartesian(const prmPositionCartesianSet &newPosition)
bool UsePIDTrackingError(void) const
Definition: mtsIntuitiveResearchKitPSM.h:62
virtual void RunConstraintControllerCartesian(void)
Definition: mtsIntuitiveResearchKitArm.h:36
void SetState(const mtsIntuitiveResearchKitArmTypes::RobotStateType &newState)
Definition: mtsTaskPeriodic.h:38
mtsFunctionWrite ManipClutch
Definition: mtsIntuitiveResearchKitPSM.h:119
struct mtsIntuitiveResearchKitPSM::@192 Tool
Errno
Definition: robManipulator.h:43
const int CMN_DYNAMIC_CREATION_ONEARG
Definition: cmnClassRegisterMacros.h:333
void Configure(const std::string &filename)
Definition: prmEventButton.h:37
void EventHandlerAdapter(const prmEventButton &button)
vctDoubleVec EngagingJointSet
Definition: mtsIntuitiveResearchKitPSM.h:132
void SetJawPosition(const double &openAngle)
CMN_DECLARE_SERVICES_INSTANTIATION(mtsIntuitiveResearchKitPSM)
vctFrm4x4 ToolOffsetTransformation
Definition: mtsIntuitiveResearchKitPSM.h:124
Definition: osaStopwatch.h:82
Definition: mtsIntuitiveResearchKitOptimizer.h:41
size_t NumberOfJointsKinematics(void) const
Definition: mtsIntuitiveResearchKitPSM.h:54
bool EngagingToolStarted
Definition: mtsIntuitiveResearchKitPSM.h:128
size_t NumberOfBrakes(void) const
Definition: mtsIntuitiveResearchKitPSM.h:58
osaStopwatch EngagingStopwatch
Definition: mtsIntuitiveResearchKitPSM.h:131
robManipulator * ToolOffset
Definition: mtsIntuitiveResearchKitPSM.h:123
mtsIntuitiveResearchKitOptimizer * Optimizer
Definition: mtsIntuitiveResearchKitPSM.h:43
bool IsPressed
Definition: mtsIntuitiveResearchKitPSM.h:114
bool IsPresent
Definition: mtsIntuitiveResearchKitPSM.h:103
Definition: mtsIntuitiveResearchKitPSM.h:29
~mtsIntuitiveResearchKitPSM()
Definition: mtsIntuitiveResearchKitPSM.h:36
void EventHandlerManipClutch(const prmEventButton &button)
struct mtsIntuitiveResearchKitPSM::@193 ManipClutch
struct mtsIntuitiveResearchKitPSM::@191 Adapter
mtsIntuitiveResearchKitPSM(const std::string &componentName, const double periodInSeconds)
size_t NumberOfJoints(void) const
Definition: mtsIntuitiveResearchKitPSM.h:50
Definition: mtsFunctionWrite.h:37
mtsFunctionRead GetButton
Definition: mtsIntuitiveResearchKitPSM.h:102
void EventHandlerTool(const prmEventButton &button)
robManipulator::Errno InverseKinematics(vctDoubleVec &jointSet, const vctFrm4x4 &cartesianGoal)
Definition: prmPositionCartesianSet.h:40
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
struct mtsIntuitiveResearchKitPSM::@194 ClutchEvents
mtsIntuitiveResearchKitArmTypes::RobotStateType ManipClutchPreviousState
Definition: mtsIntuitiveResearchKitPSM.h:120