Skip to content

Commit a54b2fd

Browse files
committed
[fix] fix pos parameter convert in set_bio_gripper_g2_position
1 parent d3e10e5 commit a54b2fd

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

xarm/x3/gripper.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ def set_bio_gripper_position(self, pos, speed=0, force=50, wait=True, timeout=5,
693693
self.get_bio_gripper_status()
694694
if not self.bio_gripper_is_enabled:
695695
self.set_bio_gripper_enable(True)
696-
speed = min(speed, 4500)
696+
speed = min(speed, 4000)
697697
if speed > 0 and speed != self.bio_gripper_speed:
698698
self.set_bio_gripper_speed(speed)
699699

@@ -702,10 +702,9 @@ def set_bio_gripper_position(self, pos, speed=0, force=50, wait=True, timeout=5,
702702
if self._bio_gripper_version == 2:
703703
code, mode = self.get_bio_gripper_control_mode()
704704
if mode == 1:
705-
# pos = int(pos * 3.798 - 269.620)
706705
pos = int(pos * 3.7342 - 265.13)
707706
force = min(force, 100)
708-
if force >= 10:
707+
if force >= 1:
709708
self.set_bio_gripper_force(force)
710709

711710
data_frame = [0x08, 0x10, 0x07, 0x00, 0x00, 0x02, 0x04]
@@ -891,10 +890,19 @@ def set_bio_gripper_g2_position(self, pos, speed=2000, force=100, wait=True, tim
891890
pos = min(max(71, pos), 150)
892891
speed = min(max(500, speed), 4000)
893892
force = min(max(1, force), 100)
893+
894+
if self._bio_gripper_version == 0:
895+
self.get_bio_gripper_sn()
896+
pos_pluse = pos
897+
if self._bio_gripper_version == 2:
898+
code, mode = self.get_bio_gripper_control_mode()
899+
if mode == 1:
900+
pos_pluse = int(pos * 3.7342 - 265.13)
901+
894902
data_frame = [0x08, 0x10, 0x0C, 0x00, 0x00, 0x05, 0x0A, 0x00, 0x01]
895903
data_frame.extend(list(struct.pack('>h', speed))) # speed // 256 % 256, speed % 256
896904
data_frame.extend(list(struct.pack('>h', force))) # force // 256 % 256, force % 256
897-
data_frame.extend(list(struct.pack('>i', pos)))
905+
data_frame.extend(list(struct.pack('>i', pos_pluse)))
898906
code, res = self.__bio_gripper_send_modbus(data_frame, 6)
899907
if code == 0 and wait:
900908
code = self.__bio_gripper_wait_motion_completed(timeout=timeout)

0 commit comments

Comments
 (0)