Skip to content

Commit 94084cd

Browse files
committed
save
1 parent ac6f83c commit 94084cd

File tree

5 files changed

+25
-15
lines changed

5 files changed

+25
-15
lines changed

demo/drag_trial_teaching.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def _loop():
133133
idx_ = i % len_
134134
i += 1
135135
self.mc.set_encoders_drag(self.record_list[idx_][0],self.record_list[idx_][1])
136-
self.mc.set_encoder(7, self.record_list[idx_])
136+
self.mc.set_encoder(7, self.record_list[idx_][2])
137137
if idx_ == 0:
138138
time.sleep(3)
139139
time.sleep(self.record_list[idx_][-1])

pymycobot/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
from pymycobot.mybuddyemoticon import MyBuddyEmoticon
4949
__all__.append("MyBuddyEmoticon")
5050

51-
__version__ = "3.1.8"
51+
__version__ = "3.1.9b1"
5252
__author__ = "Elephantrobotics"
5353
__email__ = "[email protected]"
5454
__git_url__ = "https://github.com/elephantrobotics/pymycobot"

pymycobot/error.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,16 @@ def public_check(parameter_list, kwargs, robot_limit, class_name, exception_clas
168168
data_type = type(data)
169169
check_value_type(parameter, data_type, exception_class, int)
170170
if data < 0 or data > 3400:
171-
raise exception_class("The range of encoder is 0 ~ 3400, but the received value is {}".format(data))
171+
raise exception_class("The range of speed is 0 ~ 3400, but the received value is {}".format(data))
172172
elif parameter in ['servo_id_pdi', 'encode_id']:
173173
check_value_type(parameter, value_type, exception_class, int)
174-
if "MyCobot" in class_name or "MechArm" in class_name:
175-
if value < 1 or value > 6:
176-
raise exception_class("The range of id is 1 ~ 6, but the received is {}".format(value))
177-
elif "MyPalletizer" in class_name:
174+
# if "MyCobot" in class_name or "MechArm" in class_name:
175+
# if value < 1 or value > 6:
176+
# raise exception_class("The range of id is 1 ~ 6, but the received is {}".format(value))
177+
if "MyPalletizer" in class_name:
178178
if value < 1 or value > 4:
179179
raise exception_class("The range of id is 1 ~ 4, but the received is {}".format(value))
180-
elif "MyArm" in class_name:
180+
elif "MyArm" in class_name or "MyCobot" in class_name or "MechArm" in class_name:
181181
if value < 1 or value > 7:
182182
raise exception_class("The range of id is 1 ~ 7, but the received is {}".format(value))
183183

@@ -193,7 +193,10 @@ def calibration_parameters(**kwargs):
193193
check_id(value, robot_limit[class_name][parameter], CobotXDataException)
194194
elif parameter == 'angle':
195195
id = kwargs.get('id', None)
196-
index = robot_limit[class_name]['id'][id-1] - 1
196+
if id in [11,12,13]:
197+
index = robot_limit[class_name]['id'][id-4] - 4
198+
else:
199+
index = robot_limit[class_name]['id'][id-1] - 1
197200
if value < robot_limit[class_name]["angles_min"][index] or value > robot_limit[class_name]["angles_max"][index]:
198201
raise CobotXDataException(
199202
"angle value not right, should be {0} ~ {1}, but received {2}".format(
@@ -243,6 +246,13 @@ def calibration_parameters(**kwargs):
243246
elif parameter == 'solution_angle':
244247
if value > 90 or value < -90:
245248
raise CobotXDataException("The angle range is -90° ~ 90°, but received {}".format(value))
249+
elif parameter == 'servo_id':
250+
if value < 20 or value > 22:
251+
raise CobotXDataException("The angle servo_id is 20 ~ 22, but received {}".format(value))
252+
elif parameter == 'value':
253+
if value < 1 or value > 32000:
254+
raise CobotXDataException("The angle value is 1 ~ 32000, but received {}".format(value))
255+
246256
elif class_name == "MyAgv":
247257
for parameter in parameter_list[1:]:
248258
value = kwargs.get(parameter, None)

pymycobot/generate.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ def set_servo_data(self, servo_id, data_id, value):
567567
data_id: Data address.
568568
value: 0 - 4096
569569
"""
570-
self.calibration_parameters(class_name = self.__class__.__name__, id=servo_id, value=value)
570+
self.calibration_parameters(class_name = self.__class__.__name__, servo_id=servo_id, value=value)
571571
return self._mesg(ProtocolCode.SET_SERVO_DATA, servo_id, data_id, value)
572572

573573
def get_servo_data(self, servo_id, data_id):
@@ -583,7 +583,7 @@ def get_servo_data(self, servo_id, data_id):
583583
Return:
584584
values 0 - 4096
585585
"""
586-
self.calibration_parameters(class_name = self.__class__.__name__, id=servo_id)
586+
self.calibration_parameters(class_name = self.__class__.__name__, servo_id=servo_id)
587587
return self._mesg(
588588
ProtocolCode.GET_SERVO_DATA, servo_id, data_id, has_reply=True
589589
)

pymycobot/robot_limit.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
22
"CobotX":{
33
"id":[1,2,3,4,5,6,7,11,12,13],
4-
"angles_min":[-165, -100, -165, -175, -165, -1, -165],
5-
"angles_max":[165, 100, 165, 1, 165, 215, 165],
4+
"angles_min":[-165, -100, -165, -175, -165, -1, -165, 0, -140, -120],
5+
"angles_max":[165, 100, 165, 1, 165, 215, 165, 50, 190, 120],
66
"coords_min":[-466, -466, -290, -180, -180, -180],
77
"coords_max":[466, 466, 641, 180, 180, 180]
88
},
99
"CobotXSocket":{
1010
"id":[1,2,3,4,5,6,7,11,12,13],
11-
"angles_min":[-165, -100, -165, -175, -165, -1, -165],
12-
"angles_max":[165, 100, 165, 1, 165, 215, 165],
11+
"angles_min":[-165, -100, -165, -175, -165, -1, -165, 0, -140, -120],
12+
"angles_max":[165, 100, 165, 1, 165, 215, 165, 50, 190, 120],
1313
"coords_min":[-466, -466, -290, -180, -180, -180],
1414
"coords_max":[466, 466, 641, 180, 180, 180]
1515
},

0 commit comments

Comments
 (0)