Skip to content

Commit e2da7ad

Browse files
authored
opt gripper speed,add gripper_stop() API
* opt gripper speed,add gripper_stop() API
1 parent 41aae98 commit e2da7ad

File tree

5 files changed

+39
-12
lines changed

5 files changed

+39
-12
lines changed

docs/MyCobot_280_en.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ mc.send_angle(1, 40, 20)
682682

683683
- `flag (int) `: 0 - open 1 - close, 254 - release
684684

685-
- `speed (int)`: 1 ~ 100
685+
- `speed (int)`: 0 ~ 100
686686

687687
- `_type_1 (int)`:
688688

@@ -704,7 +704,7 @@ mc.send_angle(1, 40, 20)
704704

705705
- `gripper_value (int) `: 0 ~ 100
706706

707-
- `speed (int)`: 1 ~ 100
707+
- `speed (int)`: 0 ~ 100
708708

709709
- `gripper_type (int)`:
710710

@@ -718,6 +718,12 @@ mc.send_angle(1, 40, 20)
718718
- **Return value**
719719
- `1`: complete
720720

721+
#### `gripper_stop()`
722+
723+
- **Function**: Stop gripper movement
724+
- **Return value**:
725+
- `1`: Completed
726+
721727
#### `set_gripper_calibration()`
722728

723729
- **function**: Set the current position of the gripper to zero

docs/MyCobot_280_zh.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ mc.send_angle(1, 40, 20)
666666

667667
- `flag (int) `: 0 - 打开 1 - 关闭, 254 - 释放
668668

669-
- `speed (int)`: 1 ~ 100
669+
- `speed (int)`: 0 ~ 100
670670

671671
- `_type_1 (int)`:
672672

@@ -688,7 +688,7 @@ mc.send_angle(1, 40, 20)
688688

689689
- `gripper_value (int) `: 0 ~ 100
690690

691-
- `speed (int)`: 1 ~ 100
691+
- `speed (int)`: 0 ~ 100
692692

693693
- `gripper_type (int)`:
694694

@@ -702,6 +702,12 @@ mc.send_angle(1, 40, 20)
702702
- **返回值**
703703
- `1`: 完成
704704

705+
#### `gripper_stop()`
706+
707+
- **功能**: 停止夹爪运动
708+
- **返回值**
709+
- `1`: 完成
710+
705711
#### `set_gripper_calibration()`
706712

707713
- **功能**: 将夹爪的当前位置设置为零位

pymycobot/error.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,13 @@ def calibration_parameters(**kwargs):
514514
"speed value not right, should be 1 ~ 100, the received speed is %s"
515515
% value
516516
)
517+
elif parameter == 'gripper_speed':
518+
check_value_type(parameter, value_type, MyCobot280DataException, int)
519+
if not 0 <= value <= 100:
520+
raise MyCobot280DataException(
521+
"speed value not right, should be 0 ~ 100, the received speed is %s"
522+
% value
523+
)
517524
elif parameter == 'flag':
518525
check_0_or_1(parameter, value, [0, 1, 254], value_type, MyCobot280DataException, int)
519526
elif parameter == 'gripper_type':

