wandelbots-api-client 26.2.0.dev61__py3-none-any.whl → 26.2.0.dev63__py3-none-any.whl
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.
- wandelbots_api_client/__init__.py +1 -1
- wandelbots_api_client/api_client.py +1 -1
- wandelbots_api_client/configuration.py +1 -1
- wandelbots_api_client/v2/__init__.py +1 -1
- wandelbots_api_client/v2/api/robot_configurations_api.py +278 -0
- wandelbots_api_client/v2/api/trajectory_planning_api.py +296 -0
- wandelbots_api_client/v2/api/virtual_controller_api.py +3 -3
- wandelbots_api_client/v2/api_client.py +1 -1
- wandelbots_api_client/v2/configuration.py +1 -1
- wandelbots_api_client/v2/models/__init__.py +18 -0
- wandelbots_api_client/v2/models/merge_trajectories422_response.py +108 -0
- wandelbots_api_client/v2/models/merge_trajectories_error.py +97 -0
- wandelbots_api_client/v2/models/merge_trajectories_request.py +114 -0
- wandelbots_api_client/v2/models/merge_trajectories_response.py +114 -0
- wandelbots_api_client/v2/models/merge_trajectories_response_feedback_inner.py +137 -0
- wandelbots_api_client/v2/models/merge_trajectories_segment.py +123 -0
- wandelbots_api_client/v2/models/merge_trajectories_validation_error.py +120 -0
- wandelbots_api_client/v2/models/motion_group_from_json.py +3 -3
- wandelbots_api_client/v2/models/robot_controller_configuration_request.py +110 -0
- wandelbots_api_client/v2/models/trajectory_section.py +93 -0
- wandelbots_api_client/v2_pydantic/__init__.py +1 -1
- wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +281 -0
- wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +299 -0
- wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +3 -3
- wandelbots_api_client/v2_pydantic/api_client.py +1 -1
- wandelbots_api_client/v2_pydantic/configuration.py +1 -1
- wandelbots_api_client/v2_pydantic/models.py +101 -2
- {wandelbots_api_client-26.2.0.dev61.dist-info → wandelbots_api_client-26.2.0.dev63.dist-info}/METADATA +2 -2
- {wandelbots_api_client-26.2.0.dev61.dist-info → wandelbots_api_client-26.2.0.dev63.dist-info}/RECORD +32 -23
- {wandelbots_api_client-26.2.0.dev61.dist-info → wandelbots_api_client-26.2.0.dev63.dist-info}/WHEEL +0 -0
- {wandelbots_api_client-26.2.0.dev61.dist-info → wandelbots_api_client-26.2.0.dev63.dist-info}/licenses/LICENSE +0 -0
- {wandelbots_api_client-26.2.0.dev61.dist-info → wandelbots_api_client-26.2.0.dev63.dist-info}/top_level.txt +0 -0
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.2.0.dev63'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -511,7 +511,7 @@ class Configuration:
|
|
|
511
511
|
"OS: {env}\n"\
|
|
512
512
|
"Python Version: {pyversion}\n"\
|
|
513
513
|
"Version of the API: 1.3.0 dev\n"\
|
|
514
|
-
"SDK Package Version: 26.2.0.
|
|
514
|
+
"SDK Package Version: 26.2.0.dev63".\
|
|
515
515
|
format(env=sys.platform, pyversion=sys.version)
|
|
516
516
|
|
|
517
517
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -24,6 +24,8 @@ from urllib.parse import quote
|
|
|
24
24
|
|
|
25
25
|
from pydantic import StrictStr
|
|
26
26
|
from typing import List
|
|
27
|
+
from wandelbots_api_client.v2.models.robot_controller import RobotController
|
|
28
|
+
from wandelbots_api_client.v2.models.robot_controller_configuration_request import RobotControllerConfigurationRequest
|
|
27
29
|
|
|
28
30
|
from wandelbots_api_client.v2.api_client import ApiClient, RequestSerialized
|
|
29
31
|
from wandelbots_api_client.v2.api_response import ApiResponse
|
|
@@ -41,6 +43,282 @@ class RobotConfigurationsApi:
|
|
|
41
43
|
api_client = ApiClient.get_default()
|
|
42
44
|
self.api_client = api_client
|
|
43
45
|
|
|
46
|
+
@validate_call
|
|
47
|
+
async def get_controller_config_from_arp_scan(
|
|
48
|
+
self,
|
|
49
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
50
|
+
_request_timeout: Union[
|
|
51
|
+
None,
|
|
52
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
53
|
+
Tuple[
|
|
54
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
55
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
56
|
+
]
|
|
57
|
+
] = None,
|
|
58
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
59
|
+
_content_type: Optional[StrictStr] = None,
|
|
60
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
61
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
62
|
+
) -> List[RobotController]:
|
|
63
|
+
"""Robot Controller Configurations
|
|
64
|
+
|
|
65
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
66
|
+
|
|
67
|
+
:param robot_controller_configuration_request: (required)
|
|
68
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
69
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
70
|
+
number provided, it will be total request
|
|
71
|
+
timeout. It can also be a pair (tuple) of
|
|
72
|
+
(connection, read) timeouts.
|
|
73
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
74
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
75
|
+
request; this effectively ignores the
|
|
76
|
+
authentication in the spec for a single request.
|
|
77
|
+
:type _request_auth: dict, optional
|
|
78
|
+
:param _content_type: force content-type for the request.
|
|
79
|
+
:type _content_type: str, Optional
|
|
80
|
+
:param _headers: set to override the headers for a single
|
|
81
|
+
request; this effectively ignores the headers
|
|
82
|
+
in the spec for a single request.
|
|
83
|
+
:type _headers: dict, optional
|
|
84
|
+
:param _host_index: set to override the host_index for a single
|
|
85
|
+
request; this effectively ignores the host_index
|
|
86
|
+
in the spec for a single request.
|
|
87
|
+
:type _host_index: int, optional
|
|
88
|
+
:return: Returns the result object.
|
|
89
|
+
""" # noqa: E501
|
|
90
|
+
|
|
91
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
92
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
93
|
+
_request_auth=_request_auth,
|
|
94
|
+
_content_type=_content_type,
|
|
95
|
+
_headers=_headers,
|
|
96
|
+
_host_index=_host_index
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
100
|
+
'200': "List[RobotController]",
|
|
101
|
+
'404': None,
|
|
102
|
+
'500': None,
|
|
103
|
+
}
|
|
104
|
+
response_data = await self.api_client.call_api(
|
|
105
|
+
*_param,
|
|
106
|
+
_request_timeout=_request_timeout
|
|
107
|
+
)
|
|
108
|
+
await response_data.read()
|
|
109
|
+
return self.api_client.response_deserialize(
|
|
110
|
+
response_data=response_data,
|
|
111
|
+
response_types_map=_response_types_map,
|
|
112
|
+
).data
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
@validate_call
|
|
116
|
+
async def get_controller_config_from_arp_scan_with_http_info(
|
|
117
|
+
self,
|
|
118
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
119
|
+
_request_timeout: Union[
|
|
120
|
+
None,
|
|
121
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
122
|
+
Tuple[
|
|
123
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
124
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
125
|
+
]
|
|
126
|
+
] = None,
|
|
127
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
128
|
+
_content_type: Optional[StrictStr] = None,
|
|
129
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
130
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
131
|
+
) -> ApiResponse[List[RobotController]]:
|
|
132
|
+
"""Robot Controller Configurations
|
|
133
|
+
|
|
134
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
135
|
+
|
|
136
|
+
:param robot_controller_configuration_request: (required)
|
|
137
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
138
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
139
|
+
number provided, it will be total request
|
|
140
|
+
timeout. It can also be a pair (tuple) of
|
|
141
|
+
(connection, read) timeouts.
|
|
142
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
143
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
144
|
+
request; this effectively ignores the
|
|
145
|
+
authentication in the spec for a single request.
|
|
146
|
+
:type _request_auth: dict, optional
|
|
147
|
+
:param _content_type: force content-type for the request.
|
|
148
|
+
:type _content_type: str, Optional
|
|
149
|
+
:param _headers: set to override the headers for a single
|
|
150
|
+
request; this effectively ignores the headers
|
|
151
|
+
in the spec for a single request.
|
|
152
|
+
:type _headers: dict, optional
|
|
153
|
+
:param _host_index: set to override the host_index for a single
|
|
154
|
+
request; this effectively ignores the host_index
|
|
155
|
+
in the spec for a single request.
|
|
156
|
+
:type _host_index: int, optional
|
|
157
|
+
:return: Returns the result object.
|
|
158
|
+
""" # noqa: E501
|
|
159
|
+
|
|
160
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
161
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
162
|
+
_request_auth=_request_auth,
|
|
163
|
+
_content_type=_content_type,
|
|
164
|
+
_headers=_headers,
|
|
165
|
+
_host_index=_host_index
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
169
|
+
'200': "List[RobotController]",
|
|
170
|
+
'404': None,
|
|
171
|
+
'500': None,
|
|
172
|
+
}
|
|
173
|
+
response_data = await self.api_client.call_api(
|
|
174
|
+
*_param,
|
|
175
|
+
_request_timeout=_request_timeout
|
|
176
|
+
)
|
|
177
|
+
await response_data.read()
|
|
178
|
+
return self.api_client.response_deserialize(
|
|
179
|
+
response_data=response_data,
|
|
180
|
+
response_types_map=_response_types_map,
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
@validate_call
|
|
185
|
+
async def get_controller_config_from_arp_scan_without_preload_content(
|
|
186
|
+
self,
|
|
187
|
+
robot_controller_configuration_request: RobotControllerConfigurationRequest,
|
|
188
|
+
_request_timeout: Union[
|
|
189
|
+
None,
|
|
190
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
191
|
+
Tuple[
|
|
192
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
193
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
194
|
+
]
|
|
195
|
+
] = None,
|
|
196
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
197
|
+
_content_type: Optional[StrictStr] = None,
|
|
198
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
199
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
200
|
+
) -> RESTResponseType:
|
|
201
|
+
"""Robot Controller Configurations
|
|
202
|
+
|
|
203
|
+
Returns all robot controller configurations that match the provided [ARP scan result](#/operations/getArpScan).
|
|
204
|
+
|
|
205
|
+
:param robot_controller_configuration_request: (required)
|
|
206
|
+
:type robot_controller_configuration_request: RobotControllerConfigurationRequest
|
|
207
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
208
|
+
number provided, it will be total request
|
|
209
|
+
timeout. It can also be a pair (tuple) of
|
|
210
|
+
(connection, read) timeouts.
|
|
211
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
212
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
213
|
+
request; this effectively ignores the
|
|
214
|
+
authentication in the spec for a single request.
|
|
215
|
+
:type _request_auth: dict, optional
|
|
216
|
+
:param _content_type: force content-type for the request.
|
|
217
|
+
:type _content_type: str, Optional
|
|
218
|
+
:param _headers: set to override the headers for a single
|
|
219
|
+
request; this effectively ignores the headers
|
|
220
|
+
in the spec for a single request.
|
|
221
|
+
:type _headers: dict, optional
|
|
222
|
+
:param _host_index: set to override the host_index for a single
|
|
223
|
+
request; this effectively ignores the host_index
|
|
224
|
+
in the spec for a single request.
|
|
225
|
+
:type _host_index: int, optional
|
|
226
|
+
:return: Returns the result object.
|
|
227
|
+
""" # noqa: E501
|
|
228
|
+
|
|
229
|
+
_param = self._get_controller_config_from_arp_scan_serialize(
|
|
230
|
+
robot_controller_configuration_request=robot_controller_configuration_request,
|
|
231
|
+
_request_auth=_request_auth,
|
|
232
|
+
_content_type=_content_type,
|
|
233
|
+
_headers=_headers,
|
|
234
|
+
_host_index=_host_index
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
238
|
+
'200': "List[RobotController]",
|
|
239
|
+
'404': None,
|
|
240
|
+
'500': None,
|
|
241
|
+
}
|
|
242
|
+
response_data = await self.api_client.call_api(
|
|
243
|
+
*_param,
|
|
244
|
+
_request_timeout=_request_timeout
|
|
245
|
+
)
|
|
246
|
+
return response_data.response
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
def _get_controller_config_from_arp_scan_serialize(
|
|
250
|
+
self,
|
|
251
|
+
robot_controller_configuration_request,
|
|
252
|
+
_request_auth,
|
|
253
|
+
_content_type,
|
|
254
|
+
_headers,
|
|
255
|
+
_host_index,
|
|
256
|
+
) -> RequestSerialized:
|
|
257
|
+
|
|
258
|
+
_host = None
|
|
259
|
+
|
|
260
|
+
_collection_formats: Dict[str, str] = {
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
_path_params: Dict[str, str] = {}
|
|
264
|
+
_query_params: List[Tuple[str, str]] = []
|
|
265
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
266
|
+
_form_params: List[Tuple[str, str]] = []
|
|
267
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
268
|
+
_body_params: Optional[bytes] = None
|
|
269
|
+
|
|
270
|
+
# process the path parameters
|
|
271
|
+
# process the query parameters
|
|
272
|
+
# process the header parameters
|
|
273
|
+
# process the form parameters
|
|
274
|
+
# process the body parameter
|
|
275
|
+
if robot_controller_configuration_request is not None:
|
|
276
|
+
_body_params = robot_controller_configuration_request
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
# set the HTTP header `Accept`
|
|
280
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
281
|
+
[
|
|
282
|
+
'application/json'
|
|
283
|
+
]
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
# set the HTTP header `Content-Type`
|
|
287
|
+
if _content_type:
|
|
288
|
+
_header_params['Content-Type'] = _content_type
|
|
289
|
+
else:
|
|
290
|
+
_default_content_type = (
|
|
291
|
+
self.api_client.select_header_content_type(
|
|
292
|
+
[
|
|
293
|
+
'application/json'
|
|
294
|
+
]
|
|
295
|
+
)
|
|
296
|
+
)
|
|
297
|
+
if _default_content_type is not None:
|
|
298
|
+
_header_params['Content-Type'] = _default_content_type
|
|
299
|
+
|
|
300
|
+
# authentication setting
|
|
301
|
+
_auth_settings: List[str] = [
|
|
302
|
+
'BearerAuth'
|
|
303
|
+
]
|
|
304
|
+
|
|
305
|
+
return self.api_client.param_serialize(
|
|
306
|
+
method='POST',
|
|
307
|
+
resource_path='/v2/experimental/system/network/controllers',
|
|
308
|
+
path_params=_path_params,
|
|
309
|
+
query_params=_query_params,
|
|
310
|
+
header_params=_header_params,
|
|
311
|
+
body=_body_params,
|
|
312
|
+
post_params=_form_params,
|
|
313
|
+
files=_files,
|
|
314
|
+
auth_settings=_auth_settings,
|
|
315
|
+
collection_formats=_collection_formats,
|
|
316
|
+
_host=_host,
|
|
317
|
+
_request_auth=_request_auth
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
44
322
|
@validate_call
|
|
45
323
|
async def get_robot_configurations(
|
|
46
324
|
self,
|
|
@@ -24,6 +24,8 @@ from urllib.parse import quote
|
|
|
24
24
|
|
|
25
25
|
from pydantic import Field, StrictStr
|
|
26
26
|
from typing_extensions import Annotated
|
|
27
|
+
from wandelbots_api_client.v2.models.merge_trajectories_request import MergeTrajectoriesRequest
|
|
28
|
+
from wandelbots_api_client.v2.models.merge_trajectories_response import MergeTrajectoriesResponse
|
|
27
29
|
from wandelbots_api_client.v2.models.plan_collision_free_request import PlanCollisionFreeRequest
|
|
28
30
|
from wandelbots_api_client.v2.models.plan_collision_free_response import PlanCollisionFreeResponse
|
|
29
31
|
from wandelbots_api_client.v2.models.plan_trajectory_request import PlanTrajectoryRequest
|
|
@@ -45,6 +47,300 @@ class TrajectoryPlanningApi:
|
|
|
45
47
|
api_client = ApiClient.get_default()
|
|
46
48
|
self.api_client = api_client
|
|
47
49
|
|
|
50
|
+
@validate_call
|
|
51
|
+
async def merge_trajectories(
|
|
52
|
+
self,
|
|
53
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
54
|
+
merge_trajectories_request: MergeTrajectoriesRequest,
|
|
55
|
+
_request_timeout: Union[
|
|
56
|
+
None,
|
|
57
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
58
|
+
Tuple[
|
|
59
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
60
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
61
|
+
]
|
|
62
|
+
] = None,
|
|
63
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
64
|
+
_content_type: Optional[StrictStr] = None,
|
|
65
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
66
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
67
|
+
) -> MergeTrajectoriesResponse:
|
|
68
|
+
"""Merge Trajectories
|
|
69
|
+
|
|
70
|
+
<!-- theme: danger --> > **Experimental** Merges a list of joint trajectories into a single trajectory with collision-aware blending. This endpoint merges a list of separate trajectories by connecting them via blending. The blending is performed with collision checking to ensure the merged trajectory is safe to execute. Timescaling will be applied to the blended area to ensure all limits are respected.
|
|
71
|
+
|
|
72
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
73
|
+
:type cell: str
|
|
74
|
+
:param merge_trajectories_request: (required)
|
|
75
|
+
:type merge_trajectories_request: MergeTrajectoriesRequest
|
|
76
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
77
|
+
number provided, it will be total request
|
|
78
|
+
timeout. It can also be a pair (tuple) of
|
|
79
|
+
(connection, read) timeouts.
|
|
80
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
81
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
82
|
+
request; this effectively ignores the
|
|
83
|
+
authentication in the spec for a single request.
|
|
84
|
+
:type _request_auth: dict, optional
|
|
85
|
+
:param _content_type: force content-type for the request.
|
|
86
|
+
:type _content_type: str, Optional
|
|
87
|
+
:param _headers: set to override the headers for a single
|
|
88
|
+
request; this effectively ignores the headers
|
|
89
|
+
in the spec for a single request.
|
|
90
|
+
:type _headers: dict, optional
|
|
91
|
+
:param _host_index: set to override the host_index for a single
|
|
92
|
+
request; this effectively ignores the host_index
|
|
93
|
+
in the spec for a single request.
|
|
94
|
+
:type _host_index: int, optional
|
|
95
|
+
:return: Returns the result object.
|
|
96
|
+
""" # noqa: E501
|
|
97
|
+
|
|
98
|
+
_param = self._merge_trajectories_serialize(
|
|
99
|
+
cell=cell,
|
|
100
|
+
merge_trajectories_request=merge_trajectories_request,
|
|
101
|
+
_request_auth=_request_auth,
|
|
102
|
+
_content_type=_content_type,
|
|
103
|
+
_headers=_headers,
|
|
104
|
+
_host_index=_host_index
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
108
|
+
'200': "MergeTrajectoriesResponse",
|
|
109
|
+
'404': None,
|
|
110
|
+
'422': "MergeTrajectories422Response",
|
|
111
|
+
'500': None,
|
|
112
|
+
}
|
|
113
|
+
response_data = await self.api_client.call_api(
|
|
114
|
+
*_param,
|
|
115
|
+
_request_timeout=_request_timeout
|
|
116
|
+
)
|
|
117
|
+
await response_data.read()
|
|
118
|
+
return self.api_client.response_deserialize(
|
|
119
|
+
response_data=response_data,
|
|
120
|
+
response_types_map=_response_types_map,
|
|
121
|
+
).data
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
@validate_call
|
|
125
|
+
async def merge_trajectories_with_http_info(
|
|
126
|
+
self,
|
|
127
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
128
|
+
merge_trajectories_request: MergeTrajectoriesRequest,
|
|
129
|
+
_request_timeout: Union[
|
|
130
|
+
None,
|
|
131
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
132
|
+
Tuple[
|
|
133
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
134
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
135
|
+
]
|
|
136
|
+
] = None,
|
|
137
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
138
|
+
_content_type: Optional[StrictStr] = None,
|
|
139
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
140
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
141
|
+
) -> ApiResponse[MergeTrajectoriesResponse]:
|
|
142
|
+
"""Merge Trajectories
|
|
143
|
+
|
|
144
|
+
<!-- theme: danger --> > **Experimental** Merges a list of joint trajectories into a single trajectory with collision-aware blending. This endpoint merges a list of separate trajectories by connecting them via blending. The blending is performed with collision checking to ensure the merged trajectory is safe to execute. Timescaling will be applied to the blended area to ensure all limits are respected.
|
|
145
|
+
|
|
146
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
147
|
+
:type cell: str
|
|
148
|
+
:param merge_trajectories_request: (required)
|
|
149
|
+
:type merge_trajectories_request: MergeTrajectoriesRequest
|
|
150
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
151
|
+
number provided, it will be total request
|
|
152
|
+
timeout. It can also be a pair (tuple) of
|
|
153
|
+
(connection, read) timeouts.
|
|
154
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
155
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
156
|
+
request; this effectively ignores the
|
|
157
|
+
authentication in the spec for a single request.
|
|
158
|
+
:type _request_auth: dict, optional
|
|
159
|
+
:param _content_type: force content-type for the request.
|
|
160
|
+
:type _content_type: str, Optional
|
|
161
|
+
:param _headers: set to override the headers for a single
|
|
162
|
+
request; this effectively ignores the headers
|
|
163
|
+
in the spec for a single request.
|
|
164
|
+
:type _headers: dict, optional
|
|
165
|
+
:param _host_index: set to override the host_index for a single
|
|
166
|
+
request; this effectively ignores the host_index
|
|
167
|
+
in the spec for a single request.
|
|
168
|
+
:type _host_index: int, optional
|
|
169
|
+
:return: Returns the result object.
|
|
170
|
+
""" # noqa: E501
|
|
171
|
+
|
|
172
|
+
_param = self._merge_trajectories_serialize(
|
|
173
|
+
cell=cell,
|
|
174
|
+
merge_trajectories_request=merge_trajectories_request,
|
|
175
|
+
_request_auth=_request_auth,
|
|
176
|
+
_content_type=_content_type,
|
|
177
|
+
_headers=_headers,
|
|
178
|
+
_host_index=_host_index
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
182
|
+
'200': "MergeTrajectoriesResponse",
|
|
183
|
+
'404': None,
|
|
184
|
+
'422': "MergeTrajectories422Response",
|
|
185
|
+
'500': None,
|
|
186
|
+
}
|
|
187
|
+
response_data = await self.api_client.call_api(
|
|
188
|
+
*_param,
|
|
189
|
+
_request_timeout=_request_timeout
|
|
190
|
+
)
|
|
191
|
+
await response_data.read()
|
|
192
|
+
return self.api_client.response_deserialize(
|
|
193
|
+
response_data=response_data,
|
|
194
|
+
response_types_map=_response_types_map,
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
@validate_call
|
|
199
|
+
async def merge_trajectories_without_preload_content(
|
|
200
|
+
self,
|
|
201
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
202
|
+
merge_trajectories_request: MergeTrajectoriesRequest,
|
|
203
|
+
_request_timeout: Union[
|
|
204
|
+
None,
|
|
205
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
206
|
+
Tuple[
|
|
207
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
208
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
209
|
+
]
|
|
210
|
+
] = None,
|
|
211
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
212
|
+
_content_type: Optional[StrictStr] = None,
|
|
213
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
214
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
215
|
+
) -> RESTResponseType:
|
|
216
|
+
"""Merge Trajectories
|
|
217
|
+
|
|
218
|
+
<!-- theme: danger --> > **Experimental** Merges a list of joint trajectories into a single trajectory with collision-aware blending. This endpoint merges a list of separate trajectories by connecting them via blending. The blending is performed with collision checking to ensure the merged trajectory is safe to execute. Timescaling will be applied to the blended area to ensure all limits are respected.
|
|
219
|
+
|
|
220
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
221
|
+
:type cell: str
|
|
222
|
+
:param merge_trajectories_request: (required)
|
|
223
|
+
:type merge_trajectories_request: MergeTrajectoriesRequest
|
|
224
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
225
|
+
number provided, it will be total request
|
|
226
|
+
timeout. It can also be a pair (tuple) of
|
|
227
|
+
(connection, read) timeouts.
|
|
228
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
229
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
230
|
+
request; this effectively ignores the
|
|
231
|
+
authentication in the spec for a single request.
|
|
232
|
+
:type _request_auth: dict, optional
|
|
233
|
+
:param _content_type: force content-type for the request.
|
|
234
|
+
:type _content_type: str, Optional
|
|
235
|
+
:param _headers: set to override the headers for a single
|
|
236
|
+
request; this effectively ignores the headers
|
|
237
|
+
in the spec for a single request.
|
|
238
|
+
:type _headers: dict, optional
|
|
239
|
+
:param _host_index: set to override the host_index for a single
|
|
240
|
+
request; this effectively ignores the host_index
|
|
241
|
+
in the spec for a single request.
|
|
242
|
+
:type _host_index: int, optional
|
|
243
|
+
:return: Returns the result object.
|
|
244
|
+
""" # noqa: E501
|
|
245
|
+
|
|
246
|
+
_param = self._merge_trajectories_serialize(
|
|
247
|
+
cell=cell,
|
|
248
|
+
merge_trajectories_request=merge_trajectories_request,
|
|
249
|
+
_request_auth=_request_auth,
|
|
250
|
+
_content_type=_content_type,
|
|
251
|
+
_headers=_headers,
|
|
252
|
+
_host_index=_host_index
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
256
|
+
'200': "MergeTrajectoriesResponse",
|
|
257
|
+
'404': None,
|
|
258
|
+
'422': "MergeTrajectories422Response",
|
|
259
|
+
'500': None,
|
|
260
|
+
}
|
|
261
|
+
response_data = await self.api_client.call_api(
|
|
262
|
+
*_param,
|
|
263
|
+
_request_timeout=_request_timeout
|
|
264
|
+
)
|
|
265
|
+
return response_data.response
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
def _merge_trajectories_serialize(
|
|
269
|
+
self,
|
|
270
|
+
cell,
|
|
271
|
+
merge_trajectories_request,
|
|
272
|
+
_request_auth,
|
|
273
|
+
_content_type,
|
|
274
|
+
_headers,
|
|
275
|
+
_host_index,
|
|
276
|
+
) -> RequestSerialized:
|
|
277
|
+
|
|
278
|
+
_host = None
|
|
279
|
+
|
|
280
|
+
_collection_formats: Dict[str, str] = {
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
_path_params: Dict[str, str] = {}
|
|
284
|
+
_query_params: List[Tuple[str, str]] = []
|
|
285
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
286
|
+
_form_params: List[Tuple[str, str]] = []
|
|
287
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
288
|
+
_body_params: Optional[bytes] = None
|
|
289
|
+
|
|
290
|
+
# process the path parameters
|
|
291
|
+
if cell is not None:
|
|
292
|
+
_path_params['cell'] = cell
|
|
293
|
+
# process the query parameters
|
|
294
|
+
# process the header parameters
|
|
295
|
+
# process the form parameters
|
|
296
|
+
# process the body parameter
|
|
297
|
+
if merge_trajectories_request is not None:
|
|
298
|
+
_body_params = merge_trajectories_request
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
# set the HTTP header `Accept`
|
|
302
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
303
|
+
[
|
|
304
|
+
'application/json'
|
|
305
|
+
]
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
# set the HTTP header `Content-Type`
|
|
309
|
+
if _content_type:
|
|
310
|
+
_header_params['Content-Type'] = _content_type
|
|
311
|
+
else:
|
|
312
|
+
_default_content_type = (
|
|
313
|
+
self.api_client.select_header_content_type(
|
|
314
|
+
[
|
|
315
|
+
'application/json'
|
|
316
|
+
]
|
|
317
|
+
)
|
|
318
|
+
)
|
|
319
|
+
if _default_content_type is not None:
|
|
320
|
+
_header_params['Content-Type'] = _default_content_type
|
|
321
|
+
|
|
322
|
+
# authentication setting
|
|
323
|
+
_auth_settings: List[str] = [
|
|
324
|
+
'BearerAuth'
|
|
325
|
+
]
|
|
326
|
+
|
|
327
|
+
return self.api_client.param_serialize(
|
|
328
|
+
method='POST',
|
|
329
|
+
resource_path='/experimental/cells/{cell}/trajectory-planning/merge-trajectories',
|
|
330
|
+
path_params=_path_params,
|
|
331
|
+
query_params=_query_params,
|
|
332
|
+
header_params=_header_params,
|
|
333
|
+
body=_body_params,
|
|
334
|
+
post_params=_form_params,
|
|
335
|
+
files=_files,
|
|
336
|
+
auth_settings=_auth_settings,
|
|
337
|
+
collection_formats=_collection_formats,
|
|
338
|
+
_host=_host,
|
|
339
|
+
_request_auth=_request_auth
|
|
340
|
+
)
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
48
344
|
@validate_call
|
|
49
345
|
async def plan_collision_free(
|
|
50
346
|
self,
|
|
@@ -394,7 +394,7 @@ class VirtualControllerApi:
|
|
|
394
394
|
) -> None:
|
|
395
395
|
"""Add Motion Group
|
|
396
396
|
|
|
397
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
397
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
398
398
|
|
|
399
399
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
400
400
|
:type cell: str
|
|
@@ -471,7 +471,7 @@ class VirtualControllerApi:
|
|
|
471
471
|
) -> ApiResponse[None]:
|
|
472
472
|
"""Add Motion Group
|
|
473
473
|
|
|
474
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
474
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
475
475
|
|
|
476
476
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
477
477
|
:type cell: str
|
|
@@ -548,7 +548,7 @@ class VirtualControllerApi:
|
|
|
548
548
|
) -> RESTResponseType:
|
|
549
549
|
"""Add Motion Group
|
|
550
550
|
|
|
551
|
-
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **
|
|
551
|
+
Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
|
|
552
552
|
|
|
553
553
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
554
554
|
:type cell: str
|