standardbots 2.0.0.dev1758730305__tar.gz → 2.0.0.dev1760378411__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of standardbots might be problematic. Click here for more details.
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/PKG-INFO +1 -1
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/setup.py +1 -1
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots/auto_generated/apis.py +1 -1
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots/auto_generated/models.py +6 -97
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots.egg-info/PKG-INFO +1 -1
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/test_apis.py +11 -12
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/README.md +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/setup.cfg +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots/__init__.py +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots/auto_generated/__init__.py +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots.egg-info/SOURCES.txt +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots.egg-info/dependency_links.txt +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots.egg-info/requires.txt +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots.egg-info/top_level.txt +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/__init__.py +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/client_fixt.py +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/robot_fixt.py +0 -0
- {standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/routines_fixt.py +0 -0
|
@@ -1736,14 +1736,6 @@ def parse_max_joint_speeds(data: object) -> MaxJointSpeeds:
|
|
|
1736
1736
|
def serialize_max_joint_speeds(data: MaxJointSpeeds) -> object:
|
|
1737
1737
|
return [serialize_f_64(data[0]),serialize_f_64(data[1]),serialize_f_64(data[2]),serialize_f_64(data[3]),serialize_f_64(data[4]),serialize_f_64(data[5]),]
|
|
1738
1738
|
|
|
1739
|
-
MaxJointTorques = Tuple[float,float,float,float,float,float,]
|
|
1740
|
-
|
|
1741
|
-
def parse_max_joint_torques(data: object) -> MaxJointTorques:
|
|
1742
|
-
return (parse_f_64(data[0]),parse_f_64(data[1]),parse_f_64(data[2]),parse_f_64(data[3]),parse_f_64(data[4]),parse_f_64(data[5]),)
|
|
1743
|
-
|
|
1744
|
-
def serialize_max_joint_torques(data: MaxJointTorques) -> object:
|
|
1745
|
-
return [serialize_f_64(data[0]),serialize_f_64(data[1]),serialize_f_64(data[2]),serialize_f_64(data[3]),serialize_f_64(data[4]),serialize_f_64(data[5]),]
|
|
1746
|
-
|
|
1747
1739
|
class MovementKindEnum(Enum):
|
|
1748
1740
|
Joint = "joint"
|
|
1749
1741
|
"""Enum Joint = `joint`"""
|
|
@@ -3164,8 +3156,7 @@ def serialize_sensor_config(data: SensorConfig) -> object:
|
|
|
3164
3156
|
class SetRatioControlRequest:
|
|
3165
3157
|
"""Request to set ratio control parameters"""
|
|
3166
3158
|
enabled: Union[bool, None] = None
|
|
3167
|
-
|
|
3168
|
-
rotationValue: Union[float, None] = None
|
|
3159
|
+
value: Union[float, None] = None
|
|
3169
3160
|
|
|
3170
3161
|
def validate_enabled(self, value: bool) -> Tuple[bool, str]:
|
|
3171
3162
|
if value is None:
|
|
@@ -3176,21 +3167,12 @@ class SetRatioControlRequest:
|
|
|
3176
3167
|
|
|
3177
3168
|
return [True, ""]
|
|
3178
3169
|
|
|
3179
|
-
def
|
|
3180
|
-
if value is None:
|
|
3181
|
-
return [True, ""]
|
|
3182
|
-
|
|
3183
|
-
if not isinstance(value, float):
|
|
3184
|
-
return [False, "movementValue must be of type float for SetRatioControlRequest, got " + type(value).__name__]
|
|
3185
|
-
|
|
3186
|
-
return [True, ""]
|
|
3187
|
-
|
|
3188
|
-
def validate_rotationValue(self, value: float) -> Tuple[bool, str]:
|
|
3170
|
+
def validate_value(self, value: float) -> Tuple[bool, str]:
|
|
3189
3171
|
if value is None:
|
|
3190
3172
|
return [True, ""]
|
|
3191
3173
|
|
|
3192
3174
|
if not isinstance(value, float):
|
|
3193
|
-
return [False, "
|
|
3175
|
+
return [False, "value must be of type float for SetRatioControlRequest, got " + type(value).__name__]
|
|
3194
3176
|
|
|
3195
3177
|
return [True, ""]
|
|
3196
3178
|
|
|
@@ -3199,25 +3181,20 @@ class SetRatioControlRequest:
|
|
|
3199
3181
|
is_valid, error_str = self.validate_enabled(self.enabled)
|
|
3200
3182
|
if not is_valid:
|
|
3201
3183
|
raise TypeError(error_str)
|
|
3202
|
-
is_valid, error_str = self.
|
|
3203
|
-
if not is_valid:
|
|
3204
|
-
raise TypeError(error_str)
|
|
3205
|
-
is_valid, error_str = self.validate_rotationValue(self.rotationValue)
|
|
3184
|
+
is_valid, error_str = self.validate_value(self.value)
|
|
3206
3185
|
if not is_valid:
|
|
3207
3186
|
raise TypeError(error_str)
|
|
3208
3187
|
|
|
3209
3188
|
def parse_set_ratio_control_request(data: object):
|
|
3210
3189
|
return SetRatioControlRequest(
|
|
3211
3190
|
enabled=parse_bool(data["enabled"]) if "enabled" in data and data.get("enabled") is not None else None,
|
|
3212
|
-
|
|
3213
|
-
rotationValue=parse_f_64(data["rotationValue"]) if "rotationValue" in data and data.get("rotationValue") is not None else None,
|
|
3191
|
+
value=parse_f_64(data["value"]) if "value" in data and data.get("value") is not None else None,
|
|
3214
3192
|
)
|
|
3215
3193
|
|
|
3216
3194
|
def serialize_set_ratio_control_request(data: SetRatioControlRequest) -> object:
|
|
3217
3195
|
return {
|
|
3218
3196
|
"enabled": None if data.enabled is None else serialize_bool(data.enabled),
|
|
3219
|
-
"
|
|
3220
|
-
"rotationValue": None if data.rotationValue is None else serialize_f_64(data.rotationValue),
|
|
3197
|
+
"value": None if data.value is None else serialize_f_64(data.value),
|
|
3221
3198
|
}
|
|
3222
3199
|
|
|
3223
3200
|
class SignalMessageType(Enum):
|
|
@@ -3379,14 +3356,6 @@ def parse_string_array(data: object) -> StringArray:
|
|
|
3379
3356
|
def serialize_string_array(data: StringArray) -> List[object]:
|
|
3380
3357
|
return [serialize_str(item) for item in data]
|
|
3381
3358
|
|
|
3382
|
-
TeleopErrorArray = List[str]
|
|
3383
|
-
|
|
3384
|
-
def parse_teleop_error_array(data: object) -> TeleopErrorArray:
|
|
3385
|
-
return [parse_str(item) for item in data]
|
|
3386
|
-
|
|
3387
|
-
def serialize_teleop_error_array(data: TeleopErrorArray) -> List[object]:
|
|
3388
|
-
return [serialize_str(item) for item in data]
|
|
3389
|
-
|
|
3390
3359
|
class TeleopStatus(Enum):
|
|
3391
3360
|
WaitForTeleop = "wait_for_teleop"
|
|
3392
3361
|
"""Enum WaitForTeleop = `wait_for_teleop`"""
|
|
@@ -4932,7 +4901,6 @@ class SpeedProfile:
|
|
|
4932
4901
|
max_joint_speeds: Union[MaxJointSpeeds, None] = None
|
|
4933
4902
|
max_joint_accelerations: Union[MaxJointAcclerations, None] = None
|
|
4934
4903
|
max_tooltip_speed: Union[float, None] = None
|
|
4935
|
-
max_joint_torques: Union[MaxJointTorques, None] = None
|
|
4936
4904
|
base_acceleration_scaling: Union[float, None] = None
|
|
4937
4905
|
base_velocity_scaling: Union[float, None] = None
|
|
4938
4906
|
scaling_factor: Union[float, None] = None
|
|
@@ -4964,15 +4932,6 @@ class SpeedProfile:
|
|
|
4964
4932
|
|
|
4965
4933
|
return [True, ""]
|
|
4966
4934
|
|
|
4967
|
-
def validate_max_joint_torques(self, value: MaxJointTorques) -> Tuple[bool, str]:
|
|
4968
|
-
if value is None:
|
|
4969
|
-
return [True, ""]
|
|
4970
|
-
|
|
4971
|
-
if not (isinstance(value, tuple) and len(value) == 6):
|
|
4972
|
-
return [False, "max_joint_torques must be of type MaxJointTorques for SpeedProfile, got " + type(value).__name__]
|
|
4973
|
-
|
|
4974
|
-
return [True, ""]
|
|
4975
|
-
|
|
4976
4935
|
def validate_base_acceleration_scaling(self, value: float) -> Tuple[bool, str]:
|
|
4977
4936
|
if value is None:
|
|
4978
4937
|
return [True, ""]
|
|
@@ -5009,9 +4968,6 @@ class SpeedProfile:
|
|
|
5009
4968
|
if not is_valid:
|
|
5010
4969
|
raise TypeError(error_str)
|
|
5011
4970
|
is_valid, error_str = self.validate_max_tooltip_speed(self.max_tooltip_speed)
|
|
5012
|
-
if not is_valid:
|
|
5013
|
-
raise TypeError(error_str)
|
|
5014
|
-
is_valid, error_str = self.validate_max_joint_torques(self.max_joint_torques)
|
|
5015
4971
|
if not is_valid:
|
|
5016
4972
|
raise TypeError(error_str)
|
|
5017
4973
|
is_valid, error_str = self.validate_base_acceleration_scaling(self.base_acceleration_scaling)
|
|
@@ -5029,7 +4985,6 @@ def parse_speed_profile(data: object):
|
|
|
5029
4985
|
max_joint_speeds=parse_max_joint_speeds(data["max_joint_speeds"]) if "max_joint_speeds" in data and data.get("max_joint_speeds") is not None else None,
|
|
5030
4986
|
max_joint_accelerations=parse_max_joint_acclerations(data["max_joint_accelerations"]) if "max_joint_accelerations" in data and data.get("max_joint_accelerations") is not None else None,
|
|
5031
4987
|
max_tooltip_speed=parse_f_64(data["max_tooltip_speed"]) if "max_tooltip_speed" in data and data.get("max_tooltip_speed") is not None else None,
|
|
5032
|
-
max_joint_torques=parse_max_joint_torques(data["max_joint_torques"]) if "max_joint_torques" in data and data.get("max_joint_torques") is not None else None,
|
|
5033
4988
|
base_acceleration_scaling=parse_f_64(data["base_acceleration_scaling"]) if "base_acceleration_scaling" in data and data.get("base_acceleration_scaling") is not None else None,
|
|
5034
4989
|
base_velocity_scaling=parse_f_64(data["base_velocity_scaling"]) if "base_velocity_scaling" in data and data.get("base_velocity_scaling") is not None else None,
|
|
5035
4990
|
scaling_factor=parse_f_64(data["scaling_factor"]) if "scaling_factor" in data and data.get("scaling_factor") is not None else None,
|
|
@@ -5040,7 +4995,6 @@ def serialize_speed_profile(data: SpeedProfile) -> object:
|
|
|
5040
4995
|
"max_joint_speeds": None if data.max_joint_speeds is None else serialize_max_joint_speeds(data.max_joint_speeds),
|
|
5041
4996
|
"max_joint_accelerations": None if data.max_joint_accelerations is None else serialize_max_joint_acclerations(data.max_joint_accelerations),
|
|
5042
4997
|
"max_tooltip_speed": None if data.max_tooltip_speed is None else serialize_f_64(data.max_tooltip_speed),
|
|
5043
|
-
"max_joint_torques": None if data.max_joint_torques is None else serialize_max_joint_torques(data.max_joint_torques),
|
|
5044
4998
|
"base_acceleration_scaling": None if data.base_acceleration_scaling is None else serialize_f_64(data.base_acceleration_scaling),
|
|
5045
4999
|
"base_velocity_scaling": None if data.base_velocity_scaling is None else serialize_f_64(data.base_velocity_scaling),
|
|
5046
5000
|
"scaling_factor": None if data.scaling_factor is None else serialize_f_64(data.scaling_factor),
|
|
@@ -6603,7 +6557,6 @@ class BotTeleopDetails:
|
|
|
6603
6557
|
isSecondary: Union[bool, None] = None
|
|
6604
6558
|
isEnabled: Union[bool, None] = None
|
|
6605
6559
|
status: Union[TeleopStatus, None] = None
|
|
6606
|
-
errors: Union[TeleopErrorArray, None] = None
|
|
6607
6560
|
|
|
6608
6561
|
def validate_botId(self, value: str) -> Tuple[bool, str]:
|
|
6609
6562
|
if value is None:
|
|
@@ -6668,15 +6621,6 @@ class BotTeleopDetails:
|
|
|
6668
6621
|
|
|
6669
6622
|
return [True, ""]
|
|
6670
6623
|
|
|
6671
|
-
def validate_errors(self, value: TeleopErrorArray) -> Tuple[bool, str]:
|
|
6672
|
-
if value is None:
|
|
6673
|
-
return [True, ""]
|
|
6674
|
-
|
|
6675
|
-
if not (isinstance(value, list) and all(isinstance(x, str) for x in value)):
|
|
6676
|
-
return [False, "errors must be of type TeleopErrorArray for BotTeleopDetails, got " + type(value).__name__]
|
|
6677
|
-
|
|
6678
|
-
return [True, ""]
|
|
6679
|
-
|
|
6680
6624
|
def __post_init__(self):
|
|
6681
6625
|
# Type check incoming model - raise error if invalid (required or wrong type)
|
|
6682
6626
|
is_valid, error_str = self.validate_botId(self.botId)
|
|
@@ -6700,9 +6644,6 @@ class BotTeleopDetails:
|
|
|
6700
6644
|
is_valid, error_str = self.validate_status(self.status)
|
|
6701
6645
|
if not is_valid:
|
|
6702
6646
|
raise TypeError(error_str)
|
|
6703
|
-
is_valid, error_str = self.validate_errors(self.errors)
|
|
6704
|
-
if not is_valid:
|
|
6705
|
-
raise TypeError(error_str)
|
|
6706
6647
|
|
|
6707
6648
|
def parse_bot_teleop_details(data: object):
|
|
6708
6649
|
return BotTeleopDetails(
|
|
@@ -6713,7 +6654,6 @@ def parse_bot_teleop_details(data: object):
|
|
|
6713
6654
|
isSecondary=parse_bool(data["isSecondary"]) if "isSecondary" in data and data.get("isSecondary") is not None else None,
|
|
6714
6655
|
isEnabled=parse_bool(data["isEnabled"]) if "isEnabled" in data and data.get("isEnabled") is not None else None,
|
|
6715
6656
|
status=parse_teleop_status(data["status"]) if "status" in data and data.get("status") is not None else None,
|
|
6716
|
-
errors=parse_teleop_error_array(data["errors"]) if "errors" in data and data.get("errors") is not None else None,
|
|
6717
6657
|
)
|
|
6718
6658
|
|
|
6719
6659
|
def serialize_bot_teleop_details(data: BotTeleopDetails) -> object:
|
|
@@ -6725,7 +6665,6 @@ def serialize_bot_teleop_details(data: BotTeleopDetails) -> object:
|
|
|
6725
6665
|
"isSecondary": None if data.isSecondary is None else serialize_bool(data.isSecondary),
|
|
6726
6666
|
"isEnabled": None if data.isEnabled is None else serialize_bool(data.isEnabled),
|
|
6727
6667
|
"status": None if data.status is None else serialize_teleop_status(data.status),
|
|
6728
|
-
"errors": None if data.errors is None else serialize_teleop_error_array(data.errors),
|
|
6729
6668
|
}
|
|
6730
6669
|
|
|
6731
6670
|
@dataclass
|
|
@@ -8244,7 +8183,6 @@ def serialize_get_messages_response(data: GetMessagesResponse) -> object:
|
|
|
8244
8183
|
class RecorderConfig:
|
|
8245
8184
|
"""Config of the recorder"""
|
|
8246
8185
|
isSecondary: Union[bool, None] = None
|
|
8247
|
-
isInference: Union[bool, None] = None
|
|
8248
8186
|
userId: Union[str, None] = None
|
|
8249
8187
|
taskId: Union[str, None] = None
|
|
8250
8188
|
bots: Union[RecorderBotDetailsList, None] = None
|
|
@@ -8261,15 +8199,6 @@ class RecorderConfig:
|
|
|
8261
8199
|
|
|
8262
8200
|
return [True, ""]
|
|
8263
8201
|
|
|
8264
|
-
def validate_isInference(self, value: bool) -> Tuple[bool, str]:
|
|
8265
|
-
if value is None:
|
|
8266
|
-
return [True, ""]
|
|
8267
|
-
|
|
8268
|
-
if not isinstance(value, bool):
|
|
8269
|
-
return [False, "isInference must be of type bool for RecorderConfig, got " + type(value).__name__]
|
|
8270
|
-
|
|
8271
|
-
return [True, ""]
|
|
8272
|
-
|
|
8273
8202
|
def validate_userId(self, value: str) -> Tuple[bool, str]:
|
|
8274
8203
|
if value is None:
|
|
8275
8204
|
return [True, ""]
|
|
@@ -8327,9 +8256,6 @@ class RecorderConfig:
|
|
|
8327
8256
|
def __post_init__(self):
|
|
8328
8257
|
# Type check incoming model - raise error if invalid (required or wrong type)
|
|
8329
8258
|
is_valid, error_str = self.validate_isSecondary(self.isSecondary)
|
|
8330
|
-
if not is_valid:
|
|
8331
|
-
raise TypeError(error_str)
|
|
8332
|
-
is_valid, error_str = self.validate_isInference(self.isInference)
|
|
8333
8259
|
if not is_valid:
|
|
8334
8260
|
raise TypeError(error_str)
|
|
8335
8261
|
is_valid, error_str = self.validate_userId(self.userId)
|
|
@@ -8354,7 +8280,6 @@ class RecorderConfig:
|
|
|
8354
8280
|
def parse_recorder_config(data: object):
|
|
8355
8281
|
return RecorderConfig(
|
|
8356
8282
|
isSecondary=parse_bool(data["isSecondary"]) if "isSecondary" in data and data.get("isSecondary") is not None else None,
|
|
8357
|
-
isInference=parse_bool(data["isInference"]) if "isInference" in data and data.get("isInference") is not None else None,
|
|
8358
8283
|
userId=parse_str(data["userId"]) if "userId" in data and data.get("userId") is not None else None,
|
|
8359
8284
|
taskId=parse_str(data["taskId"]) if "taskId" in data and data.get("taskId") is not None else None,
|
|
8360
8285
|
bots=parse_recorder_bot_details_list(data["bots"]) if "bots" in data and data.get("bots") is not None else None,
|
|
@@ -8366,7 +8291,6 @@ def parse_recorder_config(data: object):
|
|
|
8366
8291
|
def serialize_recorder_config(data: RecorderConfig) -> object:
|
|
8367
8292
|
return {
|
|
8368
8293
|
"isSecondary": None if data.isSecondary is None else serialize_bool(data.isSecondary),
|
|
8369
|
-
"isInference": None if data.isInference is None else serialize_bool(data.isInference),
|
|
8370
8294
|
"userId": None if data.userId is None else serialize_str(data.userId),
|
|
8371
8295
|
"taskId": None if data.taskId is None else serialize_str(data.taskId),
|
|
8372
8296
|
"bots": None if data.bots is None else serialize_recorder_bot_details_list(data.bots),
|
|
@@ -8914,7 +8838,6 @@ class TeleopState:
|
|
|
8914
8838
|
config: Union[TeleopConfig, None] = None
|
|
8915
8839
|
status: Union[TeleopStatus, None] = None
|
|
8916
8840
|
botsInSync: Union[bool, None] = None
|
|
8917
|
-
errors: Union[TeleopErrorArray, None] = None
|
|
8918
8841
|
|
|
8919
8842
|
def validate_config(self, value: TeleopConfig) -> Tuple[bool, str]:
|
|
8920
8843
|
if value is None:
|
|
@@ -8943,15 +8866,6 @@ class TeleopState:
|
|
|
8943
8866
|
|
|
8944
8867
|
return [True, ""]
|
|
8945
8868
|
|
|
8946
|
-
def validate_errors(self, value: TeleopErrorArray) -> Tuple[bool, str]:
|
|
8947
|
-
if value is None:
|
|
8948
|
-
return [True, ""]
|
|
8949
|
-
|
|
8950
|
-
if not (isinstance(value, list) and all(isinstance(x, str) for x in value)):
|
|
8951
|
-
return [False, "errors must be of type TeleopErrorArray for TeleopState, got " + type(value).__name__]
|
|
8952
|
-
|
|
8953
|
-
return [True, ""]
|
|
8954
|
-
|
|
8955
8869
|
def __post_init__(self):
|
|
8956
8870
|
# Type check incoming model - raise error if invalid (required or wrong type)
|
|
8957
8871
|
is_valid, error_str = self.validate_config(self.config)
|
|
@@ -8963,16 +8877,12 @@ class TeleopState:
|
|
|
8963
8877
|
is_valid, error_str = self.validate_botsInSync(self.botsInSync)
|
|
8964
8878
|
if not is_valid:
|
|
8965
8879
|
raise TypeError(error_str)
|
|
8966
|
-
is_valid, error_str = self.validate_errors(self.errors)
|
|
8967
|
-
if not is_valid:
|
|
8968
|
-
raise TypeError(error_str)
|
|
8969
8880
|
|
|
8970
8881
|
def parse_teleop_state(data: object):
|
|
8971
8882
|
return TeleopState(
|
|
8972
8883
|
config=parse_teleop_config(data["config"]) if "config" in data and data.get("config") is not None else None,
|
|
8973
8884
|
status=parse_teleop_status(data["status"]) if "status" in data and data.get("status") is not None else None,
|
|
8974
8885
|
botsInSync=parse_bool(data["botsInSync"]) if "botsInSync" in data and data.get("botsInSync") is not None else None,
|
|
8975
|
-
errors=parse_teleop_error_array(data["errors"]) if "errors" in data and data.get("errors") is not None else None,
|
|
8976
8886
|
)
|
|
8977
8887
|
|
|
8978
8888
|
def serialize_teleop_state(data: TeleopState) -> object:
|
|
@@ -8980,7 +8890,6 @@ def serialize_teleop_state(data: TeleopState) -> object:
|
|
|
8980
8890
|
"config": None if data.config is None else serialize_teleop_config(data.config),
|
|
8981
8891
|
"status": None if data.status is None else serialize_teleop_status(data.status),
|
|
8982
8892
|
"botsInSync": None if data.botsInSync is None else serialize_bool(data.botsInSync),
|
|
8983
|
-
"errors": None if data.errors is None else serialize_teleop_error_array(data.errors),
|
|
8984
8893
|
}
|
|
8985
8894
|
|
|
8986
8895
|
@dataclass
|
|
@@ -1231,7 +1231,7 @@ class TestPostMovementPositionArm:
|
|
|
1231
1231
|
|
|
1232
1232
|
target_position_res = client.movement.position.get_arm_position()
|
|
1233
1233
|
target_joint_pose_rounded = tuple(
|
|
1234
|
-
round(val,
|
|
1234
|
+
round(val, 3) for val in target_position_res.data.joint_rotations
|
|
1235
1235
|
)
|
|
1236
1236
|
|
|
1237
1237
|
# check if robot successfully moved to target pose
|
|
@@ -1246,7 +1246,7 @@ class TestPostMovementPositionArm:
|
|
|
1246
1246
|
initial_position_res = client.movement.position.get_arm_position()
|
|
1247
1247
|
|
|
1248
1248
|
initial_joint_pose_rounded = tuple(
|
|
1249
|
-
round(val,
|
|
1249
|
+
round(val, 3) for val in initial_position_res.data.joint_rotations
|
|
1250
1250
|
)
|
|
1251
1251
|
# check if pose correctly moved to initial pose
|
|
1252
1252
|
assert initial_joint_pose_rounded == initial_position
|
|
@@ -1266,7 +1266,7 @@ class TestPostMovementPositionArm:
|
|
|
1266
1266
|
initial_position = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
|
|
1267
1267
|
pose_res = client.movement.position.get_arm_position()
|
|
1268
1268
|
initial_joint_pose_rounded = tuple(
|
|
1269
|
-
round(val,
|
|
1269
|
+
round(val, 3) for val in pose_res.data.joint_rotations
|
|
1270
1270
|
)
|
|
1271
1271
|
|
|
1272
1272
|
# if robot is not in initial position, move it to initial position
|
|
@@ -1298,7 +1298,7 @@ class TestPostMovementPositionArm:
|
|
|
1298
1298
|
|
|
1299
1299
|
pose_res = client.movement.position.get_arm_position()
|
|
1300
1300
|
joint_pose_rounded = tuple(
|
|
1301
|
-
round(val,
|
|
1301
|
+
round(val, 3) for val in pose_res.data.joint_rotations
|
|
1302
1302
|
)
|
|
1303
1303
|
|
|
1304
1304
|
# check if robot successfully moved into initial pose
|
|
@@ -1346,9 +1346,9 @@ class TestPostMovementPositionArm:
|
|
|
1346
1346
|
pose_res = client.movement.position.get_arm_position()
|
|
1347
1347
|
target_tooltip = pose_res.data.tooltip_position.position
|
|
1348
1348
|
|
|
1349
|
-
assert approx_equal(target_tooltip.x, target_tooltip_position.x
|
|
1350
|
-
assert approx_equal(target_tooltip.y, target_tooltip_position.y
|
|
1351
|
-
assert approx_equal(target_tooltip.z, target_tooltip_position.z
|
|
1349
|
+
assert approx_equal(target_tooltip.x, target_tooltip_position.x)
|
|
1350
|
+
assert approx_equal(target_tooltip.y, target_tooltip_position.y)
|
|
1351
|
+
assert approx_equal(target_tooltip.z, target_tooltip_position.z)
|
|
1352
1352
|
|
|
1353
1353
|
pose_body = models.ArmPositionUpdateRequest(
|
|
1354
1354
|
kind=models.ArmPositionUpdateRequestKindEnum.TooltipPosition,
|
|
@@ -1369,9 +1369,9 @@ class TestPostMovementPositionArm:
|
|
|
1369
1369
|
pose_res = client.movement.position.get_arm_position()
|
|
1370
1370
|
tooltip_position = pose_res.data.tooltip_position.position
|
|
1371
1371
|
|
|
1372
|
-
assert approx_equal(tooltip_position.x, initial_tooltip_position.x
|
|
1373
|
-
assert approx_equal(tooltip_position.y, initial_tooltip_position.y
|
|
1374
|
-
assert approx_equal(tooltip_position.z, initial_tooltip_position.z
|
|
1372
|
+
assert approx_equal(tooltip_position.x, initial_tooltip_position.x)
|
|
1373
|
+
assert approx_equal(tooltip_position.y, initial_tooltip_position.y)
|
|
1374
|
+
assert approx_equal(tooltip_position.z, initial_tooltip_position.z)
|
|
1375
1375
|
|
|
1376
1376
|
def test_tooltip_positions_to_target_and_back(
|
|
1377
1377
|
self, client_live: StandardBotsRobot
|
|
@@ -3317,13 +3317,12 @@ class TestPostMovementPositionArmControlled:
|
|
|
3317
3317
|
assert not approx_equal(joint, target_position[i], 2), (
|
|
3318
3318
|
f"Joint {i} is approximately equal to target position (should not reach goal) (actual={joint}, expected={target_position[i]})"
|
|
3319
3319
|
)
|
|
3320
|
-
time.sleep(2)
|
|
3321
3320
|
|
|
3322
3321
|
# Now retrieve the failure
|
|
3323
3322
|
assert heartbeat_data.event is not None
|
|
3324
3323
|
assert heartbeat_data.event.kind == models.ArmPositionUpdateKindEnum.Failure
|
|
3325
3324
|
assert heartbeat_data.event.failure is not None
|
|
3326
|
-
assert heartbeat_data.event.failure.reason == "
|
|
3325
|
+
assert heartbeat_data.event.failure.reason == "Error while running motion"
|
|
3327
3326
|
|
|
3328
3327
|
def test_move_then_stop_heartbeat(
|
|
3329
3328
|
self,
|
|
File without changes
|
|
File without changes
|
{standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/standardbots/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/__init__.py
RENAMED
|
File without changes
|
{standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/client_fixt.py
RENAMED
|
File without changes
|
{standardbots-2.0.0.dev1758730305 → standardbots-2.0.0.dev1760378411}/tests/fixtures/robot_fixt.py
RENAMED
|
File without changes
|
|
File without changes
|