pymycobot/mycobot280.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ def set_gripper_state(self, flag, speed, _type_1=None, is_torque=None):
736736
737737
Args:
738738
flag (int): 0 - open, 1 - close, 254 - release
739-
speed (int): 1 ~ 100
739+
speed (int): 0 ~ 100
740740
_type_1 (int): default 1
741741
1 : Adaptive gripper. default to adaptive gripper
742742
2 : 5 finger dexterous hand
@@ -746,7 +746,7 @@ def set_gripper_state(self, flag, speed, _type_1=None, is_torque=None):
746746
1: Force control
747747
0: Non-force control
748748
"""
749-
self.calibration_parameters(class_name=self.__class__.__name__, flag=flag, speed=speed, _type_1=_type_1,
749+
self.calibration_parameters(class_name=self.__class__.__name__, flag=flag, gripper_speed=speed, _type_1=_type_1,
750750
is_torque=is_torque)
751751
args = [flag, speed]
752752
if _type_1 is not None:
@@ -760,7 +760,7 @@ def set_gripper_value(self, gripper_value, speed, gripper_type=None, is_torque=N
760760
761761
Args:
762762
gripper_value (int): 0 ~ 100
763-
speed (int): 1 ~ 100
763+
speed (int): 0 ~ 100
764764
gripper_type (int): default 1
765765
1: Adaptive gripper
766766
3: Parallel gripper, this parameter can be omitted
@@ -769,7 +769,7 @@ def set_gripper_value(self, gripper_value, speed, gripper_type=None, is_torque=N
769769
1: Force control
770770
0: Non-force control
771771
"""
772-
self.calibration_parameters(class_name=self.__class__.__name__, gripper_value=gripper_value, speed=speed,
772+
self.calibration_parameters(class_name=self.__class__.__name__, gripper_value=gripper_value, gripper_speed=speed,
773773
gripper_type=gripper_type, is_torque=is_torque)
774774
args = [gripper_value, speed]
775775
if gripper_type is not None:
@@ -878,6 +878,10 @@ def check_async_or_sync(self):
878878
"""
879879
return self._mesg(ProtocolCode.CHECK_ASYNC_OR_SYNC, has_reply=True)
880880

881+
def gripper_stop(self):
882+
"""Stop gripper"""
883+
return self.set_gripper_value(0, 0)
884+
881885
# Other
882886
def wait(self, t):
883887
time.sleep(t)

pymycobot/mycobot280socket.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ def set_gripper_state(self, flag, speed, _type_1=None, is_torque=None):
769769
770770
Args:
771771
flag (int): 0 - open, 1 - close, 254 - release
772-
speed (int): 1 ~ 100
772+
speed (int): 0 ~ 100
773773
_type_1 (int): default 1
774774
1 : Adaptive gripper. default to adaptive gripper
775775
2 : 5 finger dexterous hand
@@ -779,7 +779,7 @@ def set_gripper_state(self, flag, speed, _type_1=None, is_torque=None):
779779
1: Force control
780780
0: Non-force control
781781
"""
782-
self.calibration_parameters(class_name=self.__class__.__name__, flag=flag, speed=speed, _type_1=_type_1,
782+
self.calibration_parameters(class_name=self.__class__.__name__, flag=flag, gripper_speed=speed, _type_1=_type_1,
783783
is_torque=is_torque)
784784
args = [flag, speed]
785785
if _type_1 is not None:
@@ -793,7 +793,7 @@ def set_gripper_value(self, gripper_value, speed, gripper_type=None, is_torque=N
793793
794794
Args:
795795
gripper_value (int): 0 ~ 100
796-
speed (int): 1 ~ 100
796+
speed (int): 0 ~ 100
797797
gripper_type (int): default 1
798798
1: Adaptive gripper
799799
3: Parallel gripper, this parameter can be omitted
@@ -802,7 +802,7 @@ def set_gripper_value(self, gripper_value, speed, gripper_type=None, is_torque=N
802802
1: Force control
803803
0: Non-force control
804804
"""
805-
self.calibration_parameters(class_name=self.__class__.__name__, gripper_value=gripper_value, speed=speed,
805+
self.calibration_parameters(class_name=self.__class__.__name__, gripper_value=gripper_value, gripper_speed=speed,
806806
gripper_type=gripper_type, is_torque=is_torque)
807807
args = [gripper_value, speed]
808808
if gripper_type is not None:
@@ -911,6 +911,10 @@ def check_async_or_sync(self):
911911
"""
912912
return self._mesg(ProtocolCode.CHECK_ASYNC_OR_SYNC, has_reply=True)
913913

914+
def gripper_stop(self):
915+
"""Stop gripper"""
916+
return self.set_gripper_value(0, 0)
917+
914918
# Other
915919
def wait(self, t):
916920
time.sleep(t)

0 commit comments

Comments
 (0)