本文整理匯總了Python中baxter_interface.Gripper.ready方法的典型用法代碼示例。如果您正苦於以下問題:Python Gripper.ready方法的具體用法?Python Gripper.ready怎麽用?Python Gripper.ready使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類baxter_interface.Gripper
的用法示例。
在下文中一共展示了Gripper.ready方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: GripperConnect
# 需要導入模塊: from baxter_interface import Gripper [as 別名]
# 或者: from baxter_interface.Gripper import ready [as 別名]
class GripperConnect(object):
"""
Connects wrist button presses to gripper open/close commands.
Uses the DigitalIO Signal feature to make callbacks to connected
action functions when the button values change.
"""
def __init__(self, arm, lights=True):
"""
@type arm: str
@param arm: arm of gripper to control {left, right}
@type lights: bool
@param lights: if lights should activate on cuff grasp
"""
self._arm = arm
# inputs
self._close_io = DigitalIO('%s_upper_button' % (arm,)) # 'dash' btn
self._open_io = DigitalIO('%s_lower_button' % (arm,)) # 'circle' btn
self._light_io = DigitalIO('%s_lower_cuff' % (arm,)) # cuff squeeze
# outputs
self._gripper = Gripper('%s' % (arm,), CHECK_VERSION)
self._nav = Navigator('%s' % (arm,))
# connect callback fns to signals
if self._gripper.type() != 'custom':
if not (self._gripper.calibrated() or
self._gripper.calibrate() == True):
rospy.logwarn("%s (%s) calibration failed.",
self._gripper.name.capitalize(),
self._gripper.type())
else:
msg = (("%s (%s) not capable of gripper commands."
" Running cuff-light connection only.") %
(self._gripper.name.capitalize(), self._gripper.type()))
rospy.logwarn(msg)
self._gripper.on_type_changed.connect(self._check_calibration)
self._open_io.state_changed.connect(self._open_action)
self._close_io.state_changed.connect(self._close_action)
if lights:
self._light_io.state_changed.connect(self._light_action)
rospy.loginfo("%s Cuff Control initialized...",
self._gripper.name.capitalize())
def _open_action(self, value):
if value and self._is_grippable():
rospy.logdebug("gripper open triggered")
self._gripper.open()
def _close_action(self, value):
if value and self._is_grippable():
rospy.logdebug("gripper close triggered")
self._gripper.close()
def _light_action(self, value):
if value:
rospy.logdebug("cuff grasp triggered")
else:
rospy.logdebug("cuff release triggered")
self._nav.inner_led = value
self._nav.outer_led = value
def _check_calibration(self, value):
if self._gripper.calibrated():
return True
elif value == 'electric':
rospy.loginfo("calibrating %s...",
self._gripper.name.capitalize())
return (self._gripper.calibrate() == True)
else:
return False
def _is_grippable(self):
return (self._gripper.calibrated() and self._gripper.ready())