Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 from nextage_ros_bridge.base_hands import BaseHands
00038 from nextage_ros_bridge.command.airhand_command import AbsractHandCommand
00039 from nextage_ros_bridge.command.airhand_command import AirhandCommand
00040 from nextage_ros_bridge.command.gripper_command import GripperCommand
00041 from nextage_ros_bridge.command.handlight_command import HandlightCommand
00042 from nextage_ros_bridge.command.toolchanger_command import ToolchangerCommand
00043
00044
00045 class Hands05(BaseHands):
00046 '''
00047 This class holds methods to operate the hands of NEXTAGE OPEN, based on the
00048 specification of the robot made by the manufacturer (Kawada)
00049 in August 2014 and thereafter.
00050
00051 For the robot shipped before then, use Iros13Hands.
00052 '''
00053
00054 def __init__(self, parent):
00055 '''
00056 @see: AbsractIros13Hands.__init__
00057 '''
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 super(Hands05, self).__init__(parent)
00071 _pins_airhand = [self.DIO_27, self.DIO_28, self.DIO_25, self.DIO_26]
00072 _pins_gripper = [self.DIO_23, self.DIO_24, self.DIO_21, self.DIO_22]
00073 _pins_handlight = [self.DIO_18, self.DIO_17]
00074 _pins_toolchanger = [self.DIO_20, self.DIO_19]
00075
00076 self._airhand_l_command = AirhandCommand(self, self.HAND_L, _pins_airhand)
00077 self._airhand_r_command = AirhandCommand(self, self.HAND_R, _pins_airhand)
00078 self._gripper_l_command = GripperCommand(self, self.HAND_L, _pins_gripper)
00079 self._gripper_r_command = GripperCommand(self, self.HAND_R, _pins_gripper)
00080
00081
00082 self._handlight_l_command = HandlightCommand(self, self.HAND_L, _pins_handlight)
00083 self._handlight_r_command = HandlightCommand(self, self.HAND_R, _pins_handlight)
00084 self._toolchanger_l_command = ToolchangerCommand(self, self.HAND_L, _pins_toolchanger)
00085 self._toolchanger_r_command = ToolchangerCommand(self, self.HAND_R, _pins_toolchanger)
00086
00087 def airhand_l_drawin(self):
00088 return self._airhand_l_command.execute(self._airhand_l_command.AIRHAND_DRAWIN)
00089
00090 def airhand_r_drawin(self):
00091 return self._airhand_r_command.execute(self._airhand_r_command.AIRHAND_DRAWIN)
00092
00093 def airhand_l_keep(self):
00094 return self._airhand_l_command.execute(self._airhand_l_command.AIRHAND_KEEP)
00095
00096 def airhand_r_keep(self):
00097 return self._airhand_r_command.execute(self._airhand_r_command.AIRHAND_KEEP)
00098
00099 def airhand_l_release(self):
00100 return self._airhand_l_command.execute(self._airhand_l_command.AIRHAND_RELEASE)
00101
00102 def airhand_r_release(self):
00103 return self._airhand_r_command.execute(self._airhand_r_command.AIRHAND_RELEASE)
00104
00105 def gripper_l_close(self):
00106 return self._gripper_l_command.execute(self._gripper_l_command.GRIPPER_CLOSE)
00107
00108 def gripper_r_close(self):
00109 return self._gripper_r_command.execute(self._gripper_r_command.GRIPPER_CLOSE)
00110
00111 def gripper_l_open(self):
00112 return self._gripper_l_command.execute(self._gripper_r_command.GRIPPER_OPEN)
00113
00114 def gripper_r_open(self):
00115 return self._gripper_r_command.execute(self._gripper_r_command.GRIPPER_OPEN)
00116
00117 def handtool_l_eject(self):
00118 return self._toolchanger_l_command.execute(
00119 self._toolchanger_l_command.HAND_TOOLCHANGE_OFF)
00120
00121 def handtool_r_eject(self):
00122 return self._toolchanger_r_command.execute(
00123 self._toolchanger_r_command.HAND_TOOLCHANGE_OFF)
00124
00125 def handtool_l_attach(self):
00126 return self._toolchanger_l_command.execute(
00127 self._toolchanger_l_command.HAND_TOOLCHANGE_ON)
00128
00129 def handtool_r_attach(self):
00130 return self._toolchanger_r_command.execute(
00131 self._toolchanger_r_command.HAND_TOOLCHANGE_ON)
00132
00133 def handlight_r(self, is_on=True):
00134 return self._handlight_r_command.turn_handlight(self.HAND_R, is_on)
00135
00136 def handlight_l(self, is_on=True):
00137 return self._handlight_l_command.turn_handlight(self.HAND_L, is_on)
00138
00139 def handlight_both(self, is_on=True):
00140 result = self._handlight_l_command.turn_handlight(self.HAND_L, is_on)
00141 result = self._handlight_r_command.turn_handlight(self.HAND_R, is_on) and result
00142 return result