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 Iros13Hands(BaseHands):
00046 '''
00047 This class holds methods to operate the hands of NEXTAGE OPEN in a specific
00048 configuration where a clipping hand on left and suction hand on right
00049 connected to toolchanger module. This was presented at IROS 2013.
00050 '''
00051
00052
00053 def __init__(self, parent):
00054 '''
00055 @see: AbsractIros13Hands.__init__
00056 '''
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 super(Iros13Hands, self).__init__(parent)
00071 _pins_airhand = [self.DIO_27, self.DIO_28, self.DIO_22, self.DIO_23]
00072 _pins_gripper = [self.DIO_25, self.DIO_26, self.DIO_20, self.DIO_21]
00073 self.airhand_l_command = AirhandCommand(self, self.HAND_L, _pins_airhand)
00074 self.airhand_r_command = AirhandCommand(self, self.HAND_R, _pins_airhand)
00075 self.gripper_l_command = GripperCommand(self, self.HAND_L, _pins_gripper)
00076 self.gripper_r_command = GripperCommand(self, self.HAND_R, _pins_gripper)
00077
00078 _pins_handlight = [self.DIO_18, self.DIO_17]
00079 _pins_toolchanger = [self.DIO_24, self.DIO_25, self.DIO_26,
00080 self.DIO_19, self.DIO_20, self.DIO_21]
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 = result and self.handlight_r_command.turn_handlight(self.HAND_R, is_on)
00142 return result