wandelbots-api-client 25.11.0.dev12__py3-none-any.whl → 26.1.0.dev62__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/motion_api.py +3 -3
- wandelbots_api_client/api_client.py +1 -1
- wandelbots_api_client/configuration.py +1 -1
- wandelbots_api_client/models/__init__.py +3 -1
- wandelbots_api_client/models/virtual_controller_types.py +4 -4
- wandelbots_api_client/v2/__init__.py +1 -1
- wandelbots_api_client/v2/api/__init__.py +2 -0
- wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +579 -0
- wandelbots_api_client/v2/api/jogging_api.py +1 -1
- wandelbots_api_client/v2/api/motion_group_models_api.py +795 -2
- wandelbots_api_client/v2/api/program_api.py +12 -12
- wandelbots_api_client/v2/api/robot_configurations_api.py +291 -0
- wandelbots_api_client/v2/api/trajectory_execution_api.py +1 -1
- wandelbots_api_client/v2/api_client.py +1 -1
- wandelbots_api_client/v2/configuration.py +1 -1
- wandelbots_api_client/v2/models/__init__.py +7 -3
- wandelbots_api_client/v2/models/blending_auto.py +1 -1
- wandelbots_api_client/v2/models/blending_position.py +15 -1
- wandelbots_api_client/v2/models/blending_space.py +37 -0
- wandelbots_api_client/v2/models/initialize_jogging_request.py +2 -4
- wandelbots_api_client/v2/models/inverse_kinematics_request.py +6 -4
- wandelbots_api_client/v2/models/kinematic_model.py +110 -0
- wandelbots_api_client/v2/models/motion_group_description.py +4 -2
- wandelbots_api_client/v2/models/virtual_controller.py +1 -2
- wandelbots_api_client/v2/models/virtual_controller_types.py +1 -1
- wandelbots_api_client/v2_pydantic/__init__.py +1 -1
- wandelbots_api_client/v2_pydantic/api/__init__.py +2 -0
- wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +585 -0
- wandelbots_api_client/v2_pydantic/api/jogging_api.py +1 -1
- wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +804 -2
- wandelbots_api_client/v2_pydantic/api/program_api.py +12 -12
- wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +294 -0
- wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +1 -1
- 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 +471 -527
- wandelbots_api_client/v2_pydantic/virtual_controller_types.py +126 -0
- {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/METADATA +2 -2
- {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/RECORD +43 -38
- {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/WHEEL +0 -0
- {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/licenses/LICENSE +0 -0
- {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev62.dist-info}/top_level.txt +0 -0
|
@@ -65,7 +65,7 @@ class ProgramApi:
|
|
|
65
65
|
) -> Program:
|
|
66
66
|
"""Get program
|
|
67
67
|
|
|
68
|
-
Get details of a program.
|
|
68
|
+
<!-- theme: danger --> > **Experimental** Get details of a program.
|
|
69
69
|
|
|
70
70
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
71
71
|
:type cell: str
|
|
@@ -138,7 +138,7 @@ class ProgramApi:
|
|
|
138
138
|
) -> ApiResponse[Program]:
|
|
139
139
|
"""Get program
|
|
140
140
|
|
|
141
|
-
Get details of a program.
|
|
141
|
+
<!-- theme: danger --> > **Experimental** Get details of a program.
|
|
142
142
|
|
|
143
143
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
144
144
|
:type cell: str
|
|
@@ -211,7 +211,7 @@ class ProgramApi:
|
|
|
211
211
|
) -> RESTResponseType:
|
|
212
212
|
"""Get program
|
|
213
213
|
|
|
214
|
-
Get details of a program.
|
|
214
|
+
<!-- theme: danger --> > **Experimental** Get details of a program.
|
|
215
215
|
|
|
216
216
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
217
217
|
:type cell: str
|
|
@@ -343,7 +343,7 @@ class ProgramApi:
|
|
|
343
343
|
) -> List[Program]:
|
|
344
344
|
"""List programs
|
|
345
345
|
|
|
346
|
-
List details of all existing programs.
|
|
346
|
+
<!-- theme: danger --> > **Experimental** List details of all existing programs.
|
|
347
347
|
|
|
348
348
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
349
349
|
:type cell: str
|
|
@@ -412,7 +412,7 @@ class ProgramApi:
|
|
|
412
412
|
) -> ApiResponse[List[Program]]:
|
|
413
413
|
"""List programs
|
|
414
414
|
|
|
415
|
-
List details of all existing programs.
|
|
415
|
+
<!-- theme: danger --> > **Experimental** List details of all existing programs.
|
|
416
416
|
|
|
417
417
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
418
418
|
:type cell: str
|
|
@@ -481,7 +481,7 @@ class ProgramApi:
|
|
|
481
481
|
) -> RESTResponseType:
|
|
482
482
|
"""List programs
|
|
483
483
|
|
|
484
|
-
List details of all existing programs.
|
|
484
|
+
<!-- theme: danger --> > **Experimental** List details of all existing programs.
|
|
485
485
|
|
|
486
486
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
487
487
|
:type cell: str
|
|
@@ -609,7 +609,7 @@ class ProgramApi:
|
|
|
609
609
|
) -> ProgramRun:
|
|
610
610
|
"""Start the program
|
|
611
611
|
|
|
612
|
-
This endpoint starts a new program execution. The program will be executed asynchronously.
|
|
612
|
+
<!-- theme: danger --> > **Experimental** This endpoint starts a new program execution. The program will be executed asynchronously.
|
|
613
613
|
|
|
614
614
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
615
615
|
:type cell: str
|
|
@@ -691,7 +691,7 @@ class ProgramApi:
|
|
|
691
691
|
) -> ApiResponse[ProgramRun]:
|
|
692
692
|
"""Start the program
|
|
693
693
|
|
|
694
|
-
This endpoint starts a new program execution. The program will be executed asynchronously.
|
|
694
|
+
<!-- theme: danger --> > **Experimental** This endpoint starts a new program execution. The program will be executed asynchronously.
|
|
695
695
|
|
|
696
696
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
697
697
|
:type cell: str
|
|
@@ -773,7 +773,7 @@ class ProgramApi:
|
|
|
773
773
|
) -> RESTResponseType:
|
|
774
774
|
"""Start the program
|
|
775
775
|
|
|
776
|
-
This endpoint starts a new program execution. The program will be executed asynchronously.
|
|
776
|
+
<!-- theme: danger --> > **Experimental** This endpoint starts a new program execution. The program will be executed asynchronously.
|
|
777
777
|
|
|
778
778
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
779
779
|
:type cell: str
|
|
@@ -930,7 +930,7 @@ class ProgramApi:
|
|
|
930
930
|
) -> None:
|
|
931
931
|
"""Stop program run
|
|
932
932
|
|
|
933
|
-
Stop a specific program run.
|
|
933
|
+
<!-- theme: danger --> > **Experimental** Stop a specific program run.
|
|
934
934
|
|
|
935
935
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
936
936
|
:type cell: str
|
|
@@ -1004,7 +1004,7 @@ class ProgramApi:
|
|
|
1004
1004
|
) -> ApiResponse[None]:
|
|
1005
1005
|
"""Stop program run
|
|
1006
1006
|
|
|
1007
|
-
Stop a specific program run.
|
|
1007
|
+
<!-- theme: danger --> > **Experimental** Stop a specific program run.
|
|
1008
1008
|
|
|
1009
1009
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
1010
1010
|
:type cell: str
|
|
@@ -1078,7 +1078,7 @@ class ProgramApi:
|
|
|
1078
1078
|
) -> RESTResponseType:
|
|
1079
1079
|
"""Stop program run
|
|
1080
1080
|
|
|
1081
|
-
Stop a specific program run.
|
|
1081
|
+
<!-- theme: danger --> > **Experimental** Stop a specific program run.
|
|
1082
1082
|
|
|
1083
1083
|
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
1084
1084
|
:type cell: str
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Wandelbots NOVA API
|
|
5
|
+
|
|
6
|
+
Interact with robots in an easy and intuitive way.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.1.0 dev
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from furl import furl
|
|
15
|
+
import json
|
|
16
|
+
import humps
|
|
17
|
+
import re
|
|
18
|
+
import warnings
|
|
19
|
+
import websockets
|
|
20
|
+
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
21
|
+
from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Tuple, Union
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from urllib.parse import quote
|
|
24
|
+
|
|
25
|
+
from pydantic import StrictStr
|
|
26
|
+
from typing import List
|
|
27
|
+
|
|
28
|
+
from wandelbots_api_client.v2_pydantic.api_client import ApiClient, RequestSerialized
|
|
29
|
+
from wandelbots_api_client.v2_pydantic.api_response import ApiResponse
|
|
30
|
+
from wandelbots_api_client.v2_pydantic.rest import RESTResponseType
|
|
31
|
+
|
|
32
|
+
class RobotConfigurationsApi:
|
|
33
|
+
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
34
|
+
Ref: https://openapi-generator.tech
|
|
35
|
+
|
|
36
|
+
Do not edit the class manually.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
def __init__(self, api_client=None) -> None:
|
|
40
|
+
if api_client is None:
|
|
41
|
+
api_client = ApiClient.get_default()
|
|
42
|
+
self.api_client = api_client
|
|
43
|
+
|
|
44
|
+
@validate_call
|
|
45
|
+
async def get_robot_configurations(
|
|
46
|
+
self,
|
|
47
|
+
_request_timeout: Union[
|
|
48
|
+
None,
|
|
49
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
50
|
+
Tuple[
|
|
51
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
52
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
53
|
+
]
|
|
54
|
+
] = None,
|
|
55
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
56
|
+
_content_type: Optional[StrictStr] = None,
|
|
57
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
58
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
59
|
+
) -> List[str]:
|
|
60
|
+
"""List Robot Configurations
|
|
61
|
+
|
|
62
|
+
Returns the identifiers of available robot configurations. A robot configuration represents a robot controller with one or more attached motion groups.
|
|
63
|
+
|
|
64
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
65
|
+
number provided, it will be total request
|
|
66
|
+
timeout. It can also be a pair (tuple) of
|
|
67
|
+
(connection, read) timeouts.
|
|
68
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
69
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
70
|
+
request; this effectively ignores the
|
|
71
|
+
authentication in the spec for a single request.
|
|
72
|
+
:type _request_auth: dict, optional
|
|
73
|
+
:param _content_type: force content-type for the request.
|
|
74
|
+
:type _content_type: str, Optional
|
|
75
|
+
:param _headers: set to override the headers for a single
|
|
76
|
+
request; this effectively ignores the headers
|
|
77
|
+
in the spec for a single request.
|
|
78
|
+
:type _headers: dict, optional
|
|
79
|
+
:param _host_index: set to override the host_index for a single
|
|
80
|
+
request; this effectively ignores the host_index
|
|
81
|
+
in the spec for a single request.
|
|
82
|
+
:type _host_index: int, optional
|
|
83
|
+
:return: Returns the result object.
|
|
84
|
+
""" # noqa: E501
|
|
85
|
+
|
|
86
|
+
_param = self._get_robot_configurations_serialize(
|
|
87
|
+
_request_auth=_request_auth,
|
|
88
|
+
_content_type=_content_type,
|
|
89
|
+
_headers=_headers,
|
|
90
|
+
_host_index=_host_index
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
94
|
+
'200': "List[str]",
|
|
95
|
+
'404': None,
|
|
96
|
+
'500': None,
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
response_data = await self.api_client.call_api(
|
|
100
|
+
*_param,
|
|
101
|
+
_request_timeout=_request_timeout
|
|
102
|
+
)
|
|
103
|
+
await response_data.read()
|
|
104
|
+
return self.api_client.response_deserialize(
|
|
105
|
+
response_data=response_data,
|
|
106
|
+
response_types_map=_response_types_map,
|
|
107
|
+
).data
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
@validate_call
|
|
111
|
+
async def get_robot_configurations_with_http_info(
|
|
112
|
+
self,
|
|
113
|
+
_request_timeout: Union[
|
|
114
|
+
None,
|
|
115
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
116
|
+
Tuple[
|
|
117
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
118
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
119
|
+
]
|
|
120
|
+
] = None,
|
|
121
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
122
|
+
_content_type: Optional[StrictStr] = None,
|
|
123
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
124
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
125
|
+
) -> ApiResponse[List[str]]:
|
|
126
|
+
"""List Robot Configurations
|
|
127
|
+
|
|
128
|
+
Returns the identifiers of available robot configurations. A robot configuration represents a robot controller with one or more attached motion groups.
|
|
129
|
+
|
|
130
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
131
|
+
number provided, it will be total request
|
|
132
|
+
timeout. It can also be a pair (tuple) of
|
|
133
|
+
(connection, read) timeouts.
|
|
134
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
135
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
136
|
+
request; this effectively ignores the
|
|
137
|
+
authentication in the spec for a single request.
|
|
138
|
+
:type _request_auth: dict, optional
|
|
139
|
+
:param _content_type: force content-type for the request.
|
|
140
|
+
:type _content_type: str, Optional
|
|
141
|
+
:param _headers: set to override the headers for a single
|
|
142
|
+
request; this effectively ignores the headers
|
|
143
|
+
in the spec for a single request.
|
|
144
|
+
:type _headers: dict, optional
|
|
145
|
+
:param _host_index: set to override the host_index for a single
|
|
146
|
+
request; this effectively ignores the host_index
|
|
147
|
+
in the spec for a single request.
|
|
148
|
+
:type _host_index: int, optional
|
|
149
|
+
:return: Returns the result object.
|
|
150
|
+
""" # noqa: E501
|
|
151
|
+
|
|
152
|
+
_param = self._get_robot_configurations_serialize(
|
|
153
|
+
_request_auth=_request_auth,
|
|
154
|
+
_content_type=_content_type,
|
|
155
|
+
_headers=_headers,
|
|
156
|
+
_host_index=_host_index
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
160
|
+
'200': "List[str]",
|
|
161
|
+
'404': None,
|
|
162
|
+
'500': None,
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
response_data = await self.api_client.call_api(
|
|
166
|
+
*_param,
|
|
167
|
+
_request_timeout=_request_timeout
|
|
168
|
+
)
|
|
169
|
+
await response_data.read()
|
|
170
|
+
return self.api_client.response_deserialize(
|
|
171
|
+
response_data=response_data,
|
|
172
|
+
response_types_map=_response_types_map,
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
@validate_call
|
|
177
|
+
async def get_robot_configurations_without_preload_content(
|
|
178
|
+
self,
|
|
179
|
+
_request_timeout: Union[
|
|
180
|
+
None,
|
|
181
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
182
|
+
Tuple[
|
|
183
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
184
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
185
|
+
]
|
|
186
|
+
] = None,
|
|
187
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
188
|
+
_content_type: Optional[StrictStr] = None,
|
|
189
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
190
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
191
|
+
) -> RESTResponseType:
|
|
192
|
+
"""List Robot Configurations
|
|
193
|
+
|
|
194
|
+
Returns the identifiers of available robot configurations. A robot configuration represents a robot controller with one or more attached motion groups.
|
|
195
|
+
|
|
196
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
197
|
+
number provided, it will be total request
|
|
198
|
+
timeout. It can also be a pair (tuple) of
|
|
199
|
+
(connection, read) timeouts.
|
|
200
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
201
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
202
|
+
request; this effectively ignores the
|
|
203
|
+
authentication in the spec for a single request.
|
|
204
|
+
:type _request_auth: dict, optional
|
|
205
|
+
:param _content_type: force content-type for the request.
|
|
206
|
+
:type _content_type: str, Optional
|
|
207
|
+
:param _headers: set to override the headers for a single
|
|
208
|
+
request; this effectively ignores the headers
|
|
209
|
+
in the spec for a single request.
|
|
210
|
+
:type _headers: dict, optional
|
|
211
|
+
:param _host_index: set to override the host_index for a single
|
|
212
|
+
request; this effectively ignores the host_index
|
|
213
|
+
in the spec for a single request.
|
|
214
|
+
:type _host_index: int, optional
|
|
215
|
+
:return: Returns the result object.
|
|
216
|
+
""" # noqa: E501
|
|
217
|
+
|
|
218
|
+
_param = self._get_robot_configurations_serialize(
|
|
219
|
+
_request_auth=_request_auth,
|
|
220
|
+
_content_type=_content_type,
|
|
221
|
+
_headers=_headers,
|
|
222
|
+
_host_index=_host_index
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
226
|
+
'200': "List[str]",
|
|
227
|
+
'404': None,
|
|
228
|
+
'500': None,
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
response_data = await self.api_client.call_api(
|
|
232
|
+
*_param,
|
|
233
|
+
_request_timeout=_request_timeout
|
|
234
|
+
)
|
|
235
|
+
return response_data.response
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
def _get_robot_configurations_serialize(
|
|
239
|
+
self,
|
|
240
|
+
_request_auth,
|
|
241
|
+
_content_type,
|
|
242
|
+
_headers,
|
|
243
|
+
_host_index,
|
|
244
|
+
) -> RequestSerialized:
|
|
245
|
+
|
|
246
|
+
_host = None
|
|
247
|
+
|
|
248
|
+
_collection_formats: Dict[str, str] = {
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
_path_params: Dict[str, str] = {}
|
|
252
|
+
_query_params: List[Tuple[str, str]] = []
|
|
253
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
254
|
+
_form_params: List[Tuple[str, str]] = []
|
|
255
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
256
|
+
_body_params: Optional[bytes] = None
|
|
257
|
+
|
|
258
|
+
# process the path parameters
|
|
259
|
+
# process the query parameters
|
|
260
|
+
# process the header parameters
|
|
261
|
+
# process the form parameters
|
|
262
|
+
# process the body parameter
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
# set the HTTP header `Accept`
|
|
266
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
267
|
+
[
|
|
268
|
+
'application/json'
|
|
269
|
+
]
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
# authentication setting
|
|
274
|
+
_auth_settings: List[str] = [
|
|
275
|
+
'BasicAuth',
|
|
276
|
+
'BearerAuth'
|
|
277
|
+
]
|
|
278
|
+
|
|
279
|
+
return self.api_client.param_serialize(
|
|
280
|
+
method='GET',
|
|
281
|
+
resource_path='/robot-configurations',
|
|
282
|
+
path_params=_path_params,
|
|
283
|
+
query_params=_query_params,
|
|
284
|
+
header_params=_header_params,
|
|
285
|
+
body=_body_params,
|
|
286
|
+
post_params=_form_params,
|
|
287
|
+
files=_files,
|
|
288
|
+
auth_settings=_auth_settings,
|
|
289
|
+
collection_formats=_collection_formats,
|
|
290
|
+
_host=_host,
|
|
291
|
+
_request_auth=_request_auth
|
|
292
|
+
)
|
|
293
|
+
|
|
294
|
+
|
|
@@ -47,7 +47,7 @@ class TrajectoryExecutionApi:
|
|
|
47
47
|
async def execute_trajectory(self, cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")], controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")], client_request_generator: Callable[[AsyncGenerator[ExecuteTrajectoryResponse, None]], AsyncGenerator[ExecuteTrajectoryRequest, None]]) -> None: # noqa: E501
|
|
48
48
|
"""Execute Trajectory # noqa: E501
|
|
49
49
|
|
|
50
|
-
<!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group's control mode is not claimed by any other endpoint. - The motion group's joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time
|
|
50
|
+
<!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group's control mode is not claimed by any other endpoint. - The motion group's joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time. Pausing the current movement enables you to send another `InitializeMovementRequest` to execute another trajectory on the same connection. #### 2. Send `StartMovementRequest` to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send `PauseMovementRequest` before the movement has reached its end location. - Change the movement's velocity with `PlaybackSpeedRequest` after initializing the movement with `InitializeMovementRequest`. ### Responses To monitor the state of the movement, listen to the [state stream](streamMotionGroupState). The state is published via nats as well. Field `execute` in the `MotionGroupState` indicates whether a movement is ongoing and carries execution details. Each request has a corresponding acknowledgment response. They signal success or failure of the request. Especially for `PauseMovementResponse`, it does not signal the end of the movement. Additionally, `MovementError` messages can be sent in case of unexpected errors during the execution, e.g., controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending `PauseMovementRequest` and `StartMovementRequest`. - Send `PlaybackSpeedRequest` before `StartMovementRequest` to reduce the velocity of the movement before it starts. - Send `PlaybackSpeedRequest` repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send `PlaybackSpeedRequest` with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending `StartMovementRequest` after the movement has finished. # noqa: E501
|
|
51
51
|
:param client_request_generator: An AsyncGenerator that yields request of type ExecuteTrajectoryRequest and takes an AsyncGenerator of ExecuteTrajectoryResponse as an input argument (required)
|
|
52
52
|
:info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[ExecuteTrajectoryResponse, None])
|
|
53
53
|
:type AsyncGenerator[ExecuteTrajectoryRequest, None]
|
|
@@ -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/
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.1.0.dev62'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -535,7 +535,7 @@ conf = wandelbots_api_client.v2_pydantic.Configuration(
|
|
|
535
535
|
"OS: {env}\n"\
|
|
536
536
|
"Python Version: {pyversion}\n"\
|
|
537
537
|
"Version of the API: 2.1.0 dev\n"\
|
|
538
|
-
"SDK Package Version:
|
|
538
|
+
"SDK Package Version: 26.1.0.dev62".\
|
|
539
539
|
format(env=sys.platform, pyversion=sys.version)
|
|
540
540
|
|
|
541
541
|
def get_host_settings(self) -> List[HostSetting]:
|