@wandelbots/nova-js 3.11.4 → 3.13.0-pr.307.07b1ea2
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.
- package/dist/experimental/nats/index.cjs +115 -0
- package/dist/experimental/nats/index.cjs.map +1 -0
- package/dist/experimental/nats/index.d.cts +2227 -0
- package/dist/experimental/nats/index.d.cts.map +1 -0
- package/dist/experimental/nats/index.d.mts +2227 -0
- package/dist/experimental/nats/index.d.mts.map +1 -0
- package/dist/experimental/nats/index.mjs +114 -0
- package/dist/experimental/nats/index.mjs.map +1 -0
- package/package.json +12 -3
- package/src/asyncapi.yaml +3593 -0
- package/src/experimental/nats/index.ts +16 -0
- package/src/lib/experimental/nats/NovaNatsClient.ts +116 -0
- package/src/lib/experimental/nats/buildSubject.ts +68 -0
- package/src/lib/experimental/nats/generated/operations.ts +203 -0
- package/src/lib/experimental/nats/generated/types.ts +2325 -0
|
@@ -0,0 +1,3593 @@
|
|
|
1
|
+
info:
|
|
2
|
+
title: Wandelbots NOVA Async API
|
|
3
|
+
version: '2.0'
|
|
4
|
+
license:
|
|
5
|
+
name: Apache 2.0
|
|
6
|
+
url: https://www.apache.org/licenses/LICENSE-2.0.html
|
|
7
|
+
description: |
|
|
8
|
+
Interact with robots in an easy and intuitive way.
|
|
9
|
+
contact:
|
|
10
|
+
name: Copyright (c) 2025 Wandelbots GmbH
|
|
11
|
+
url: https://www.wandelbots.com
|
|
12
|
+
components:
|
|
13
|
+
schemas:
|
|
14
|
+
CellName:
|
|
15
|
+
type: string
|
|
16
|
+
description: |
|
|
17
|
+
A unique name for the cell used as an identifier for addressing the cell in all API calls.
|
|
18
|
+
It must be a valid k8s label name as defined by [RFC 1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names).
|
|
19
|
+
pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$
|
|
20
|
+
default: cell
|
|
21
|
+
CellDescription:
|
|
22
|
+
type: string
|
|
23
|
+
maxLength: 200
|
|
24
|
+
description: |
|
|
25
|
+
A description of the cell.
|
|
26
|
+
AbbController:
|
|
27
|
+
title: AbbController
|
|
28
|
+
description: |
|
|
29
|
+
The configuration of a physical ABB robot controller has to contain IP address.
|
|
30
|
+
Additionally an EGM server configuration has to be specified in order to control the robot.
|
|
31
|
+
Deploying the server is a functionality of this API.
|
|
32
|
+
type: object
|
|
33
|
+
required:
|
|
34
|
+
- kind
|
|
35
|
+
- controller_ip
|
|
36
|
+
- controller_port
|
|
37
|
+
- egm_server
|
|
38
|
+
properties:
|
|
39
|
+
kind:
|
|
40
|
+
type: string
|
|
41
|
+
enum:
|
|
42
|
+
- AbbController
|
|
43
|
+
x-go-type-skip-optional-pointer: true
|
|
44
|
+
x-is-discriminator: true
|
|
45
|
+
controller_ip:
|
|
46
|
+
type: string
|
|
47
|
+
controller_port:
|
|
48
|
+
description: |
|
|
49
|
+
Default values: 80, 443. If custom value is set, field is required.
|
|
50
|
+
type: integer
|
|
51
|
+
default: 80
|
|
52
|
+
egm_server:
|
|
53
|
+
description: The EGM server runs inside of the cell, thus its IP must be in the same network as the 'controller_ip'
|
|
54
|
+
type: object
|
|
55
|
+
required:
|
|
56
|
+
- ip
|
|
57
|
+
- port
|
|
58
|
+
properties:
|
|
59
|
+
ip:
|
|
60
|
+
type: string
|
|
61
|
+
port:
|
|
62
|
+
type: integer
|
|
63
|
+
default: 32112
|
|
64
|
+
ControllerNetworkInterface:
|
|
65
|
+
title: ControllerNetworkInterface
|
|
66
|
+
description: |
|
|
67
|
+
Optional dedicated network interface for a physical robot controller.
|
|
68
|
+
|
|
69
|
+
When set, the controller is given its own network interface on the selected
|
|
70
|
+
physical network port (`pf`) with the given `address`, so it can reach the
|
|
71
|
+
robot network directly.
|
|
72
|
+
type: object
|
|
73
|
+
required:
|
|
74
|
+
- address
|
|
75
|
+
- pf
|
|
76
|
+
properties:
|
|
77
|
+
address:
|
|
78
|
+
description: |
|
|
79
|
+
IPv4 address in CIDR notation to assign to the controller's network
|
|
80
|
+
interface, for example `192.168.1.10/24`. The value must be a valid IPv4
|
|
81
|
+
address followed by a prefix length between 0 and 32.
|
|
82
|
+
type: string
|
|
83
|
+
pattern: ^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}/([0-9]|[12][0-9]|3[0-2])$
|
|
84
|
+
example: 192.168.1.10/24
|
|
85
|
+
pf:
|
|
86
|
+
description: |
|
|
87
|
+
Name of the node's physical network port that connects to the robot
|
|
88
|
+
network, for example `enp10s0f0`. The controller's interface is provided
|
|
89
|
+
from this port.
|
|
90
|
+
type: string
|
|
91
|
+
pattern: ^[A-Za-z0-9][A-Za-z0-9._-]{0,14}$
|
|
92
|
+
example: enp10s0f0
|
|
93
|
+
FanucController:
|
|
94
|
+
title: FanucController
|
|
95
|
+
description: The configuration of a physical FANUC robot controller has to contain IP address of the controller.
|
|
96
|
+
type: object
|
|
97
|
+
required:
|
|
98
|
+
- kind
|
|
99
|
+
- controller_ip
|
|
100
|
+
properties:
|
|
101
|
+
kind:
|
|
102
|
+
type: string
|
|
103
|
+
enum:
|
|
104
|
+
- FanucController
|
|
105
|
+
x-go-type-skip-optional-pointer: true
|
|
106
|
+
x-is-discriminator: true
|
|
107
|
+
controller_ip:
|
|
108
|
+
type: string
|
|
109
|
+
network_interface:
|
|
110
|
+
$ref: '#/components/schemas/ControllerNetworkInterface'
|
|
111
|
+
KukaController:
|
|
112
|
+
title: KukaController
|
|
113
|
+
description: |
|
|
114
|
+
The configuration of a physical KUKA robot controller has to contain an IP address.
|
|
115
|
+
Additionally an RSI server configuration has to be specified in order to control the robot.
|
|
116
|
+
Deploying the server is a functionality of this API.
|
|
117
|
+
type: object
|
|
118
|
+
required:
|
|
119
|
+
- kind
|
|
120
|
+
- controller_ip
|
|
121
|
+
- controller_port
|
|
122
|
+
- rsi_server
|
|
123
|
+
properties:
|
|
124
|
+
kind:
|
|
125
|
+
type: string
|
|
126
|
+
enum:
|
|
127
|
+
- KukaController
|
|
128
|
+
x-go-type-skip-optional-pointer: true
|
|
129
|
+
x-is-discriminator: true
|
|
130
|
+
controller_ip:
|
|
131
|
+
type: string
|
|
132
|
+
controller_port:
|
|
133
|
+
type: integer
|
|
134
|
+
default: 54600
|
|
135
|
+
rsi_server:
|
|
136
|
+
description: The RSI server runs inside of the cell.
|
|
137
|
+
type: object
|
|
138
|
+
required:
|
|
139
|
+
- ip
|
|
140
|
+
- port
|
|
141
|
+
properties:
|
|
142
|
+
ip:
|
|
143
|
+
type: string
|
|
144
|
+
default: 0.0.0.0
|
|
145
|
+
port:
|
|
146
|
+
type: integer
|
|
147
|
+
default: 30152
|
|
148
|
+
slow_cycle_rate:
|
|
149
|
+
type: boolean
|
|
150
|
+
default: false
|
|
151
|
+
description: |
|
|
152
|
+
If true, uses slower cycle time of 12ms instead of 4ms.
|
|
153
|
+
UniversalrobotsController:
|
|
154
|
+
title: UniversalrobotsController
|
|
155
|
+
description: The configuration of a physical Universal Robots controller has to contain IP address of the controller.
|
|
156
|
+
type: object
|
|
157
|
+
required:
|
|
158
|
+
- kind
|
|
159
|
+
- controller_ip
|
|
160
|
+
properties:
|
|
161
|
+
kind:
|
|
162
|
+
type: string
|
|
163
|
+
enum:
|
|
164
|
+
- UniversalrobotsController
|
|
165
|
+
x-go-type-skip-optional-pointer: true
|
|
166
|
+
x-is-discriminator: true
|
|
167
|
+
controller_ip:
|
|
168
|
+
type: string
|
|
169
|
+
Manufacturer:
|
|
170
|
+
type: string
|
|
171
|
+
enum:
|
|
172
|
+
- abb
|
|
173
|
+
- fanuc
|
|
174
|
+
- kuka
|
|
175
|
+
- staubli
|
|
176
|
+
- universalrobots
|
|
177
|
+
- yaskawa
|
|
178
|
+
MotionGroupModel:
|
|
179
|
+
title: MotionGroupModel
|
|
180
|
+
type: string
|
|
181
|
+
description: |
|
|
182
|
+
Identifies a single motion group model.
|
|
183
|
+
See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types.
|
|
184
|
+
MotionGroupFromType:
|
|
185
|
+
title: Motion Group from Model
|
|
186
|
+
type: object
|
|
187
|
+
required:
|
|
188
|
+
- motion_group_model
|
|
189
|
+
- motion_group
|
|
190
|
+
properties:
|
|
191
|
+
motion_group:
|
|
192
|
+
type: string
|
|
193
|
+
description: Unique identifier for the motion group to be added.
|
|
194
|
+
motion_group_model:
|
|
195
|
+
$ref: '#/components/schemas/MotionGroupModel'
|
|
196
|
+
initial_joint_position:
|
|
197
|
+
type: string
|
|
198
|
+
description: |
|
|
199
|
+
Initial joint position of the added motion group.
|
|
200
|
+
Provides the joint position as a JSON array of float values in radians. The array length
|
|
201
|
+
must match the robot's degrees of freedom, e.g., `"[0, 0, 0, 0, 0, 0]"` for a 6-DOF robot.
|
|
202
|
+
If the provided array length does not match the robot's DOF, the array will be adjusted; if it is longer, extra values will be truncated;
|
|
203
|
+
if it is shorter, missing values will be filled with zeros.
|
|
204
|
+
MotionGroupFromJson:
|
|
205
|
+
title: Motion Group from JSON
|
|
206
|
+
type: object
|
|
207
|
+
required:
|
|
208
|
+
- json_data
|
|
209
|
+
- extracted_motion_group_id
|
|
210
|
+
- motion_group
|
|
211
|
+
properties:
|
|
212
|
+
motion_group:
|
|
213
|
+
type: string
|
|
214
|
+
description: Unique identifier for the motion group to be added.
|
|
215
|
+
json_data:
|
|
216
|
+
type: string
|
|
217
|
+
description: |
|
|
218
|
+
JSON configuration of the virtual robot controller, can be obtained from the physical controller's configuration
|
|
219
|
+
via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration).
|
|
220
|
+
extracted_motion_group_id:
|
|
221
|
+
type: string
|
|
222
|
+
description: |
|
|
223
|
+
The identifier of the motion group that needs to be extracted from the provided JSON configuration.
|
|
224
|
+
initial_joint_position:
|
|
225
|
+
type: string
|
|
226
|
+
description: |
|
|
227
|
+
Initial joint position of the added motion group.
|
|
228
|
+
Provides the joint position as a JSON array of float values in radians. The array length
|
|
229
|
+
must match the robot's degrees of freedom, e.g., `"[0, 0, 0, 0, 0, 0]"` for a 6-DOF robot.
|
|
230
|
+
If the provided array length does not match the robot's DOF, the array will be adjusted: if it is longer, extra values will be truncated;
|
|
231
|
+
if it is shorter, missing values will be filled with zeros.
|
|
232
|
+
AddVirtualControllerMotionGroupRequest:
|
|
233
|
+
title: AddVirtualControllerMotionGroupRequest
|
|
234
|
+
description: |
|
|
235
|
+
Request body wrapper for `addVirtualControllerMotionGroup`.
|
|
236
|
+
Allow either referencing a predefined motion group model or
|
|
237
|
+
uploading a JSON configuration that the backend converts into a
|
|
238
|
+
motion group description.
|
|
239
|
+
oneOf:
|
|
240
|
+
- $ref: '#/components/schemas/MotionGroupFromType'
|
|
241
|
+
- $ref: '#/components/schemas/MotionGroupFromJson'
|
|
242
|
+
VirtualController:
|
|
243
|
+
title: VirtualController
|
|
244
|
+
description: |
|
|
245
|
+
The configuration of a virtual robot controller has to contain the manufacturer string,
|
|
246
|
+
an optional joint position string array, and either a preset `type` **or** the complete JSON configuration.
|
|
247
|
+
type: object
|
|
248
|
+
required:
|
|
249
|
+
- kind
|
|
250
|
+
- manufacturer
|
|
251
|
+
properties:
|
|
252
|
+
kind:
|
|
253
|
+
type: string
|
|
254
|
+
enum:
|
|
255
|
+
- VirtualController
|
|
256
|
+
x-go-type-skip-optional-pointer: true
|
|
257
|
+
x-is-discriminator: true
|
|
258
|
+
manufacturer:
|
|
259
|
+
$ref: '#/components/schemas/Manufacturer'
|
|
260
|
+
type:
|
|
261
|
+
type: string
|
|
262
|
+
description: |
|
|
263
|
+
Preset type of the virtual robot controller.
|
|
264
|
+
See [getRobotConfigurations](#/operations/getRobotConfigurations) for supported types.
|
|
265
|
+
json:
|
|
266
|
+
type: string
|
|
267
|
+
description: |
|
|
268
|
+
Complete JSON configuration of the virtual robot controller.
|
|
269
|
+
Can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration).
|
|
270
|
+
If provided, the `type` field should not be used.
|
|
271
|
+
initial_joint_position:
|
|
272
|
+
type: string
|
|
273
|
+
description: |
|
|
274
|
+
Initial joint position of the first motion group from the virtual robot controller.
|
|
275
|
+
Provides the joint position as a JSON array of float values in radians. The array length
|
|
276
|
+
must match the robot's degrees of freedom, e.g., `"[0, 0, 0, 0, 0, 0]"` for a 6-DOF robot.
|
|
277
|
+
If the provided array length does not match the robot's DOF, the array will be adjusted: if it is longer, extra values will be truncated;
|
|
278
|
+
if it is shorter, missing values will be filled with zeros.
|
|
279
|
+
motion_groups:
|
|
280
|
+
type: array
|
|
281
|
+
maxItems: 10
|
|
282
|
+
description: |
|
|
283
|
+
Adds a motion group configuration for the virtual robot controller.
|
|
284
|
+
|
|
285
|
+
> **NOTE**
|
|
286
|
+
>
|
|
287
|
+
> Set only one of the two options, **motion_group_model**, or **json_data**
|
|
288
|
+
|
|
289
|
+
- **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types
|
|
290
|
+
- **json_data**: JSON configuration of the virtual robot controller, can be obtained from the physical controller's configuration
|
|
291
|
+
via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration)
|
|
292
|
+
- **extracted_motion_group_id**: Motion group identifier to extract from the provided JSON configuration, required when using json_data
|
|
293
|
+
- **motion_group**: Unique identifier for the motion group
|
|
294
|
+
- **initial_joint_position**: Specifies the initial joint position for the added motion group
|
|
295
|
+
items:
|
|
296
|
+
$ref: '#/components/schemas/AddVirtualControllerMotionGroupRequest'
|
|
297
|
+
YaskawaController:
|
|
298
|
+
title: YaskawaController
|
|
299
|
+
description: The configuration of a physical Yaskawa robot controller has to contain IP address of the controller.
|
|
300
|
+
type: object
|
|
301
|
+
required:
|
|
302
|
+
- kind
|
|
303
|
+
- controller_ip
|
|
304
|
+
properties:
|
|
305
|
+
kind:
|
|
306
|
+
type: string
|
|
307
|
+
enum:
|
|
308
|
+
- YaskawaController
|
|
309
|
+
x-go-type-skip-optional-pointer: true
|
|
310
|
+
x-is-discriminator: true
|
|
311
|
+
controller_ip:
|
|
312
|
+
type: string
|
|
313
|
+
RobotController:
|
|
314
|
+
type: object
|
|
315
|
+
description: The configuration of a physical or virtual robot controller.
|
|
316
|
+
required:
|
|
317
|
+
- name
|
|
318
|
+
- configuration
|
|
319
|
+
properties:
|
|
320
|
+
name:
|
|
321
|
+
description: |
|
|
322
|
+
Unique name of controller within the cell.
|
|
323
|
+
It must be a valid k8s label name as defined by [RFC 1035](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#rfc-1035-label-names).
|
|
324
|
+
type: string
|
|
325
|
+
pattern: ^[a-z][a-z0-9-]{0,61}[a-z0-9]$
|
|
326
|
+
configuration:
|
|
327
|
+
oneOf:
|
|
328
|
+
- $ref: '#/components/schemas/AbbController'
|
|
329
|
+
- $ref: '#/components/schemas/FanucController'
|
|
330
|
+
- $ref: '#/components/schemas/KukaController'
|
|
331
|
+
- $ref: '#/components/schemas/UniversalrobotsController'
|
|
332
|
+
- $ref: '#/components/schemas/VirtualController'
|
|
333
|
+
- $ref: '#/components/schemas/YaskawaController'
|
|
334
|
+
discriminator: kind
|
|
335
|
+
x-go-type-name: ControllerConfig
|
|
336
|
+
ImageCredentials:
|
|
337
|
+
type: object
|
|
338
|
+
description: |
|
|
339
|
+
User provided credentials for creating a secret to pull an image from a registry.
|
|
340
|
+
required:
|
|
341
|
+
- registry
|
|
342
|
+
- user
|
|
343
|
+
- password
|
|
344
|
+
properties:
|
|
345
|
+
registry:
|
|
346
|
+
type: string
|
|
347
|
+
user:
|
|
348
|
+
type: string
|
|
349
|
+
password:
|
|
350
|
+
type: string
|
|
351
|
+
ContainerImage:
|
|
352
|
+
type: object
|
|
353
|
+
description: |
|
|
354
|
+
A user provided, custom container image and the required credentials to pull it from a registry.
|
|
355
|
+
required:
|
|
356
|
+
- image
|
|
357
|
+
properties:
|
|
358
|
+
image:
|
|
359
|
+
description: The location of a container image in the form of `<registry>/<image>:<tag>`.
|
|
360
|
+
type: string
|
|
361
|
+
minLength: 1
|
|
362
|
+
credentials:
|
|
363
|
+
$ref: '#/components/schemas/ImageCredentials'
|
|
364
|
+
secrets:
|
|
365
|
+
type: array
|
|
366
|
+
description: Known secrets for authentication with the container registry.
|
|
367
|
+
items:
|
|
368
|
+
type: object
|
|
369
|
+
required:
|
|
370
|
+
- name
|
|
371
|
+
properties:
|
|
372
|
+
name:
|
|
373
|
+
type: string
|
|
374
|
+
ContainerEnvironment:
|
|
375
|
+
type: array
|
|
376
|
+
description: |
|
|
377
|
+
A list of environment variables with name and their value.
|
|
378
|
+
These can be used to configure the containerized application, and turn features on or off.
|
|
379
|
+
items:
|
|
380
|
+
type: object
|
|
381
|
+
required:
|
|
382
|
+
- name
|
|
383
|
+
- value
|
|
384
|
+
properties:
|
|
385
|
+
name:
|
|
386
|
+
type: string
|
|
387
|
+
value:
|
|
388
|
+
type: string
|
|
389
|
+
Capacity:
|
|
390
|
+
type: string
|
|
391
|
+
description: The amount of requested storage capacity.
|
|
392
|
+
pattern: ^[0-9]+(\\.[0-9]+)?(Ki|Mi|Gi|Ti|Pi|Ei|B)?$
|
|
393
|
+
example: 100Mi
|
|
394
|
+
ContainerStorage:
|
|
395
|
+
type: object
|
|
396
|
+
description: |
|
|
397
|
+
The path and capacity of a volume that retains data across application restarts.
|
|
398
|
+
The maximal requestable capacity is 300Mi.
|
|
399
|
+
If you need more capacity consider using [storeObject](#/operations/storeObject).
|
|
400
|
+
required:
|
|
401
|
+
- mount_path
|
|
402
|
+
- capacity
|
|
403
|
+
properties:
|
|
404
|
+
mount_path:
|
|
405
|
+
type: string
|
|
406
|
+
format: path
|
|
407
|
+
example: /data
|
|
408
|
+
capacity:
|
|
409
|
+
$ref: '#/components/schemas/Capacity'
|
|
410
|
+
description: |
|
|
411
|
+
The amount of local storage available for the application.
|
|
412
|
+
|
|
413
|
+
**NOTE:** The capacity can NEVER be reduced!
|
|
414
|
+
ContainerResources:
|
|
415
|
+
type: object
|
|
416
|
+
description: Additional resources that the application requires.
|
|
417
|
+
properties:
|
|
418
|
+
intel_gpu:
|
|
419
|
+
type: integer
|
|
420
|
+
description: Number of GPUs the application requires.
|
|
421
|
+
minimum: 0
|
|
422
|
+
maximum: 1
|
|
423
|
+
memory_limit:
|
|
424
|
+
type: string
|
|
425
|
+
description: The maximum memory allocated to this application.
|
|
426
|
+
example: 1000Mi
|
|
427
|
+
App:
|
|
428
|
+
type: object
|
|
429
|
+
description: |
|
|
430
|
+
An App is defined by a webserver, packed inside a container, serving a web-application.
|
|
431
|
+
required:
|
|
432
|
+
- name
|
|
433
|
+
- app_icon
|
|
434
|
+
- container_image
|
|
435
|
+
properties:
|
|
436
|
+
name:
|
|
437
|
+
description: |
|
|
438
|
+
The name of the provided application.
|
|
439
|
+
The name must be unique within the cell and is used as an identifier for addressing the application in all API calls
|
|
440
|
+
, e.g., when updating the application.
|
|
441
|
+
|
|
442
|
+
It also defines where the application is reachable (/$cell/$name).
|
|
443
|
+
|
|
444
|
+
It must be a valid k8s label name as defined by [RFC 1035](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#rfc-1035-label-names).
|
|
445
|
+
type: string
|
|
446
|
+
pattern: ^[a-z][a-z0-9-]{0,61}[a-z0-9]$
|
|
447
|
+
minLength: 1
|
|
448
|
+
app_icon:
|
|
449
|
+
description: The path of the icon for the App (/$cell/$name/$app_icon).
|
|
450
|
+
type: string
|
|
451
|
+
minLength: 1
|
|
452
|
+
container_image:
|
|
453
|
+
$ref: '#/components/schemas/ContainerImage'
|
|
454
|
+
port:
|
|
455
|
+
description: The port the containerized webserver is listening on.
|
|
456
|
+
type: integer
|
|
457
|
+
default: 8080
|
|
458
|
+
environment:
|
|
459
|
+
$ref: '#/components/schemas/ContainerEnvironment'
|
|
460
|
+
storage:
|
|
461
|
+
$ref: '#/components/schemas/ContainerStorage'
|
|
462
|
+
resources:
|
|
463
|
+
$ref: '#/components/schemas/ContainerResources'
|
|
464
|
+
health_path:
|
|
465
|
+
description: |
|
|
466
|
+
Defines the URL path suffix used to check the application's health status. The complete health check URL
|
|
467
|
+
is constructed as `/$cell/$name/$health_path`. When the application is working as expected,
|
|
468
|
+
the endpoint returns an HTTP 200 status code.
|
|
469
|
+
|
|
470
|
+
If not specified, the system will default to using the application icon path suffix
|
|
471
|
+
(the value of `app_icon`) as the health check endpoint, resulting in `/$cell/$name/$app_icon`.
|
|
472
|
+
|
|
473
|
+
If the health check fails (no response or non-200 status code), the system will
|
|
474
|
+
automatically restart the application container to restore service.
|
|
475
|
+
type: string
|
|
476
|
+
diagnosis_path:
|
|
477
|
+
description: |
|
|
478
|
+
Defines the URL path suffix used to provide an endpoint for diagnosis data collection.
|
|
479
|
+
The complete diagnosis check URL is constructed as `/$cell/$name/$diagnosis_path`.
|
|
480
|
+
|
|
481
|
+
The endpoint is called when a diagnosis package is requested via the diagnosis API.
|
|
482
|
+
The endpoint needs to return the data within a zip file `application/zip` response.
|
|
483
|
+
type: string
|
|
484
|
+
Cell:
|
|
485
|
+
type: object
|
|
486
|
+
description: |
|
|
487
|
+
To create a robot cell, only a valid name is required.
|
|
488
|
+
Once created, a robot cell provides access to the Wandelbots NOVA foundation services.
|
|
489
|
+
The configuration can be customized, e.g., robot controllers, also within apps.
|
|
490
|
+
required:
|
|
491
|
+
- name
|
|
492
|
+
additionalProperties: {}
|
|
493
|
+
properties:
|
|
494
|
+
name:
|
|
495
|
+
$ref: '#/components/schemas/CellName'
|
|
496
|
+
default: cell
|
|
497
|
+
version:
|
|
498
|
+
description: |
|
|
499
|
+
Wandelbots NOVA version of the cell.
|
|
500
|
+
This version must not exceed the current system version.
|
|
501
|
+
type: string
|
|
502
|
+
description:
|
|
503
|
+
$ref: '#/components/schemas/CellDescription'
|
|
504
|
+
controllers:
|
|
505
|
+
type: array
|
|
506
|
+
items:
|
|
507
|
+
$ref: '#/components/schemas/RobotController'
|
|
508
|
+
apps:
|
|
509
|
+
type: array
|
|
510
|
+
items:
|
|
511
|
+
$ref: '#/components/schemas/App'
|
|
512
|
+
ProgramRunState:
|
|
513
|
+
title: ProgramRunState
|
|
514
|
+
description: The state of a program run.
|
|
515
|
+
type: string
|
|
516
|
+
format: enum
|
|
517
|
+
enum:
|
|
518
|
+
- PREPARING
|
|
519
|
+
- RUNNING
|
|
520
|
+
- COMPLETED
|
|
521
|
+
- FAILED
|
|
522
|
+
- STOPPED
|
|
523
|
+
ProgramStatus:
|
|
524
|
+
title: ProgramStatus
|
|
525
|
+
type: object
|
|
526
|
+
required:
|
|
527
|
+
- app
|
|
528
|
+
- program
|
|
529
|
+
- run
|
|
530
|
+
- state
|
|
531
|
+
- timestamp
|
|
532
|
+
properties:
|
|
533
|
+
app:
|
|
534
|
+
type: string
|
|
535
|
+
description: The app name where the program is hosted.
|
|
536
|
+
program:
|
|
537
|
+
type: string
|
|
538
|
+
description: Unique identifier of the program.
|
|
539
|
+
run:
|
|
540
|
+
type: string
|
|
541
|
+
description: Unique identifier of the program run.
|
|
542
|
+
state:
|
|
543
|
+
$ref: '#/components/schemas/ProgramRunState'
|
|
544
|
+
description: State of the program run.
|
|
545
|
+
error:
|
|
546
|
+
type: string
|
|
547
|
+
description: Error message if the program run failed.
|
|
548
|
+
start_time:
|
|
549
|
+
type: string
|
|
550
|
+
format: date-time
|
|
551
|
+
description: RFC3339 timestamp when the program run started.
|
|
552
|
+
end_time:
|
|
553
|
+
type: string
|
|
554
|
+
format: date-time
|
|
555
|
+
description: RFC3339 timestamp when the program run ended.
|
|
556
|
+
timestamp:
|
|
557
|
+
type: string
|
|
558
|
+
format: date-time
|
|
559
|
+
description: RFC3339 timestamp when the program run ended.
|
|
560
|
+
ServiceGroup:
|
|
561
|
+
type: string
|
|
562
|
+
enum:
|
|
563
|
+
- SystemService
|
|
564
|
+
- CellService
|
|
565
|
+
- RobotController
|
|
566
|
+
- App
|
|
567
|
+
ServiceStatusSeverity:
|
|
568
|
+
type: string
|
|
569
|
+
enum:
|
|
570
|
+
- INFO
|
|
571
|
+
- WARNING
|
|
572
|
+
- ERROR
|
|
573
|
+
ServiceStatusPhase:
|
|
574
|
+
type: string
|
|
575
|
+
enum:
|
|
576
|
+
- Terminating
|
|
577
|
+
- Initialized
|
|
578
|
+
- Running
|
|
579
|
+
- NoReady
|
|
580
|
+
- Completed
|
|
581
|
+
- ContainerCreating
|
|
582
|
+
- PodInitializing
|
|
583
|
+
- Unknown
|
|
584
|
+
- CrashLoopBackOff
|
|
585
|
+
- Error
|
|
586
|
+
- ImagePullBackOff
|
|
587
|
+
- OOMKilled
|
|
588
|
+
- Pending
|
|
589
|
+
- Evicted
|
|
590
|
+
ServiceStatus:
|
|
591
|
+
type: object
|
|
592
|
+
required:
|
|
593
|
+
- service
|
|
594
|
+
- group
|
|
595
|
+
- status
|
|
596
|
+
properties:
|
|
597
|
+
service:
|
|
598
|
+
type: string
|
|
599
|
+
group:
|
|
600
|
+
$ref: '#/components/schemas/ServiceGroup'
|
|
601
|
+
status:
|
|
602
|
+
type: object
|
|
603
|
+
required:
|
|
604
|
+
- severity
|
|
605
|
+
- code
|
|
606
|
+
properties:
|
|
607
|
+
severity:
|
|
608
|
+
$ref: '#/components/schemas/ServiceStatusSeverity'
|
|
609
|
+
code:
|
|
610
|
+
$ref: '#/components/schemas/ServiceStatusPhase'
|
|
611
|
+
reason:
|
|
612
|
+
type: string
|
|
613
|
+
ServiceStatusList:
|
|
614
|
+
type: array
|
|
615
|
+
items:
|
|
616
|
+
$ref: '#/components/schemas/ServiceStatus'
|
|
617
|
+
CellCycleEvent:
|
|
618
|
+
title: CellCycleEvent
|
|
619
|
+
description: |
|
|
620
|
+
Lifecycle event for a cell cycle.
|
|
621
|
+
type: object
|
|
622
|
+
required:
|
|
623
|
+
- event_type
|
|
624
|
+
- id
|
|
625
|
+
- cycle_id
|
|
626
|
+
- timestamp
|
|
627
|
+
- cell
|
|
628
|
+
properties:
|
|
629
|
+
event_type:
|
|
630
|
+
type: string
|
|
631
|
+
description: Type of the cycle event.
|
|
632
|
+
enum:
|
|
633
|
+
- cycle_started
|
|
634
|
+
- cycle_finished
|
|
635
|
+
- cycle_failed
|
|
636
|
+
id:
|
|
637
|
+
type: string
|
|
638
|
+
description: Unique identifier of this cycle event.
|
|
639
|
+
cycle_id:
|
|
640
|
+
type: string
|
|
641
|
+
description: Unique identifier of the cycle this event belongs to.
|
|
642
|
+
timestamp:
|
|
643
|
+
type: string
|
|
644
|
+
description: Timestamp when the cycle event occurred, in ISO 8601 format.
|
|
645
|
+
cell:
|
|
646
|
+
type: string
|
|
647
|
+
description: Unique identifier of the cell the event belongs to.
|
|
648
|
+
extra:
|
|
649
|
+
type: object
|
|
650
|
+
description: Additional event-specific data. May be empty.
|
|
651
|
+
additionalProperties: true
|
|
652
|
+
duration_ms:
|
|
653
|
+
type: integer
|
|
654
|
+
description: Duration of the cycle in milliseconds.
|
|
655
|
+
reason:
|
|
656
|
+
type: string
|
|
657
|
+
description: Reason for cycle failure.
|
|
658
|
+
Sphere:
|
|
659
|
+
title: Sphere
|
|
660
|
+
type: object
|
|
661
|
+
properties:
|
|
662
|
+
shape_type:
|
|
663
|
+
type: string
|
|
664
|
+
enum:
|
|
665
|
+
- sphere
|
|
666
|
+
radius:
|
|
667
|
+
type: number
|
|
668
|
+
format: double
|
|
669
|
+
description: The radius of the sphere in [mm].
|
|
670
|
+
required:
|
|
671
|
+
- shape_type
|
|
672
|
+
- radius
|
|
673
|
+
description: Defines a spherical shape centred around the origin.
|
|
674
|
+
Box:
|
|
675
|
+
title: Box
|
|
676
|
+
type: object
|
|
677
|
+
properties:
|
|
678
|
+
shape_type:
|
|
679
|
+
type: string
|
|
680
|
+
enum:
|
|
681
|
+
- box
|
|
682
|
+
size_x:
|
|
683
|
+
type: number
|
|
684
|
+
format: double
|
|
685
|
+
description: The dimension in x-direction in [mm].
|
|
686
|
+
size_y:
|
|
687
|
+
type: number
|
|
688
|
+
format: double
|
|
689
|
+
description: The dimension in y-direction in [mm].
|
|
690
|
+
size_z:
|
|
691
|
+
type: number
|
|
692
|
+
format: double
|
|
693
|
+
description: The dimension in z-direction in [mm].
|
|
694
|
+
box_type:
|
|
695
|
+
type: string
|
|
696
|
+
enum:
|
|
697
|
+
- HOLLOW
|
|
698
|
+
- FULL
|
|
699
|
+
default: FULL
|
|
700
|
+
description: The box type defines if the box is hollow or full.
|
|
701
|
+
required:
|
|
702
|
+
- shape_type
|
|
703
|
+
- size_x
|
|
704
|
+
- size_y
|
|
705
|
+
- size_z
|
|
706
|
+
- box_type
|
|
707
|
+
description: |
|
|
708
|
+
Defines a cuboid shape centred around an origin.
|
|
709
|
+
|
|
710
|
+
If a margin is applied to the box type full, it is added to all size values. The shape will keep its edges.
|
|
711
|
+
The hollow box type consists of thin boxes that make up its walls.
|
|
712
|
+
If a margin is applied to the box type hollow, its size values are reduced by the margin.
|
|
713
|
+
Rectangle:
|
|
714
|
+
title: Rectangle
|
|
715
|
+
type: object
|
|
716
|
+
properties:
|
|
717
|
+
shape_type:
|
|
718
|
+
type: string
|
|
719
|
+
enum:
|
|
720
|
+
- rectangle
|
|
721
|
+
size_x:
|
|
722
|
+
type: number
|
|
723
|
+
format: double
|
|
724
|
+
description: The dimension in x-direction in [mm].
|
|
725
|
+
size_y:
|
|
726
|
+
type: number
|
|
727
|
+
format: double
|
|
728
|
+
description: The dimension in y-direction in [mm].
|
|
729
|
+
required:
|
|
730
|
+
- shape_type
|
|
731
|
+
- size_x
|
|
732
|
+
- size_y
|
|
733
|
+
description: Defines an x/y-plane with finite size. Centred around the z-axis.
|
|
734
|
+
Plane:
|
|
735
|
+
title: Plane
|
|
736
|
+
type: object
|
|
737
|
+
properties:
|
|
738
|
+
shape_type:
|
|
739
|
+
type: string
|
|
740
|
+
enum:
|
|
741
|
+
- plane
|
|
742
|
+
required:
|
|
743
|
+
- shape_type
|
|
744
|
+
description: Defines an x/y-plane with infinite size.
|
|
745
|
+
Cylinder:
|
|
746
|
+
title: Cylinder
|
|
747
|
+
type: object
|
|
748
|
+
properties:
|
|
749
|
+
shape_type:
|
|
750
|
+
type: string
|
|
751
|
+
enum:
|
|
752
|
+
- cylinder
|
|
753
|
+
radius:
|
|
754
|
+
type: number
|
|
755
|
+
format: double
|
|
756
|
+
description: The radius of the cylinder in [mm].
|
|
757
|
+
height:
|
|
758
|
+
type: number
|
|
759
|
+
format: double
|
|
760
|
+
description: The height of the cylinder in [mm].
|
|
761
|
+
required:
|
|
762
|
+
- shape_type
|
|
763
|
+
- radius
|
|
764
|
+
- height
|
|
765
|
+
description: |
|
|
766
|
+
Defines a cylindrical shape.
|
|
767
|
+
Centred around origin, symmetric around z-axis.
|
|
768
|
+
|
|
769
|
+
If a margin is applied, it is added to radius and height. The shape will keep its edges.
|
|
770
|
+
Capsule:
|
|
771
|
+
title: Capsule
|
|
772
|
+
type: object
|
|
773
|
+
properties:
|
|
774
|
+
shape_type:
|
|
775
|
+
type: string
|
|
776
|
+
enum:
|
|
777
|
+
- capsule
|
|
778
|
+
radius:
|
|
779
|
+
type: number
|
|
780
|
+
format: double
|
|
781
|
+
description: The radius of the cylinder and semi-spheres in [mm].
|
|
782
|
+
cylinder_height:
|
|
783
|
+
type: number
|
|
784
|
+
format: double
|
|
785
|
+
description: The height of the inner cylinder in [mm].
|
|
786
|
+
required:
|
|
787
|
+
- shape_type
|
|
788
|
+
- radius
|
|
789
|
+
- cylinder_height
|
|
790
|
+
description: |
|
|
791
|
+
Defines a cylindrical shape with 2 semi-spheres on the top and bottom.
|
|
792
|
+
Centred around origin, symmetric around z-axis.
|
|
793
|
+
RectangularCapsule:
|
|
794
|
+
title: RectangularCapsule
|
|
795
|
+
type: object
|
|
796
|
+
properties:
|
|
797
|
+
shape_type:
|
|
798
|
+
type: string
|
|
799
|
+
enum:
|
|
800
|
+
- rectangular_capsule
|
|
801
|
+
radius:
|
|
802
|
+
type: number
|
|
803
|
+
format: double
|
|
804
|
+
description: The radius of the inner spheres in [mm].
|
|
805
|
+
sphere_center_distance_x:
|
|
806
|
+
type: number
|
|
807
|
+
format: double
|
|
808
|
+
description: The distance of the sphere center in x-direction in [mm].
|
|
809
|
+
sphere_center_distance_y:
|
|
810
|
+
type: number
|
|
811
|
+
format: double
|
|
812
|
+
description: The distance of the sphere center in y-direction in [mm].
|
|
813
|
+
required:
|
|
814
|
+
- shape_type
|
|
815
|
+
- radius
|
|
816
|
+
- sphere_center_distance_x
|
|
817
|
+
- sphere_center_distance_y
|
|
818
|
+
description: |
|
|
819
|
+
Convex hull around four spheres. Sphere center points in x/y-plane, offset by either combination "+/- sizeX" or "+/- sizeY".
|
|
820
|
+
|
|
821
|
+
Alternative description: Rectangle in x/y-plane with a 3D padding.
|
|
822
|
+
Vector3d:
|
|
823
|
+
title: Vector3d
|
|
824
|
+
type: array
|
|
825
|
+
maxItems: 3
|
|
826
|
+
minItems: 3
|
|
827
|
+
items:
|
|
828
|
+
type: number
|
|
829
|
+
format: double
|
|
830
|
+
description: |
|
|
831
|
+
A three-dimensional vector [x, y, z] with double precision.
|
|
832
|
+
ConvexHull:
|
|
833
|
+
title: ConvexHull
|
|
834
|
+
type: object
|
|
835
|
+
properties:
|
|
836
|
+
shape_type:
|
|
837
|
+
type: string
|
|
838
|
+
enum:
|
|
839
|
+
- convex_hull
|
|
840
|
+
vertices:
|
|
841
|
+
type: array
|
|
842
|
+
items:
|
|
843
|
+
$ref: '#/components/schemas/Vector3d'
|
|
844
|
+
description: The list of encapsulated points.
|
|
845
|
+
required:
|
|
846
|
+
- shape_type
|
|
847
|
+
- vertices
|
|
848
|
+
description: Defines a convex hull encapsulating a set of vertices.
|
|
849
|
+
RotationVector:
|
|
850
|
+
title: RotationVector
|
|
851
|
+
type: array
|
|
852
|
+
maxItems: 3
|
|
853
|
+
minItems: 3
|
|
854
|
+
items:
|
|
855
|
+
type: number
|
|
856
|
+
format: double
|
|
857
|
+
description: |
|
|
858
|
+
Defines a rotation in 3D space.
|
|
859
|
+
A three-dimensional Vector [rx, ry, rz] with double precision.
|
|
860
|
+
Rotation is applied around the vector.
|
|
861
|
+
The angle of rotation equals the length of the vector.
|
|
862
|
+
Pose:
|
|
863
|
+
title: Pose
|
|
864
|
+
type: object
|
|
865
|
+
properties:
|
|
866
|
+
position:
|
|
867
|
+
$ref: '#/components/schemas/Vector3d'
|
|
868
|
+
orientation:
|
|
869
|
+
$ref: '#/components/schemas/RotationVector'
|
|
870
|
+
default:
|
|
871
|
+
position:
|
|
872
|
+
- 0
|
|
873
|
+
- 0
|
|
874
|
+
- 0
|
|
875
|
+
orientation:
|
|
876
|
+
- 0
|
|
877
|
+
- 0
|
|
878
|
+
- 0
|
|
879
|
+
description: |
|
|
880
|
+
Defines a pose in 3D space.
|
|
881
|
+
A pose is a combination of a position and an orientation.
|
|
882
|
+
The position is applied before the orientation.
|
|
883
|
+
Collider:
|
|
884
|
+
title: Collider
|
|
885
|
+
type: object
|
|
886
|
+
description: |
|
|
887
|
+
Defines a collider with a single shape.
|
|
888
|
+
|
|
889
|
+
A collider is an object that is used for collision detection.
|
|
890
|
+
It defines the `shape` that is attached with the offset of `pose` to a reference frame.
|
|
891
|
+
|
|
892
|
+
Use colliders to:
|
|
893
|
+
- Define the shape of a workpiece. The reference frame is the scene origin.
|
|
894
|
+
- Define the shape of a link in a motion group. The reference frame is the link coordinate system.
|
|
895
|
+
- Define the shape of a tool. The reference frame is the flange coordinate system.
|
|
896
|
+
properties:
|
|
897
|
+
shape:
|
|
898
|
+
oneOf:
|
|
899
|
+
- $ref: '#/components/schemas/Sphere'
|
|
900
|
+
- $ref: '#/components/schemas/Box'
|
|
901
|
+
- $ref: '#/components/schemas/Rectangle'
|
|
902
|
+
- $ref: '#/components/schemas/Plane'
|
|
903
|
+
- $ref: '#/components/schemas/Cylinder'
|
|
904
|
+
- $ref: '#/components/schemas/Capsule'
|
|
905
|
+
- $ref: '#/components/schemas/RectangularCapsule'
|
|
906
|
+
- $ref: '#/components/schemas/ConvexHull'
|
|
907
|
+
discriminator: shape_type
|
|
908
|
+
pose:
|
|
909
|
+
$ref: '#/components/schemas/Pose'
|
|
910
|
+
margin:
|
|
911
|
+
type: number
|
|
912
|
+
description: Increases the shape's size in all dimensions. Applied in [mm]. Can be used to keep a safe distance to the shape.
|
|
913
|
+
format: float
|
|
914
|
+
default: 0
|
|
915
|
+
required:
|
|
916
|
+
- shape
|
|
917
|
+
ColliderDictionary:
|
|
918
|
+
type: object
|
|
919
|
+
title: ColliderDictionary
|
|
920
|
+
description: A collection of identifiable colliders.
|
|
921
|
+
additionalProperties:
|
|
922
|
+
$ref: '#/components/schemas/Collider'
|
|
923
|
+
Link:
|
|
924
|
+
type: object
|
|
925
|
+
title: Collision Motion Group Link
|
|
926
|
+
additionalProperties:
|
|
927
|
+
$ref: '#/components/schemas/Collider'
|
|
928
|
+
LinkChain:
|
|
929
|
+
title: Link Chain
|
|
930
|
+
type: array
|
|
931
|
+
description: |
|
|
932
|
+
A link chain is a kinematic chain of links that is connected via joints.
|
|
933
|
+
A motion group can be used to control the motion of the joints in a link chain.
|
|
934
|
+
|
|
935
|
+
A link is a group of colliders that is attached to the link reference frame.
|
|
936
|
+
|
|
937
|
+
The reference frame of a link is obtained after applying all sets of Denavit-Hartenberg-parameters from base to (including) the link index.
|
|
938
|
+
|
|
939
|
+
This means that the reference frame of the link is on the rotation axis of the next joint in the kinematic chain.
|
|
940
|
+
Example: For a motion group with 2 joints, the collider reference frame (CRF) for link 1 is on the rotation axis of joint 2. The chain looks like:
|
|
941
|
+
- Origin >> Mounting >> Base >> (CRF Base) Joint 0 >> Link 0 >> (CRF Link 0) Joint 1 >> Link 1 >> (CRF Link 1) Flange (CRF Tool) >> TCP
|
|
942
|
+
|
|
943
|
+
Adjacent links in the kinematic chain of the motion group are not checked for mutual collision.
|
|
944
|
+
items:
|
|
945
|
+
$ref: '#/components/schemas/Link'
|
|
946
|
+
Tool:
|
|
947
|
+
type: object
|
|
948
|
+
title: Collision Motion Group Tool
|
|
949
|
+
description: |
|
|
950
|
+
Defines the shape of a tool.
|
|
951
|
+
|
|
952
|
+
A tool is a dictionary of colliders.
|
|
953
|
+
|
|
954
|
+
All colliders that make up a tool are attached to the flange frame of the motion group.
|
|
955
|
+
additionalProperties:
|
|
956
|
+
$ref: '#/components/schemas/Collider'
|
|
957
|
+
CollisionSetup:
|
|
958
|
+
title: CollisionSetup
|
|
959
|
+
type: object
|
|
960
|
+
properties:
|
|
961
|
+
colliders:
|
|
962
|
+
$ref: '#/components/schemas/ColliderDictionary'
|
|
963
|
+
description: |
|
|
964
|
+
Colliders are checked against links and tool.
|
|
965
|
+
link_chain:
|
|
966
|
+
$ref: '#/components/schemas/LinkChain'
|
|
967
|
+
description: |
|
|
968
|
+
The shape of the motion groups links to validate against colliders.
|
|
969
|
+
Indexed along the kinematic chain, starting with a static base shape before first joint.
|
|
970
|
+
The base of the motion group is not checked for collision against the environment.
|
|
971
|
+
tool:
|
|
972
|
+
$ref: '#/components/schemas/Tool'
|
|
973
|
+
description: |
|
|
974
|
+
Shape of the tool to validate against colliders.
|
|
975
|
+
self_collision_detection:
|
|
976
|
+
type: boolean
|
|
977
|
+
description: |
|
|
978
|
+
If true, self-collision detection is enabled for the motion group.
|
|
979
|
+
|
|
980
|
+
Self-collision detection checks if links in the kinematic chain of the motion group collide with each other.
|
|
981
|
+
Adjacent links in the kinematic chain of the motion group are not checked for mutual collision.
|
|
982
|
+
The tool is treated like a link at the end of the kinematic chain. It is checked against all links except the last one.
|
|
983
|
+
|
|
984
|
+
Default is true.
|
|
985
|
+
default: true
|
|
986
|
+
BusIOsStateEnum:
|
|
987
|
+
enum:
|
|
988
|
+
- BUS_IOS_STATE_UNKNOWN
|
|
989
|
+
- BUS_IOS_STATE_INITIALIZING
|
|
990
|
+
- BUS_IOS_STATE_CONNECTED
|
|
991
|
+
- BUS_IOS_STATE_DISCONNECTED
|
|
992
|
+
type: string
|
|
993
|
+
format: enum
|
|
994
|
+
description: |
|
|
995
|
+
Current state of the BUS input/output service.
|
|
996
|
+
BusIOsState:
|
|
997
|
+
type: object
|
|
998
|
+
required:
|
|
999
|
+
- state
|
|
1000
|
+
properties:
|
|
1001
|
+
state:
|
|
1002
|
+
$ref: '#/components/schemas/BusIOsStateEnum'
|
|
1003
|
+
message:
|
|
1004
|
+
type: string
|
|
1005
|
+
description: |
|
|
1006
|
+
A message providing additional information on the input/output service, e.g., BUS service status, encountered errors.
|
|
1007
|
+
May be empty if no additional information is available.
|
|
1008
|
+
IOBooleanValue:
|
|
1009
|
+
title: IOBooleanValue
|
|
1010
|
+
required:
|
|
1011
|
+
- io
|
|
1012
|
+
- value
|
|
1013
|
+
- value_type
|
|
1014
|
+
type: object
|
|
1015
|
+
properties:
|
|
1016
|
+
io:
|
|
1017
|
+
type: string
|
|
1018
|
+
description: Unique identifier of the input/output.
|
|
1019
|
+
value:
|
|
1020
|
+
type: boolean
|
|
1021
|
+
description: |
|
|
1022
|
+
Value of a digital input/output.
|
|
1023
|
+
value_type:
|
|
1024
|
+
type: string
|
|
1025
|
+
enum:
|
|
1026
|
+
- boolean
|
|
1027
|
+
x-go-type-skip-optional-pointer: true
|
|
1028
|
+
x-is-discriminator: true
|
|
1029
|
+
description: Input/Output boolean value representation.
|
|
1030
|
+
IOIntegerValue:
|
|
1031
|
+
required:
|
|
1032
|
+
- value_type
|
|
1033
|
+
- io
|
|
1034
|
+
- value
|
|
1035
|
+
type: object
|
|
1036
|
+
properties:
|
|
1037
|
+
io:
|
|
1038
|
+
type: string
|
|
1039
|
+
description: Unique identifier of the input/output.
|
|
1040
|
+
value:
|
|
1041
|
+
type: string
|
|
1042
|
+
description: |
|
|
1043
|
+
Value of an input/output with integer representation.
|
|
1044
|
+
|
|
1045
|
+
> The integral value is transmitted as a string to avoid precision loss during conversion to JSON.
|
|
1046
|
+
> Recommended: Use int64 in your implementation. If you want to interact with int64 in numbers,
|
|
1047
|
+
> JS bigint libraries can help you to parse the string into an integral value.
|
|
1048
|
+
value_type:
|
|
1049
|
+
type: string
|
|
1050
|
+
enum:
|
|
1051
|
+
- integer
|
|
1052
|
+
x-go-type-skip-optional-pointer: true
|
|
1053
|
+
x-is-discriminator: true
|
|
1054
|
+
title: IOIntegerValue
|
|
1055
|
+
IOFloatValue:
|
|
1056
|
+
required:
|
|
1057
|
+
- value_type
|
|
1058
|
+
- io
|
|
1059
|
+
- value
|
|
1060
|
+
type: object
|
|
1061
|
+
properties:
|
|
1062
|
+
io:
|
|
1063
|
+
type: string
|
|
1064
|
+
description: Unique identifier of the input/output.
|
|
1065
|
+
value:
|
|
1066
|
+
type: number
|
|
1067
|
+
description: |
|
|
1068
|
+
Value of an analog input/output in floating number representation.
|
|
1069
|
+
format: double
|
|
1070
|
+
value_type:
|
|
1071
|
+
type: string
|
|
1072
|
+
enum:
|
|
1073
|
+
- float
|
|
1074
|
+
x-go-type-skip-optional-pointer: true
|
|
1075
|
+
x-is-discriminator: true
|
|
1076
|
+
title: IOFloatValue
|
|
1077
|
+
IOValue:
|
|
1078
|
+
oneOf:
|
|
1079
|
+
- $ref: '#/components/schemas/IOBooleanValue'
|
|
1080
|
+
- $ref: '#/components/schemas/IOIntegerValue'
|
|
1081
|
+
- $ref: '#/components/schemas/IOFloatValue'
|
|
1082
|
+
discriminator: value_type
|
|
1083
|
+
ListIOValuesResponse:
|
|
1084
|
+
type: array
|
|
1085
|
+
items:
|
|
1086
|
+
$ref: '#/components/schemas/IOValue'
|
|
1087
|
+
description: Array of input/output values.
|
|
1088
|
+
example:
|
|
1089
|
+
- io: io1
|
|
1090
|
+
value: true
|
|
1091
|
+
value_type: boolean
|
|
1092
|
+
- io: io2
|
|
1093
|
+
value: '42'
|
|
1094
|
+
value_type: integer
|
|
1095
|
+
- io: io3
|
|
1096
|
+
value: 3.14
|
|
1097
|
+
value_type: float
|
|
1098
|
+
Error:
|
|
1099
|
+
type: object
|
|
1100
|
+
required:
|
|
1101
|
+
- message
|
|
1102
|
+
properties:
|
|
1103
|
+
code:
|
|
1104
|
+
type: string
|
|
1105
|
+
message:
|
|
1106
|
+
type: string
|
|
1107
|
+
SelectIOs:
|
|
1108
|
+
type: object
|
|
1109
|
+
required:
|
|
1110
|
+
- ios
|
|
1111
|
+
properties:
|
|
1112
|
+
ios:
|
|
1113
|
+
type: array
|
|
1114
|
+
description: Array of input/output identifiers to retrieve the values for.
|
|
1115
|
+
items:
|
|
1116
|
+
type: string
|
|
1117
|
+
update_type:
|
|
1118
|
+
type: string
|
|
1119
|
+
description: |
|
|
1120
|
+
Type of update.
|
|
1121
|
+
- changes: Only send updates when the value changes.
|
|
1122
|
+
- full: Send the full list of values at the update rate.
|
|
1123
|
+
default: full
|
|
1124
|
+
enum:
|
|
1125
|
+
- changes
|
|
1126
|
+
- full
|
|
1127
|
+
StreamIOValuesResponse:
|
|
1128
|
+
required:
|
|
1129
|
+
- io_values
|
|
1130
|
+
- timestamp
|
|
1131
|
+
- sequence_number
|
|
1132
|
+
type: object
|
|
1133
|
+
properties:
|
|
1134
|
+
io_values:
|
|
1135
|
+
type: array
|
|
1136
|
+
items:
|
|
1137
|
+
$ref: '#/components/schemas/IOValue'
|
|
1138
|
+
timestamp:
|
|
1139
|
+
type: string
|
|
1140
|
+
format: date-time
|
|
1141
|
+
description: Timestamp indicating when the represented information was received from the robot controller.
|
|
1142
|
+
sequence_number:
|
|
1143
|
+
type: integer
|
|
1144
|
+
format: int64
|
|
1145
|
+
minimum: 0
|
|
1146
|
+
maximum: 4294967295
|
|
1147
|
+
description: |
|
|
1148
|
+
Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
|
|
1149
|
+
The sequence number is reset when the connection to the physical controller is closed and re-established.
|
|
1150
|
+
description: Array of input/output values.
|
|
1151
|
+
example:
|
|
1152
|
+
io_values:
|
|
1153
|
+
- io: io1
|
|
1154
|
+
value: true
|
|
1155
|
+
value_type: boolean
|
|
1156
|
+
- io: io2
|
|
1157
|
+
value: '42'
|
|
1158
|
+
value_type: integer
|
|
1159
|
+
- io: io3
|
|
1160
|
+
value: 3.14
|
|
1161
|
+
value_type: float
|
|
1162
|
+
RobotSystemMode:
|
|
1163
|
+
enum:
|
|
1164
|
+
- MODE_CONTROLLER_NOT_CONFIGURED
|
|
1165
|
+
- MODE_INITIALIZING
|
|
1166
|
+
- MODE_MONITOR
|
|
1167
|
+
- MODE_CONTROL
|
|
1168
|
+
- MODE_FREE_DRIVE
|
|
1169
|
+
type: string
|
|
1170
|
+
description: |
|
|
1171
|
+
Defines the current system mode of the robot system, including NOVA communicating with the robot controller.
|
|
1172
|
+
|
|
1173
|
+
### MODE_CONTROLLER_NOT_CONFIGURED
|
|
1174
|
+
|
|
1175
|
+
No controller with the specified identifier is configured. Call [addRobotController](#/operations/addRobotController) to register a controller.
|
|
1176
|
+
|
|
1177
|
+
### MODE_INITIALIZING
|
|
1178
|
+
|
|
1179
|
+
Indicates that a connection to the robot controller is established or reestablished in case of a disconnect.
|
|
1180
|
+
On success, the controller is set to MODE_MONITOR.
|
|
1181
|
+
On failure, the initialization process is retried until successful or cancelled by the user.
|
|
1182
|
+
|
|
1183
|
+
### MODE_MONITOR
|
|
1184
|
+
|
|
1185
|
+
Read-only mode with an active controller connection.
|
|
1186
|
+
- Receives robot state and I/O signals
|
|
1187
|
+
- Move requests are rejected
|
|
1188
|
+
- No commands are sent to the controller
|
|
1189
|
+
|
|
1190
|
+
### MODE_CONTROL
|
|
1191
|
+
|
|
1192
|
+
Active control mode.
|
|
1193
|
+
|
|
1194
|
+
**Movement is possible in this mode**
|
|
1195
|
+
|
|
1196
|
+
The robot is cyclically commanded to hold its current position.
|
|
1197
|
+
The robot state is received in sync with the controller cycle.
|
|
1198
|
+
Motion and jogging requests are accepted and executed.
|
|
1199
|
+
Input/Output interaction is enabled.
|
|
1200
|
+
|
|
1201
|
+
### MODE_FREE_DRIVE
|
|
1202
|
+
|
|
1203
|
+
Read-only mode with servo motors enabled for manual movement (Free Drive).
|
|
1204
|
+
|
|
1205
|
+
Move requests are rejected.
|
|
1206
|
+
|
|
1207
|
+
Not supported by all robots: Use [getSupportedModes](#/operations/getSupportedModes) to check Free Drive availability.
|
|
1208
|
+
format: enum
|
|
1209
|
+
OperationMode:
|
|
1210
|
+
enum:
|
|
1211
|
+
- OPERATION_MODE_UNKNOWN
|
|
1212
|
+
- OPERATION_MODE_NO_CONTROLLER
|
|
1213
|
+
- OPERATION_MODE_DISCONNECTED
|
|
1214
|
+
- OPERATION_MODE_POWER_ON
|
|
1215
|
+
- OPERATION_MODE_PENDING
|
|
1216
|
+
- OPERATION_MODE_MANUAL
|
|
1217
|
+
- OPERATION_MODE_MANUAL_T1
|
|
1218
|
+
- OPERATION_MODE_MANUAL_T2
|
|
1219
|
+
- OPERATION_MODE_AUTO
|
|
1220
|
+
- OPERATION_MODE_RECOVERY
|
|
1221
|
+
type: string
|
|
1222
|
+
format: enum
|
|
1223
|
+
description: |
|
|
1224
|
+
Current operation mode of the configured robot controller.
|
|
1225
|
+
Operation modes in which the attached motion groups can be moved are:
|
|
1226
|
+
- OPERATION_MODE_MANUAL (if enabling switch is pressed)
|
|
1227
|
+
- OPERATION_MODE_MANUAL_T1 (if enabling switch is pressed)
|
|
1228
|
+
- OPERATION_MODE_MANUAL_T2 (if enabling switch is pressed)
|
|
1229
|
+
- OPERATION_MODE_AUTO (without needing to press enabling switch)
|
|
1230
|
+
All other modes are considered as non-operational.
|
|
1231
|
+
SafetyStateType:
|
|
1232
|
+
enum:
|
|
1233
|
+
- SAFETY_STATE_UNKNOWN
|
|
1234
|
+
- SAFETY_STATE_FAULT
|
|
1235
|
+
- SAFETY_STATE_NORMAL
|
|
1236
|
+
- SAFETY_STATE_MASTERING
|
|
1237
|
+
- SAFETY_STATE_CONFIRM_SAFETY
|
|
1238
|
+
- SAFETY_STATE_OPERATOR_SAFETY
|
|
1239
|
+
- SAFETY_STATE_PROTECTIVE_STOP
|
|
1240
|
+
- SAFETY_STATE_REDUCED
|
|
1241
|
+
- SAFETY_STATE_STOP
|
|
1242
|
+
- SAFETY_STATE_STOP_0
|
|
1243
|
+
- SAFETY_STATE_STOP_1
|
|
1244
|
+
- SAFETY_STATE_STOP_2
|
|
1245
|
+
- SAFETY_STATE_RECOVERY
|
|
1246
|
+
- SAFETY_STATE_DEVICE_EMERGENCY_STOP
|
|
1247
|
+
- SAFETY_STATE_ROBOT_EMERGENCY_STOP
|
|
1248
|
+
- SAFETY_STATE_VIOLATION
|
|
1249
|
+
type: string
|
|
1250
|
+
format: enum
|
|
1251
|
+
description: |
|
|
1252
|
+
Current safety state of the configured robot controller.
|
|
1253
|
+
Operation modes in which the attached motion groups can be moved are:
|
|
1254
|
+
- SAFETY_STATE_NORMAL
|
|
1255
|
+
- SAFETY_STATE_REDUCED
|
|
1256
|
+
All other modes are considered as non-operational.
|
|
1257
|
+
Joints:
|
|
1258
|
+
type: array
|
|
1259
|
+
items:
|
|
1260
|
+
type: number
|
|
1261
|
+
format: double
|
|
1262
|
+
description: |
|
|
1263
|
+
This structure describes a set of joint values, e.g., positions, currents, torques, of a motion group.
|
|
1264
|
+
|
|
1265
|
+
Float precision is the default.
|
|
1266
|
+
MotionGroupState_JointLimitReached:
|
|
1267
|
+
type: object
|
|
1268
|
+
required:
|
|
1269
|
+
- limit_reached
|
|
1270
|
+
properties:
|
|
1271
|
+
limit_reached:
|
|
1272
|
+
type: array
|
|
1273
|
+
items:
|
|
1274
|
+
type: boolean
|
|
1275
|
+
description: If true, operational (soft) jointLimit is reached for specific joint.
|
|
1276
|
+
description: |
|
|
1277
|
+
Indicates which joint of the motion group is in a limit.
|
|
1278
|
+
If a joint is in its limit, only this joint can be moved. Movements that affect any other joints are not executed.
|
|
1279
|
+
JoggingRunning:
|
|
1280
|
+
title: JoggingRunning
|
|
1281
|
+
type: object
|
|
1282
|
+
required:
|
|
1283
|
+
- kind
|
|
1284
|
+
properties:
|
|
1285
|
+
kind:
|
|
1286
|
+
type: string
|
|
1287
|
+
enum:
|
|
1288
|
+
- RUNNING
|
|
1289
|
+
description: |
|
|
1290
|
+
Jogging is active.
|
|
1291
|
+
JoggingPausedByUser:
|
|
1292
|
+
title: JoggingPausedByUser
|
|
1293
|
+
type: object
|
|
1294
|
+
required:
|
|
1295
|
+
- kind
|
|
1296
|
+
properties:
|
|
1297
|
+
kind:
|
|
1298
|
+
type: string
|
|
1299
|
+
enum:
|
|
1300
|
+
- PAUSED_BY_USER
|
|
1301
|
+
description: |
|
|
1302
|
+
User has paused jogging.
|
|
1303
|
+
JoggingPausedOnIO:
|
|
1304
|
+
title: JoggingPausedOnIO
|
|
1305
|
+
type: object
|
|
1306
|
+
required:
|
|
1307
|
+
- kind
|
|
1308
|
+
properties:
|
|
1309
|
+
kind:
|
|
1310
|
+
type: string
|
|
1311
|
+
enum:
|
|
1312
|
+
- PAUSED_ON_IO
|
|
1313
|
+
description: |
|
|
1314
|
+
Jogging was paused because of an I/O event.
|
|
1315
|
+
JoggingPausedNearJointLimit:
|
|
1316
|
+
title: JoggingPausedNearJointLimit
|
|
1317
|
+
type: object
|
|
1318
|
+
required:
|
|
1319
|
+
- kind
|
|
1320
|
+
- joint_indices
|
|
1321
|
+
properties:
|
|
1322
|
+
kind:
|
|
1323
|
+
type: string
|
|
1324
|
+
enum:
|
|
1325
|
+
- PAUSED_NEAR_JOINT_LIMIT
|
|
1326
|
+
joint_indices:
|
|
1327
|
+
type: array
|
|
1328
|
+
items:
|
|
1329
|
+
type: integer
|
|
1330
|
+
format: int32
|
|
1331
|
+
minimum: 0
|
|
1332
|
+
maximum: 2147483647
|
|
1333
|
+
description: |
|
|
1334
|
+
Jogging was paused because a joint is near its limit.
|
|
1335
|
+
JoggingPausedNearCollision:
|
|
1336
|
+
title: JoggingPausedNearCollision
|
|
1337
|
+
type: object
|
|
1338
|
+
required:
|
|
1339
|
+
- kind
|
|
1340
|
+
- description
|
|
1341
|
+
properties:
|
|
1342
|
+
kind:
|
|
1343
|
+
type: string
|
|
1344
|
+
enum:
|
|
1345
|
+
- PAUSED_NEAR_COLLISION
|
|
1346
|
+
description:
|
|
1347
|
+
type: string
|
|
1348
|
+
description: |
|
|
1349
|
+
Jogging was paused because the motion group neared a collision.
|
|
1350
|
+
JoggingPausedNearSingularity:
|
|
1351
|
+
title: JoggingPausedNearSingularity
|
|
1352
|
+
type: object
|
|
1353
|
+
required:
|
|
1354
|
+
- kind
|
|
1355
|
+
- description
|
|
1356
|
+
properties:
|
|
1357
|
+
kind:
|
|
1358
|
+
type: string
|
|
1359
|
+
enum:
|
|
1360
|
+
- PAUSED_NEAR_SINGULARITY
|
|
1361
|
+
description:
|
|
1362
|
+
type: string
|
|
1363
|
+
description: |
|
|
1364
|
+
Jogging was paused because the motion group neared a singularity or the workspace boundary.
|
|
1365
|
+
JoggingDetails:
|
|
1366
|
+
title: JoggingDetails
|
|
1367
|
+
type: object
|
|
1368
|
+
required:
|
|
1369
|
+
- state
|
|
1370
|
+
- kind
|
|
1371
|
+
properties:
|
|
1372
|
+
state:
|
|
1373
|
+
oneOf:
|
|
1374
|
+
- $ref: '#/components/schemas/JoggingRunning'
|
|
1375
|
+
- $ref: '#/components/schemas/JoggingPausedByUser'
|
|
1376
|
+
- $ref: '#/components/schemas/JoggingPausedOnIO'
|
|
1377
|
+
- $ref: '#/components/schemas/JoggingPausedNearJointLimit'
|
|
1378
|
+
- $ref: '#/components/schemas/JoggingPausedNearCollision'
|
|
1379
|
+
- $ref: '#/components/schemas/JoggingPausedNearSingularity'
|
|
1380
|
+
discriminator: kind
|
|
1381
|
+
jogger_session_timestamp_ms:
|
|
1382
|
+
type: integer
|
|
1383
|
+
format: int64
|
|
1384
|
+
minimum: 0
|
|
1385
|
+
maximum: 9223372036854776000
|
|
1386
|
+
description: |
|
|
1387
|
+
Timestamp of the current jogger session in milliseconds.
|
|
1388
|
+
Only waypoint sessions are supported. Other sessions return 0.
|
|
1389
|
+
|
|
1390
|
+
> **NOTE**
|
|
1391
|
+
>
|
|
1392
|
+
> This field is experimental and its behavior may change in future releases.
|
|
1393
|
+
kind:
|
|
1394
|
+
type: string
|
|
1395
|
+
enum:
|
|
1396
|
+
- JOGGING
|
|
1397
|
+
description: |
|
|
1398
|
+
State of jogging execution.
|
|
1399
|
+
This state is sent during jogging movement, response-rate closest to the nearest multiple of controller step-rate but not exceeding the configured rate.
|
|
1400
|
+
The jogging state can be one of the following:
|
|
1401
|
+
- RUNNING: Jogging is active.
|
|
1402
|
+
- PAUSED_BY_USER: User has paused jogging.
|
|
1403
|
+
- PAUSED_NEAR_JOINT_LIMIT: Jogging was paused because a joint is near its limit.
|
|
1404
|
+
- PAUSED_NEAR_COLLISION: Jogging was paused because the motion group neared a collision.
|
|
1405
|
+
- PAUSED_NEAR_SINGULARITY: Jogging was paused because the motion group neared a singularity or the workspace boundary.
|
|
1406
|
+
- PAUSED_ON_IO: Jogging was paused because of an I/O event.
|
|
1407
|
+
Location:
|
|
1408
|
+
type: number
|
|
1409
|
+
format: double
|
|
1410
|
+
description: |
|
|
1411
|
+
- The location is a scalar value that defines a position along a path, typically ranging from 0 to `n`,
|
|
1412
|
+
where `n` denotes the number of motion commands
|
|
1413
|
+
- Each integer value of the location corresponds to a specific motion command,
|
|
1414
|
+
while non-integer values interpolate positions within the segments.
|
|
1415
|
+
- The location is calculated from the joint path
|
|
1416
|
+
TrajectoryRunning:
|
|
1417
|
+
title: TrajectoryRunning
|
|
1418
|
+
type: object
|
|
1419
|
+
required:
|
|
1420
|
+
- kind
|
|
1421
|
+
- time_to_end
|
|
1422
|
+
properties:
|
|
1423
|
+
kind:
|
|
1424
|
+
type: string
|
|
1425
|
+
enum:
|
|
1426
|
+
- RUNNING
|
|
1427
|
+
time_to_end:
|
|
1428
|
+
type: integer
|
|
1429
|
+
description: Remaining time in milliseconds (ms) to reach the end of the motion.
|
|
1430
|
+
format: int64
|
|
1431
|
+
minimum: 0
|
|
1432
|
+
maximum: 4294967295
|
|
1433
|
+
description: |
|
|
1434
|
+
Trajectory is being executed.
|
|
1435
|
+
TrajectoryPausedByUser:
|
|
1436
|
+
title: TrajectoryPausedByUser
|
|
1437
|
+
type: object
|
|
1438
|
+
required:
|
|
1439
|
+
- kind
|
|
1440
|
+
properties:
|
|
1441
|
+
kind:
|
|
1442
|
+
type: string
|
|
1443
|
+
enum:
|
|
1444
|
+
- PAUSED_BY_USER
|
|
1445
|
+
description: |
|
|
1446
|
+
User has paused execution.
|
|
1447
|
+
TrajectoryEnded:
|
|
1448
|
+
title: TrajectoryEnded
|
|
1449
|
+
type: object
|
|
1450
|
+
required:
|
|
1451
|
+
- kind
|
|
1452
|
+
properties:
|
|
1453
|
+
kind:
|
|
1454
|
+
type: string
|
|
1455
|
+
enum:
|
|
1456
|
+
- END_OF_TRAJECTORY
|
|
1457
|
+
description: |
|
|
1458
|
+
First or last sample (depending on direction) of trajectory has been sent.
|
|
1459
|
+
TrajectoryWaitForIO:
|
|
1460
|
+
title: TrajectoryWaitForIO
|
|
1461
|
+
type: object
|
|
1462
|
+
required:
|
|
1463
|
+
- kind
|
|
1464
|
+
properties:
|
|
1465
|
+
kind:
|
|
1466
|
+
type: string
|
|
1467
|
+
enum:
|
|
1468
|
+
- WAIT_FOR_IO
|
|
1469
|
+
description: |
|
|
1470
|
+
Waiting for an I/O event to start execution.
|
|
1471
|
+
TrajectoryPausedOnIO:
|
|
1472
|
+
title: TrajectoryPausedOnIO
|
|
1473
|
+
type: object
|
|
1474
|
+
required:
|
|
1475
|
+
- kind
|
|
1476
|
+
properties:
|
|
1477
|
+
kind:
|
|
1478
|
+
type: string
|
|
1479
|
+
enum:
|
|
1480
|
+
- PAUSED_ON_IO
|
|
1481
|
+
description: |
|
|
1482
|
+
Execution was paused because of an I/O event.
|
|
1483
|
+
TrajectoryDetails:
|
|
1484
|
+
title: TrajectoryDetails
|
|
1485
|
+
type: object
|
|
1486
|
+
required:
|
|
1487
|
+
- trajectory
|
|
1488
|
+
- location
|
|
1489
|
+
- state
|
|
1490
|
+
- kind
|
|
1491
|
+
properties:
|
|
1492
|
+
trajectory:
|
|
1493
|
+
type: string
|
|
1494
|
+
description: |
|
|
1495
|
+
Unique identifier of the trajectory being executed.
|
|
1496
|
+
location:
|
|
1497
|
+
$ref: '#/components/schemas/Location'
|
|
1498
|
+
description: |
|
|
1499
|
+
Location of current joint position commmand on the trajectory being executed.
|
|
1500
|
+
state:
|
|
1501
|
+
oneOf:
|
|
1502
|
+
- $ref: '#/components/schemas/TrajectoryRunning'
|
|
1503
|
+
- $ref: '#/components/schemas/TrajectoryPausedByUser'
|
|
1504
|
+
- $ref: '#/components/schemas/TrajectoryEnded'
|
|
1505
|
+
- $ref: '#/components/schemas/TrajectoryWaitForIO'
|
|
1506
|
+
- $ref: '#/components/schemas/TrajectoryPausedOnIO'
|
|
1507
|
+
discriminator: kind
|
|
1508
|
+
kind:
|
|
1509
|
+
type: string
|
|
1510
|
+
enum:
|
|
1511
|
+
- TRAJECTORY
|
|
1512
|
+
description: |
|
|
1513
|
+
Discriminator for OpenApi generators, which is always "TRAJECTORY" for this schema.
|
|
1514
|
+
description: |
|
|
1515
|
+
State of trajectory execution.
|
|
1516
|
+
This state is sent during trajectory movement, response-rate closest to the nearest multiple of controller step-rate but not exceeding the configured rate.
|
|
1517
|
+
The trajectory state can be one of the following:
|
|
1518
|
+
- RUNNING: Trajectory is being executed.
|
|
1519
|
+
- PAUSED_BY_USER: User has paused execution.
|
|
1520
|
+
- END_OF_TRAJECTORY: First or last sample (depending on direction) of trajectory has been sent.
|
|
1521
|
+
- WAIT_FOR_IO: Waiting for an I/O event to start execution.
|
|
1522
|
+
- PAUSED_ON_IO: Execution was paused because of an I/O event.
|
|
1523
|
+
Execute:
|
|
1524
|
+
title: Execute
|
|
1525
|
+
type: object
|
|
1526
|
+
required:
|
|
1527
|
+
- joint_position
|
|
1528
|
+
properties:
|
|
1529
|
+
joint_position:
|
|
1530
|
+
type: array
|
|
1531
|
+
items:
|
|
1532
|
+
type: number
|
|
1533
|
+
format: double
|
|
1534
|
+
description: |
|
|
1535
|
+
Commanded joint position of each joint. This command was sent in the time step the corresponding state was received.
|
|
1536
|
+
The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
|
|
1537
|
+
details:
|
|
1538
|
+
oneOf:
|
|
1539
|
+
- $ref: '#/components/schemas/JoggingDetails'
|
|
1540
|
+
- $ref: '#/components/schemas/TrajectoryDetails'
|
|
1541
|
+
discriminator: kind
|
|
1542
|
+
description: |
|
|
1543
|
+
Details about the state of the motion execution.
|
|
1544
|
+
The details are either for a jogging or a trajectory.
|
|
1545
|
+
If NOVA is not controlling this motion group at the moment, this field is omitted.
|
|
1546
|
+
MotionGroupState:
|
|
1547
|
+
required:
|
|
1548
|
+
- timestamp
|
|
1549
|
+
- sequence_number
|
|
1550
|
+
- motion_group
|
|
1551
|
+
- controller
|
|
1552
|
+
- joint_position
|
|
1553
|
+
- joint_limit_reached
|
|
1554
|
+
- standstill
|
|
1555
|
+
- description_revision
|
|
1556
|
+
type: object
|
|
1557
|
+
properties:
|
|
1558
|
+
timestamp:
|
|
1559
|
+
type: string
|
|
1560
|
+
format: date-time
|
|
1561
|
+
description: Timestamp for when data was received from the robot controller.
|
|
1562
|
+
sequence_number:
|
|
1563
|
+
type: integer
|
|
1564
|
+
format: int64
|
|
1565
|
+
minimum: 0
|
|
1566
|
+
maximum: 4294967295
|
|
1567
|
+
description: |
|
|
1568
|
+
Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
|
|
1569
|
+
The sequence number is reset when the connection to the physical controller is closed and re-established.
|
|
1570
|
+
motion_group:
|
|
1571
|
+
type: string
|
|
1572
|
+
description: Identifier of the motion group.
|
|
1573
|
+
controller:
|
|
1574
|
+
type: string
|
|
1575
|
+
description: 'Convenience: Identifier of the robot controller the motion group is attached to.'
|
|
1576
|
+
joint_position:
|
|
1577
|
+
$ref: '#/components/schemas/Joints'
|
|
1578
|
+
description: |
|
|
1579
|
+
Current joint position of each joint.
|
|
1580
|
+
The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
|
|
1581
|
+
joint_limit_reached:
|
|
1582
|
+
$ref: '#/components/schemas/MotionGroupState_JointLimitReached'
|
|
1583
|
+
description: |
|
|
1584
|
+
Indicates whether the joint is in a limit for all joints of the motion group.
|
|
1585
|
+
joint_torque:
|
|
1586
|
+
$ref: '#/components/schemas/Joints'
|
|
1587
|
+
description: |
|
|
1588
|
+
Current joint torque of each joint in [Nm].
|
|
1589
|
+
Is only available if the robot controller supports it, e.g., available for UR controllers.
|
|
1590
|
+
joint_current:
|
|
1591
|
+
$ref: '#/components/schemas/Joints'
|
|
1592
|
+
description: |
|
|
1593
|
+
Current at TCP in [A].
|
|
1594
|
+
Is only available if the robot controller supports it, e.g., available for UR controllers.
|
|
1595
|
+
flange_pose:
|
|
1596
|
+
$ref: '#/components/schemas/Pose'
|
|
1597
|
+
description: |
|
|
1598
|
+
Pose of the flange.
|
|
1599
|
+
Positions are in [mm].
|
|
1600
|
+
Orientations are in [rad].
|
|
1601
|
+
The pose is relative to the response_coordinate_system specified in the request.
|
|
1602
|
+
For robot arms, a flange pose is always returned. For positioners, the flange might not be available, depending on the model.
|
|
1603
|
+
tcp:
|
|
1604
|
+
type: string
|
|
1605
|
+
description: |
|
|
1606
|
+
Unique identifier addressing the active TCP.
|
|
1607
|
+
Might not be returned for positioners as some do not support TCPs, depending on the model.
|
|
1608
|
+
tcp_pose:
|
|
1609
|
+
$ref: '#/components/schemas/Pose'
|
|
1610
|
+
description: |
|
|
1611
|
+
Pose of the TCP selected on the robot control panel.
|
|
1612
|
+
Positions are in [mm].
|
|
1613
|
+
Orientations are in [rad].
|
|
1614
|
+
The pose is relative to the response_coordinate_system specified in the request.
|
|
1615
|
+
Might not be returned for positioners as some do not support TCPs, depending on the model.
|
|
1616
|
+
coordinate_system:
|
|
1617
|
+
type: string
|
|
1618
|
+
description: |
|
|
1619
|
+
Unique identifier addressing the reference coordinate system of the cartesian data.
|
|
1620
|
+
Might not be returned for positioners as some do not support TCPs, depending on the model.
|
|
1621
|
+
Default: world coordinate system of corresponding controller.
|
|
1622
|
+
payload:
|
|
1623
|
+
type: string
|
|
1624
|
+
description: |
|
|
1625
|
+
Unique identifier addressing the active payload.
|
|
1626
|
+
Only fetchable via GET endpoint, not available in WebSocket.
|
|
1627
|
+
standstill:
|
|
1628
|
+
type: boolean
|
|
1629
|
+
description: |
|
|
1630
|
+
Indicates whether the motion group is in standstill.
|
|
1631
|
+
Convenience: Signals that NOVA treats measured joint velocities as 0.
|
|
1632
|
+
execute:
|
|
1633
|
+
$ref: '#/components/schemas/Execute'
|
|
1634
|
+
description: |
|
|
1635
|
+
Data that was commanded to the motion group. Includes additional data on NOVA's execution components for executing trajectories and jogging.
|
|
1636
|
+
This is a convenience field to indicate the last command sent to the motion group.
|
|
1637
|
+
It is not available in all cases, e.g., if the motion group is not moved by NOVA.
|
|
1638
|
+
description_revision:
|
|
1639
|
+
type: integer
|
|
1640
|
+
format: int32
|
|
1641
|
+
minimum: 0
|
|
1642
|
+
maximum: 2147483647
|
|
1643
|
+
description: |
|
|
1644
|
+
Revision number of the motion group description.
|
|
1645
|
+
The revision is incremented whenever the motion group description changes due to a modification of the tools or the payloads in the robot configuration.
|
|
1646
|
+
The robot controller is polled every 10 s during Monitoring Mode to detect those changes.
|
|
1647
|
+
Use to trigger fetching based on robot configuration changes.
|
|
1648
|
+
description: Presents the current state of the motion group.
|
|
1649
|
+
RobotControllerState:
|
|
1650
|
+
required:
|
|
1651
|
+
- mode
|
|
1652
|
+
- timestamp
|
|
1653
|
+
- sequence_number
|
|
1654
|
+
- controller
|
|
1655
|
+
- operation_mode
|
|
1656
|
+
- safety_state
|
|
1657
|
+
- motion_groups
|
|
1658
|
+
type: object
|
|
1659
|
+
properties:
|
|
1660
|
+
mode:
|
|
1661
|
+
$ref: '#/components/schemas/RobotSystemMode'
|
|
1662
|
+
description: Mode of communication and control between NOVA and the robot controller.
|
|
1663
|
+
last_error:
|
|
1664
|
+
type: array
|
|
1665
|
+
items:
|
|
1666
|
+
type: string
|
|
1667
|
+
description: |
|
|
1668
|
+
Last error stack encountered during initialization process or after a controller disconnect.
|
|
1669
|
+
At this stage, it's unclear whether the error is fatal.
|
|
1670
|
+
|
|
1671
|
+
Evaluate `last_error` to decide whether to remove the controller using `deleteController`.
|
|
1672
|
+
Examples:
|
|
1673
|
+
- Delete required: Host resolution fails repeatedly due to an incorrect IP.
|
|
1674
|
+
- Delete not required: Temporary network delay caused a disconnect; the system will auto-reconnect.
|
|
1675
|
+
timestamp:
|
|
1676
|
+
type: string
|
|
1677
|
+
format: date-time
|
|
1678
|
+
description: Timestamp indicating when the represented information was received from the robot controller.
|
|
1679
|
+
sequence_number:
|
|
1680
|
+
type: integer
|
|
1681
|
+
format: int64
|
|
1682
|
+
minimum: 0
|
|
1683
|
+
maximum: 4294967295
|
|
1684
|
+
description: |
|
|
1685
|
+
Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
|
|
1686
|
+
The sequence number is reset when the connection to the physical controller is closed and re-established.
|
|
1687
|
+
controller:
|
|
1688
|
+
type: string
|
|
1689
|
+
default: controller
|
|
1690
|
+
description: Identifier of the configured robot controller.
|
|
1691
|
+
operation_mode:
|
|
1692
|
+
$ref: '#/components/schemas/OperationMode'
|
|
1693
|
+
safety_state:
|
|
1694
|
+
$ref: '#/components/schemas/SafetyStateType'
|
|
1695
|
+
velocity_override:
|
|
1696
|
+
type: integer
|
|
1697
|
+
description: |
|
|
1698
|
+
If made available by the robot controller, returns the current velocity override in
|
|
1699
|
+
[percentage] for movements adjusted on robot control panel.
|
|
1700
|
+
Valid value range: 1 - 100.
|
|
1701
|
+
format: int32
|
|
1702
|
+
minimum: 1
|
|
1703
|
+
maximum: 100
|
|
1704
|
+
motion_groups:
|
|
1705
|
+
title: MotionGroupState[]
|
|
1706
|
+
type: array
|
|
1707
|
+
items:
|
|
1708
|
+
$ref: '#/components/schemas/MotionGroupState'
|
|
1709
|
+
description: |
|
|
1710
|
+
State of indicated motion groups.
|
|
1711
|
+
In case of state request via controller all configured motion groups are returned.
|
|
1712
|
+
In case of executing a motion only the affected motion groups are returned.
|
|
1713
|
+
description: Returns the whole current state of robot controller.
|
|
1714
|
+
TcpOffset:
|
|
1715
|
+
title: TcpOffset
|
|
1716
|
+
required:
|
|
1717
|
+
- name
|
|
1718
|
+
- pose
|
|
1719
|
+
type: object
|
|
1720
|
+
properties:
|
|
1721
|
+
name:
|
|
1722
|
+
type: string
|
|
1723
|
+
description: A readable and changeable name for frontend visualization.
|
|
1724
|
+
pose:
|
|
1725
|
+
$ref: '#/components/schemas/Pose'
|
|
1726
|
+
LimitRange:
|
|
1727
|
+
type: object
|
|
1728
|
+
properties:
|
|
1729
|
+
lower_limit:
|
|
1730
|
+
type: number
|
|
1731
|
+
format: double
|
|
1732
|
+
upper_limit:
|
|
1733
|
+
type: number
|
|
1734
|
+
format: double
|
|
1735
|
+
description: The upper_limit must be greater then the lower_limit.
|
|
1736
|
+
JointLimits:
|
|
1737
|
+
title: JointLimits
|
|
1738
|
+
type: object
|
|
1739
|
+
properties:
|
|
1740
|
+
position:
|
|
1741
|
+
$ref: '#/components/schemas/LimitRange'
|
|
1742
|
+
velocity:
|
|
1743
|
+
type: number
|
|
1744
|
+
format: double
|
|
1745
|
+
acceleration:
|
|
1746
|
+
type: number
|
|
1747
|
+
format: double
|
|
1748
|
+
jerk:
|
|
1749
|
+
type: number
|
|
1750
|
+
format: double
|
|
1751
|
+
description: |
|
|
1752
|
+
> **NOTE**
|
|
1753
|
+
>
|
|
1754
|
+
> This limit type is experimental and its behavior may change in future releases.
|
|
1755
|
+
torque:
|
|
1756
|
+
type: number
|
|
1757
|
+
format: double
|
|
1758
|
+
CartesianLimits:
|
|
1759
|
+
title: CartesianLimits
|
|
1760
|
+
type: object
|
|
1761
|
+
properties:
|
|
1762
|
+
velocity:
|
|
1763
|
+
type: number
|
|
1764
|
+
format: double
|
|
1765
|
+
acceleration:
|
|
1766
|
+
type: number
|
|
1767
|
+
format: double
|
|
1768
|
+
jerk:
|
|
1769
|
+
type: number
|
|
1770
|
+
format: double
|
|
1771
|
+
description: |
|
|
1772
|
+
> **NOTE**
|
|
1773
|
+
>
|
|
1774
|
+
> This limit type is experimental and its behavior may change in future releases.
|
|
1775
|
+
orientation_velocity:
|
|
1776
|
+
type: number
|
|
1777
|
+
format: double
|
|
1778
|
+
orientation_acceleration:
|
|
1779
|
+
type: number
|
|
1780
|
+
format: double
|
|
1781
|
+
orientation_jerk:
|
|
1782
|
+
type: number
|
|
1783
|
+
format: double
|
|
1784
|
+
description: |
|
|
1785
|
+
> **NOTE**
|
|
1786
|
+
>
|
|
1787
|
+
> This limit type is experimental and its behavior may change in future releases.
|
|
1788
|
+
LimitSet:
|
|
1789
|
+
title: LimitSet
|
|
1790
|
+
type: object
|
|
1791
|
+
properties:
|
|
1792
|
+
joints:
|
|
1793
|
+
type: array
|
|
1794
|
+
items:
|
|
1795
|
+
$ref: '#/components/schemas/JointLimits'
|
|
1796
|
+
tcp:
|
|
1797
|
+
$ref: '#/components/schemas/CartesianLimits'
|
|
1798
|
+
elbow:
|
|
1799
|
+
$ref: '#/components/schemas/CartesianLimits'
|
|
1800
|
+
flange:
|
|
1801
|
+
$ref: '#/components/schemas/CartesianLimits'
|
|
1802
|
+
coupled_shoulder_elbow_joint:
|
|
1803
|
+
$ref: '#/components/schemas/JointLimits'
|
|
1804
|
+
OperationLimits:
|
|
1805
|
+
title: OperationLimits
|
|
1806
|
+
type: object
|
|
1807
|
+
properties:
|
|
1808
|
+
auto_limits:
|
|
1809
|
+
$ref: '#/components/schemas/LimitSet'
|
|
1810
|
+
manual_limits:
|
|
1811
|
+
$ref: '#/components/schemas/LimitSet'
|
|
1812
|
+
manual_t1_limits:
|
|
1813
|
+
$ref: '#/components/schemas/LimitSet'
|
|
1814
|
+
manual_t2_limits:
|
|
1815
|
+
$ref: '#/components/schemas/LimitSet'
|
|
1816
|
+
safety_limit_elbow_flange_velocity_in_auto:
|
|
1817
|
+
type: boolean
|
|
1818
|
+
default: false
|
|
1819
|
+
description: Flag to indicate whether the TCP velocity limit is also applied for the elbow and flange in auto mode.
|
|
1820
|
+
Payload:
|
|
1821
|
+
required:
|
|
1822
|
+
- name
|
|
1823
|
+
- payload
|
|
1824
|
+
type: object
|
|
1825
|
+
properties:
|
|
1826
|
+
name:
|
|
1827
|
+
type: string
|
|
1828
|
+
payload:
|
|
1829
|
+
type: number
|
|
1830
|
+
description: Mass of payload in [kg].
|
|
1831
|
+
format: double
|
|
1832
|
+
center_of_mass:
|
|
1833
|
+
$ref: '#/components/schemas/Vector3d'
|
|
1834
|
+
description: Center of mass of payload as a three-dimensional position vector [x, y, z] in [mm].
|
|
1835
|
+
moment_of_inertia:
|
|
1836
|
+
$ref: '#/components/schemas/Vector3d'
|
|
1837
|
+
description: Principal moments of inertia of payload as three-dimensional vector [I_xx, I_yy, I_zz] in [kg·m²].
|
|
1838
|
+
JointTypeEnum:
|
|
1839
|
+
type: string
|
|
1840
|
+
enum:
|
|
1841
|
+
- REVOLUTE_JOINT
|
|
1842
|
+
- PRISMATIC_JOINT
|
|
1843
|
+
default: REVOLUTE_JOINT
|
|
1844
|
+
DHParameter:
|
|
1845
|
+
type: object
|
|
1846
|
+
properties:
|
|
1847
|
+
alpha:
|
|
1848
|
+
type: number
|
|
1849
|
+
description: Angle about x-axis in [rad].
|
|
1850
|
+
format: double
|
|
1851
|
+
theta:
|
|
1852
|
+
type: number
|
|
1853
|
+
description: Angle about z-axis in [rad].
|
|
1854
|
+
format: double
|
|
1855
|
+
a:
|
|
1856
|
+
type: number
|
|
1857
|
+
description: Offset along x-axis in [mm].
|
|
1858
|
+
format: double
|
|
1859
|
+
d:
|
|
1860
|
+
type: number
|
|
1861
|
+
description: Offset along z-axis in [mm].
|
|
1862
|
+
format: double
|
|
1863
|
+
reverse_rotation_direction:
|
|
1864
|
+
type: boolean
|
|
1865
|
+
description: True, if rotation direction of joint is reversed.
|
|
1866
|
+
type:
|
|
1867
|
+
$ref: '#/components/schemas/JointTypeEnum'
|
|
1868
|
+
description: A single set of DH parameters.
|
|
1869
|
+
MotionGroupDescription:
|
|
1870
|
+
required:
|
|
1871
|
+
- motion_group_model
|
|
1872
|
+
- operation_limits
|
|
1873
|
+
type: object
|
|
1874
|
+
properties:
|
|
1875
|
+
motion_group_model:
|
|
1876
|
+
$ref: '#/components/schemas/MotionGroupModel'
|
|
1877
|
+
mounting:
|
|
1878
|
+
$ref: '#/components/schemas/Pose'
|
|
1879
|
+
description: The offset from the world frame to the motion group base.
|
|
1880
|
+
tcps:
|
|
1881
|
+
type: object
|
|
1882
|
+
title: TcpOffsetDictionary
|
|
1883
|
+
description: |
|
|
1884
|
+
Maps a TCP name to its offset relative to the flange coordinate system. Key must be a TCP identifier.
|
|
1885
|
+
Values are TcpOffsets.
|
|
1886
|
+
additionalProperties:
|
|
1887
|
+
$ref: '#/components/schemas/TcpOffset'
|
|
1888
|
+
safety_zones:
|
|
1889
|
+
$ref: '#/components/schemas/ColliderDictionary'
|
|
1890
|
+
description: |
|
|
1891
|
+
SafetyZones are areas which cannot be entered or where certain limits apply.
|
|
1892
|
+
SafetyZones are defined in the world coordinate system.
|
|
1893
|
+
safety_link_colliders:
|
|
1894
|
+
type: array
|
|
1895
|
+
items:
|
|
1896
|
+
$ref: '#/components/schemas/ColliderDictionary'
|
|
1897
|
+
description: |
|
|
1898
|
+
The shape of the MotionGroups links to validate against safety zones.
|
|
1899
|
+
Indexed along the kinematic chain, starting with a static base shape before first joint.
|
|
1900
|
+
safety_tool_colliders:
|
|
1901
|
+
type: object
|
|
1902
|
+
title: SafetyToolColliders
|
|
1903
|
+
additionalProperties:
|
|
1904
|
+
$ref: '#/components/schemas/ColliderDictionary'
|
|
1905
|
+
description: |
|
|
1906
|
+
Maps a TCP name to its tool collider. Key must be a TCP identifier.
|
|
1907
|
+
Values are ColliderDictionaries that make up the shape of one tool to validate against safety zones.
|
|
1908
|
+
operation_limits:
|
|
1909
|
+
$ref: '#/components/schemas/OperationLimits'
|
|
1910
|
+
payloads:
|
|
1911
|
+
type: object
|
|
1912
|
+
title: PayloadDictionary
|
|
1913
|
+
description: |
|
|
1914
|
+
Maps a payload name to its configuration. Key must be a payload identifier.
|
|
1915
|
+
Values are payload objects.
|
|
1916
|
+
additionalProperties:
|
|
1917
|
+
$ref: '#/components/schemas/Payload'
|
|
1918
|
+
cycle_time:
|
|
1919
|
+
type: integer
|
|
1920
|
+
format: int32
|
|
1921
|
+
minimum: 0
|
|
1922
|
+
maximum: 2147483647
|
|
1923
|
+
description: '[ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.'
|
|
1924
|
+
dh_parameters:
|
|
1925
|
+
type: array
|
|
1926
|
+
items:
|
|
1927
|
+
$ref: '#/components/schemas/DHParameter'
|
|
1928
|
+
description: The Denavit-Hartenberg parameters describing the motion group kinematics.
|
|
1929
|
+
kinematic_chain_offset:
|
|
1930
|
+
description: |
|
|
1931
|
+
Constant coordinate transformation between the motion group base frame and the start of the kinematic chain modelled by Denavit-Hartenberg parameters.
|
|
1932
|
+
Unlike the mounting, which is used to set the actual position and orientation of the motion group within a cell, this offset is fixed.
|
|
1933
|
+
It is part of the description of the kinematical structure of the motion group.
|
|
1934
|
+
$ref: '#/components/schemas/Pose'
|
|
1935
|
+
flange_offset:
|
|
1936
|
+
description: |
|
|
1937
|
+
Constant coordinate transformation between the end of the kinematic chain modelled by Denavit-Hartenberg parameters and the flange frame.
|
|
1938
|
+
This can be used, e.g., to ensure that the flange frame has a certain orientation.
|
|
1939
|
+
$ref: '#/components/schemas/Pose'
|
|
1940
|
+
serial_number:
|
|
1941
|
+
type: string
|
|
1942
|
+
description: |
|
|
1943
|
+
The serial number of the motion group, if available. If not available, the serial number of the robot controller. If not available, empty.
|
|
1944
|
+
description_revision:
|
|
1945
|
+
type: integer
|
|
1946
|
+
format: int32
|
|
1947
|
+
minimum: 0
|
|
1948
|
+
maximum: 2147483647
|
|
1949
|
+
description: |
|
|
1950
|
+
Revision number of the motion group description.
|
|
1951
|
+
The revision is incremented whenever the motion group description changes due to a modification of the tools or the payloads in the robot configuration.
|
|
1952
|
+
The robot controller is polled every 10 s in Monitoring Mode to detect those changes.
|
|
1953
|
+
Use to detect changes since the last retrieval.
|
|
1954
|
+
description: |
|
|
1955
|
+
The configuration of a motion-group used for motion planning.
|
|
1956
|
+
The parameters `mounting`, `kinematic_chain_offset`, `dh_parameters`, `flange_offset` and `tcp_offset` are used to model the kinematic structure of the motion group.
|
|
1957
|
+
They can be used to compute the coordinate transformations from world to tcp frame:
|
|
1958
|
+
[world frame] -> mounting -> [base frame] -> kinematic chain offset + motion group kinematics (Denavit-Hartenberg parameters) -> [end of kinematic chain frame]
|
|
1959
|
+
-> flange_offset -> [flange frame] -> tcp_offset -> [tcp frame].
|
|
1960
|
+
CloudEvent:
|
|
1961
|
+
type: object
|
|
1962
|
+
description: |
|
|
1963
|
+
CloudEvents specification v1.0.2 compliant event structure.
|
|
1964
|
+
This schema defines the standardized format for event data across all NOVA services.
|
|
1965
|
+
required:
|
|
1966
|
+
- specversion
|
|
1967
|
+
- type
|
|
1968
|
+
- source
|
|
1969
|
+
- id
|
|
1970
|
+
properties:
|
|
1971
|
+
specversion:
|
|
1972
|
+
type: string
|
|
1973
|
+
description: The version of the CloudEvents specification which the event uses
|
|
1974
|
+
enum:
|
|
1975
|
+
- '1.0'
|
|
1976
|
+
example: '1.0'
|
|
1977
|
+
type:
|
|
1978
|
+
type: string
|
|
1979
|
+
description: Type of the event related to the source occurrence
|
|
1980
|
+
pattern: ^[a-z0-9\-\.]+$
|
|
1981
|
+
example: com.wandelbots.nova.system.update.started
|
|
1982
|
+
source:
|
|
1983
|
+
type: string
|
|
1984
|
+
format: uri-reference
|
|
1985
|
+
description: Identifies the context in which an event happened
|
|
1986
|
+
example: /nova/service-manager
|
|
1987
|
+
id:
|
|
1988
|
+
type: string
|
|
1989
|
+
description: Unique identifier for the event
|
|
1990
|
+
pattern: ^[a-zA-Z0-9\-_]+$
|
|
1991
|
+
example: update-2025-01-27-001
|
|
1992
|
+
time:
|
|
1993
|
+
type: string
|
|
1994
|
+
format: date-time
|
|
1995
|
+
description: Timestamp of when the occurrence happened (RFC3339)
|
|
1996
|
+
example: '2025-01-27T10:00:00Z'
|
|
1997
|
+
datacontenttype:
|
|
1998
|
+
type: string
|
|
1999
|
+
description: Content type of the data value
|
|
2000
|
+
default: application/json
|
|
2001
|
+
example: application/json
|
|
2002
|
+
dataschema:
|
|
2003
|
+
type: string
|
|
2004
|
+
format: uri
|
|
2005
|
+
description: URI reference that identifies the schema that the data adheres to
|
|
2006
|
+
example: https://schemas.wandelbots.com/nova/system-update/v2
|
|
2007
|
+
subject:
|
|
2008
|
+
type: string
|
|
2009
|
+
description: Subject of the event in the context of the event producer
|
|
2010
|
+
example: system/update
|
|
2011
|
+
data:
|
|
2012
|
+
type: object
|
|
2013
|
+
description: The event payload specific to the event type
|
|
2014
|
+
additionalProperties: true
|
|
2015
|
+
SystemUpdateStartedEvent:
|
|
2016
|
+
allOf:
|
|
2017
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2018
|
+
- type: object
|
|
2019
|
+
description: |
|
|
2020
|
+
Event published when a system update process is started.
|
|
2021
|
+
Uses CloudEvents default fields for ID and timestamp, minimal data payload.
|
|
2022
|
+
required:
|
|
2023
|
+
- id
|
|
2024
|
+
- time
|
|
2025
|
+
- data
|
|
2026
|
+
properties:
|
|
2027
|
+
type:
|
|
2028
|
+
enum:
|
|
2029
|
+
- nova.v2.events.system.update.started
|
|
2030
|
+
example: nova.v2.events.system.update.started
|
|
2031
|
+
source:
|
|
2032
|
+
enum:
|
|
2033
|
+
- /nova/service-manager
|
|
2034
|
+
example: /nova/service-manager
|
|
2035
|
+
id:
|
|
2036
|
+
description: Unique identifier for this update process
|
|
2037
|
+
pattern: ^update-[a-zA-Z0-9\-_]+$
|
|
2038
|
+
example: update-nova-20250127T100000Z
|
|
2039
|
+
time:
|
|
2040
|
+
description: Timestamp when the update process started (RFC3339)
|
|
2041
|
+
data:
|
|
2042
|
+
type: object
|
|
2043
|
+
description: System update started event payload
|
|
2044
|
+
required:
|
|
2045
|
+
- newVersion
|
|
2046
|
+
properties:
|
|
2047
|
+
newVersion:
|
|
2048
|
+
type: string
|
|
2049
|
+
description: New system version being installed
|
|
2050
|
+
example: 2.1.0
|
|
2051
|
+
oldVersion:
|
|
2052
|
+
type: string
|
|
2053
|
+
description: Previous system version, if available
|
|
2054
|
+
example: 2.0.5
|
|
2055
|
+
additionalProperties: false
|
|
2056
|
+
SystemUpdateCompletedEvent:
|
|
2057
|
+
allOf:
|
|
2058
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2059
|
+
- type: object
|
|
2060
|
+
description: |
|
|
2061
|
+
Event published once a system update process is completed.
|
|
2062
|
+
Uses CloudEvents default fields for ID and timestamp, minimal data payload.
|
|
2063
|
+
required:
|
|
2064
|
+
- id
|
|
2065
|
+
- time
|
|
2066
|
+
- data
|
|
2067
|
+
properties:
|
|
2068
|
+
type:
|
|
2069
|
+
enum:
|
|
2070
|
+
- nova.v2.events.system.update.completed
|
|
2071
|
+
example: nova.v2.events.system.update.completed
|
|
2072
|
+
source:
|
|
2073
|
+
enum:
|
|
2074
|
+
- /nova/service-manager
|
|
2075
|
+
example: /nova/service-manager
|
|
2076
|
+
id:
|
|
2077
|
+
description: Same unique identifier from the started event for correlation
|
|
2078
|
+
pattern: ^update-[a-zA-Z0-9\-_]+$
|
|
2079
|
+
example: update-nova-20250127T100000Z
|
|
2080
|
+
time:
|
|
2081
|
+
description: Timestamp when the update process completed (RFC3339)
|
|
2082
|
+
data:
|
|
2083
|
+
type: object
|
|
2084
|
+
description: System update completed event payload
|
|
2085
|
+
required:
|
|
2086
|
+
- newVersion
|
|
2087
|
+
properties:
|
|
2088
|
+
newVersion:
|
|
2089
|
+
type: string
|
|
2090
|
+
description: New system version that was installed
|
|
2091
|
+
example: 2.1.0
|
|
2092
|
+
error:
|
|
2093
|
+
type: string
|
|
2094
|
+
description: Error message if update failed
|
|
2095
|
+
example: 'Helm upgrade failed: context deadline exceeded'
|
|
2096
|
+
additionalProperties: false
|
|
2097
|
+
NetworkState:
|
|
2098
|
+
type: object
|
|
2099
|
+
required:
|
|
2100
|
+
- internet_connected
|
|
2101
|
+
properties:
|
|
2102
|
+
internet_connected:
|
|
2103
|
+
type: boolean
|
|
2104
|
+
description: |
|
|
2105
|
+
Indicates whether the system is connected to the internet.
|
|
2106
|
+
connection_type:
|
|
2107
|
+
type: string
|
|
2108
|
+
description: |
|
|
2109
|
+
Type of the active network link (e.g., ethernet, wifi, cellular, vpn, unknown).
|
|
2110
|
+
enum:
|
|
2111
|
+
- ethernet
|
|
2112
|
+
- wifi
|
|
2113
|
+
- cellular
|
|
2114
|
+
- vpn
|
|
2115
|
+
- unknown
|
|
2116
|
+
signal_strength:
|
|
2117
|
+
type: integer
|
|
2118
|
+
format: int32
|
|
2119
|
+
description: |
|
|
2120
|
+
Received signal strength in dBm for wireless interfaces; negative values indicate weaker signals.
|
|
2121
|
+
link_quality:
|
|
2122
|
+
type: number
|
|
2123
|
+
format: float
|
|
2124
|
+
minimum: 0
|
|
2125
|
+
maximum: 1
|
|
2126
|
+
description: |
|
|
2127
|
+
Normalized link quality metric from 0 (poor) to 1 (excellent) when provided by the interface.
|
|
2128
|
+
latency_ms:
|
|
2129
|
+
type: number
|
|
2130
|
+
format: float
|
|
2131
|
+
description: |
|
|
2132
|
+
Round-trip latency to the probe endpoint measured in milliseconds.
|
|
2133
|
+
bandwidth_mbps:
|
|
2134
|
+
type: number
|
|
2135
|
+
format: float
|
|
2136
|
+
description: |
|
|
2137
|
+
Estimated downstream bandwidth in megabits per second based on the probe.
|
|
2138
|
+
NetworkStatusChangedEvent:
|
|
2139
|
+
type: object
|
|
2140
|
+
description: |
|
|
2141
|
+
CloudEvents v1.0 compliant event published when system network status changes.
|
|
2142
|
+
This event wraps the NetworkState payload in a standard CloudEvents envelope.
|
|
2143
|
+
required:
|
|
2144
|
+
- specversion
|
|
2145
|
+
- type
|
|
2146
|
+
- source
|
|
2147
|
+
- id
|
|
2148
|
+
- time
|
|
2149
|
+
- data
|
|
2150
|
+
properties:
|
|
2151
|
+
specversion:
|
|
2152
|
+
type: string
|
|
2153
|
+
description: The version of the CloudEvents specification which the event uses
|
|
2154
|
+
enum:
|
|
2155
|
+
- '1.0'
|
|
2156
|
+
example: '1.0'
|
|
2157
|
+
type:
|
|
2158
|
+
type: string
|
|
2159
|
+
description: Type of the event related to the source occurrence
|
|
2160
|
+
enum:
|
|
2161
|
+
- nova.v2.events.system.network.status.changed
|
|
2162
|
+
example: nova.v2.events.system.network.status.changed
|
|
2163
|
+
source:
|
|
2164
|
+
type: string
|
|
2165
|
+
description: Identifies the context in which an event happened
|
|
2166
|
+
enum:
|
|
2167
|
+
- /nova/system-info
|
|
2168
|
+
example: /nova/system-info
|
|
2169
|
+
id:
|
|
2170
|
+
type: string
|
|
2171
|
+
description: Unique identifier for this network status change event
|
|
2172
|
+
pattern: ^network-status-change-[a-zA-Z0-9\-]+$
|
|
2173
|
+
example: network-status-change-20240615T101500Z
|
|
2174
|
+
time:
|
|
2175
|
+
type: string
|
|
2176
|
+
format: date-time
|
|
2177
|
+
description: Timestamp when the network status changed (RFC3339)
|
|
2178
|
+
example: '2024-06-15T10:15:00Z'
|
|
2179
|
+
datacontenttype:
|
|
2180
|
+
type: string
|
|
2181
|
+
description: Content type of the data value
|
|
2182
|
+
default: application/json
|
|
2183
|
+
example: application/json
|
|
2184
|
+
data:
|
|
2185
|
+
$ref: '#/components/schemas/NetworkState'
|
|
2186
|
+
OperatingState:
|
|
2187
|
+
format: enum
|
|
2188
|
+
type: string
|
|
2189
|
+
enum:
|
|
2190
|
+
- ACTIVE
|
|
2191
|
+
- INACTIVE
|
|
2192
|
+
description: The operating state.
|
|
2193
|
+
CellEventData:
|
|
2194
|
+
type: object
|
|
2195
|
+
description: Payload for a cell lifecycle event.
|
|
2196
|
+
required:
|
|
2197
|
+
- version
|
|
2198
|
+
- operating_state
|
|
2199
|
+
properties:
|
|
2200
|
+
version:
|
|
2201
|
+
type: string
|
|
2202
|
+
description: Chart version of the cell foundation release.
|
|
2203
|
+
example: 2.1.0
|
|
2204
|
+
operating_state:
|
|
2205
|
+
$ref: '#/components/schemas/OperatingState'
|
|
2206
|
+
additionalProperties: false
|
|
2207
|
+
CellCreatedEvent:
|
|
2208
|
+
allOf:
|
|
2209
|
+
- type: object
|
|
2210
|
+
description: CloudEvent published when a cell foundation release is created.
|
|
2211
|
+
required:
|
|
2212
|
+
- id
|
|
2213
|
+
- time
|
|
2214
|
+
- data
|
|
2215
|
+
properties:
|
|
2216
|
+
type:
|
|
2217
|
+
enum:
|
|
2218
|
+
- nova.v2.events.cells.{cell}.created
|
|
2219
|
+
example: nova.v2.events.cells.demo.created
|
|
2220
|
+
source:
|
|
2221
|
+
enum:
|
|
2222
|
+
- /nova/service-manager
|
|
2223
|
+
example: /nova/service-manager
|
|
2224
|
+
id:
|
|
2225
|
+
description: Unique identifier for this cell created event.
|
|
2226
|
+
example: cells-demo-created-550e8400-e29b-41d4-a716-446655440000
|
|
2227
|
+
time:
|
|
2228
|
+
description: Timestamp when the cell foundation release was created.
|
|
2229
|
+
data:
|
|
2230
|
+
$ref: '#/components/schemas/CellEventData'
|
|
2231
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2232
|
+
CellUpdatedEvent:
|
|
2233
|
+
allOf:
|
|
2234
|
+
- type: object
|
|
2235
|
+
description: CloudEvent published when a cell foundation release is updated.
|
|
2236
|
+
required:
|
|
2237
|
+
- id
|
|
2238
|
+
- time
|
|
2239
|
+
- data
|
|
2240
|
+
properties:
|
|
2241
|
+
type:
|
|
2242
|
+
enum:
|
|
2243
|
+
- nova.v2.events.cells.{cell}.updated
|
|
2244
|
+
example: nova.v2.events.cells.demo.updated
|
|
2245
|
+
source:
|
|
2246
|
+
enum:
|
|
2247
|
+
- /nova/service-manager
|
|
2248
|
+
example: /nova/service-manager
|
|
2249
|
+
id:
|
|
2250
|
+
description: Unique identifier for this cell updated event.
|
|
2251
|
+
example: cells-demo-updated-a3bb189e-8bf9-4c8b-a7b4-8e78f6e5e7b1
|
|
2252
|
+
time:
|
|
2253
|
+
description: Timestamp when the cell foundation release was updated.
|
|
2254
|
+
data:
|
|
2255
|
+
$ref: '#/components/schemas/CellEventData'
|
|
2256
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2257
|
+
CellDeletedEvent:
|
|
2258
|
+
allOf:
|
|
2259
|
+
- type: object
|
|
2260
|
+
description: CloudEvent published when a cell foundation release is deleted.
|
|
2261
|
+
required:
|
|
2262
|
+
- id
|
|
2263
|
+
- time
|
|
2264
|
+
- data
|
|
2265
|
+
properties:
|
|
2266
|
+
type:
|
|
2267
|
+
enum:
|
|
2268
|
+
- nova.v2.events.cells.{cell}.deleted
|
|
2269
|
+
example: nova.v2.events.cells.demo.deleted
|
|
2270
|
+
source:
|
|
2271
|
+
enum:
|
|
2272
|
+
- /nova/service-manager
|
|
2273
|
+
example: /nova/service-manager
|
|
2274
|
+
id:
|
|
2275
|
+
description: Unique identifier for this cell deleted event.
|
|
2276
|
+
example: cells-demo-deleted-b5e2e4f3-7c1d-4f2b-8e5f-9a3c6b7d8e0f
|
|
2277
|
+
time:
|
|
2278
|
+
description: Timestamp when the cell foundation release was deleted.
|
|
2279
|
+
data:
|
|
2280
|
+
$ref: '#/components/schemas/CellEventData'
|
|
2281
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2282
|
+
AppEventData:
|
|
2283
|
+
type: object
|
|
2284
|
+
description: Payload for an app lifecycle event.
|
|
2285
|
+
required:
|
|
2286
|
+
- image
|
|
2287
|
+
- operating_state
|
|
2288
|
+
properties:
|
|
2289
|
+
image:
|
|
2290
|
+
type: string
|
|
2291
|
+
description: OCI image reference of the app release.
|
|
2292
|
+
example: example.com/demo/portal:1.0.0
|
|
2293
|
+
operating_state:
|
|
2294
|
+
$ref: '#/components/schemas/OperatingState'
|
|
2295
|
+
additionalProperties: false
|
|
2296
|
+
AppCreatedEvent:
|
|
2297
|
+
allOf:
|
|
2298
|
+
- type: object
|
|
2299
|
+
description: CloudEvent published when an app release is created in a cell.
|
|
2300
|
+
required:
|
|
2301
|
+
- id
|
|
2302
|
+
- time
|
|
2303
|
+
- data
|
|
2304
|
+
properties:
|
|
2305
|
+
type:
|
|
2306
|
+
enum:
|
|
2307
|
+
- nova.v2.events.cells.{cell}.apps.{app}.created
|
|
2308
|
+
example: nova.v2.events.cells.demo.apps.portal.created
|
|
2309
|
+
source:
|
|
2310
|
+
enum:
|
|
2311
|
+
- /nova/service-manager
|
|
2312
|
+
example: /nova/service-manager
|
|
2313
|
+
id:
|
|
2314
|
+
description: Unique identifier for this app created event.
|
|
2315
|
+
example: apps-portal-created-c7f3a5b2-9d4e-4f6a-b8c1-2d3e4f5a6b7c
|
|
2316
|
+
time:
|
|
2317
|
+
description: Timestamp when the app release was created.
|
|
2318
|
+
data:
|
|
2319
|
+
$ref: '#/components/schemas/AppEventData'
|
|
2320
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2321
|
+
AppUpdatedEvent:
|
|
2322
|
+
allOf:
|
|
2323
|
+
- type: object
|
|
2324
|
+
description: CloudEvent published when an app release is updated in a cell.
|
|
2325
|
+
required:
|
|
2326
|
+
- id
|
|
2327
|
+
- time
|
|
2328
|
+
- data
|
|
2329
|
+
properties:
|
|
2330
|
+
type:
|
|
2331
|
+
enum:
|
|
2332
|
+
- nova.v2.events.cells.{cell}.apps.{app}.updated
|
|
2333
|
+
example: nova.v2.events.cells.demo.apps.portal.updated
|
|
2334
|
+
source:
|
|
2335
|
+
enum:
|
|
2336
|
+
- /nova/service-manager
|
|
2337
|
+
example: /nova/service-manager
|
|
2338
|
+
id:
|
|
2339
|
+
description: Unique identifier for this app updated event.
|
|
2340
|
+
example: apps-portal-updated-d8e4b6c3-ae5f-4a7b-9d2e-3e4f5a6b7c8d
|
|
2341
|
+
time:
|
|
2342
|
+
description: Timestamp when the app release was updated.
|
|
2343
|
+
data:
|
|
2344
|
+
$ref: '#/components/schemas/AppEventData'
|
|
2345
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2346
|
+
AppDeletedEvent:
|
|
2347
|
+
allOf:
|
|
2348
|
+
- type: object
|
|
2349
|
+
description: CloudEvent published when an app release is deleted from a cell.
|
|
2350
|
+
required:
|
|
2351
|
+
- id
|
|
2352
|
+
- time
|
|
2353
|
+
- data
|
|
2354
|
+
properties:
|
|
2355
|
+
type:
|
|
2356
|
+
enum:
|
|
2357
|
+
- nova.v2.events.cells.{cell}.apps.{app}.deleted
|
|
2358
|
+
example: nova.v2.events.cells.demo.apps.portal.deleted
|
|
2359
|
+
source:
|
|
2360
|
+
enum:
|
|
2361
|
+
- /nova/service-manager
|
|
2362
|
+
example: /nova/service-manager
|
|
2363
|
+
id:
|
|
2364
|
+
description: Unique identifier for this app deleted event.
|
|
2365
|
+
example: apps-portal-deleted-e9f5c7d4-bf6a-4b8c-8a3e-4f5a6b7c8d9e
|
|
2366
|
+
time:
|
|
2367
|
+
description: Timestamp when the app release was deleted.
|
|
2368
|
+
data:
|
|
2369
|
+
$ref: '#/components/schemas/AppEventData'
|
|
2370
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2371
|
+
RobotControllerEventData:
|
|
2372
|
+
type: object
|
|
2373
|
+
description: Payload for a robot controller lifecycle event.
|
|
2374
|
+
required:
|
|
2375
|
+
- manufacturer
|
|
2376
|
+
- virtual
|
|
2377
|
+
- operating_state
|
|
2378
|
+
properties:
|
|
2379
|
+
manufacturer:
|
|
2380
|
+
$ref: '#/components/schemas/Manufacturer'
|
|
2381
|
+
virtual:
|
|
2382
|
+
type: boolean
|
|
2383
|
+
description: Indicates whether the controller is virtual.
|
|
2384
|
+
operating_state:
|
|
2385
|
+
$ref: '#/components/schemas/OperatingState'
|
|
2386
|
+
additionalProperties: false
|
|
2387
|
+
RobotControllerCreatedEvent:
|
|
2388
|
+
allOf:
|
|
2389
|
+
- type: object
|
|
2390
|
+
description: CloudEvent published when a robot controller release is created in a cell.
|
|
2391
|
+
required:
|
|
2392
|
+
- id
|
|
2393
|
+
- time
|
|
2394
|
+
- data
|
|
2395
|
+
properties:
|
|
2396
|
+
type:
|
|
2397
|
+
enum:
|
|
2398
|
+
- nova.v2.events.cells.{cell}.controllers.{controller}.created
|
|
2399
|
+
example: nova.v2.events.cells.demo.controllers.ur10e.created
|
|
2400
|
+
source:
|
|
2401
|
+
enum:
|
|
2402
|
+
- /nova/service-manager
|
|
2403
|
+
example: /nova/service-manager
|
|
2404
|
+
id:
|
|
2405
|
+
description: Unique identifier for this robot controller created event.
|
|
2406
|
+
example: controllers-ur10e-created-f0a6d8e5-ca7b-4c9d-ab4f-5a6b7c8d9e0f
|
|
2407
|
+
time:
|
|
2408
|
+
description: Timestamp when the robot controller release was created.
|
|
2409
|
+
data:
|
|
2410
|
+
$ref: '#/components/schemas/RobotControllerEventData'
|
|
2411
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2412
|
+
RobotControllerUpdatedEvent:
|
|
2413
|
+
allOf:
|
|
2414
|
+
- type: object
|
|
2415
|
+
description: CloudEvent published when a robot controller release is updated in a cell.
|
|
2416
|
+
required:
|
|
2417
|
+
- id
|
|
2418
|
+
- time
|
|
2419
|
+
- data
|
|
2420
|
+
properties:
|
|
2421
|
+
type:
|
|
2422
|
+
enum:
|
|
2423
|
+
- nova.v2.events.cells.{cell}.controllers.{controller}.updated
|
|
2424
|
+
example: nova.v2.events.cells.demo.controllers.ur10e.updated
|
|
2425
|
+
source:
|
|
2426
|
+
enum:
|
|
2427
|
+
- /nova/service-manager
|
|
2428
|
+
example: /nova/service-manager
|
|
2429
|
+
id:
|
|
2430
|
+
description: Unique identifier for this robot controller updated event.
|
|
2431
|
+
example: controllers-ur10e-updated-1b7e9f06-db8c-4dae-9c50-6b7c8d9e0f1a
|
|
2432
|
+
time:
|
|
2433
|
+
description: Timestamp when the robot controller release was updated.
|
|
2434
|
+
data:
|
|
2435
|
+
$ref: '#/components/schemas/RobotControllerEventData'
|
|
2436
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2437
|
+
RobotControllerDeletedEvent:
|
|
2438
|
+
allOf:
|
|
2439
|
+
- type: object
|
|
2440
|
+
description: CloudEvent published when a robot controller release is deleted from a cell.
|
|
2441
|
+
required:
|
|
2442
|
+
- id
|
|
2443
|
+
- time
|
|
2444
|
+
- data
|
|
2445
|
+
properties:
|
|
2446
|
+
type:
|
|
2447
|
+
enum:
|
|
2448
|
+
- nova.v2.events.cells.{cell}.controllers.{controller}.deleted
|
|
2449
|
+
example: nova.v2.events.cells.demo.controllers.ur10e.deleted
|
|
2450
|
+
source:
|
|
2451
|
+
enum:
|
|
2452
|
+
- /nova/service-manager
|
|
2453
|
+
example: /nova/service-manager
|
|
2454
|
+
id:
|
|
2455
|
+
description: Unique identifier for this robot controller deleted event.
|
|
2456
|
+
example: controllers-ur10e-deleted-2c8f0a17-ec9d-4ebf-8d61-7c8d9e0f1a2b
|
|
2457
|
+
time:
|
|
2458
|
+
description: Timestamp when the robot controller release was deleted.
|
|
2459
|
+
data:
|
|
2460
|
+
$ref: '#/components/schemas/RobotControllerEventData'
|
|
2461
|
+
- $ref: '#/components/schemas/CloudEvent'
|
|
2462
|
+
asyncapi: 3.0.0
|
|
2463
|
+
operations:
|
|
2464
|
+
publishCell:
|
|
2465
|
+
action: send
|
|
2466
|
+
title: Cell Configuration
|
|
2467
|
+
description: |
|
|
2468
|
+
Publishes the configuration for a cell.
|
|
2469
|
+
|
|
2470
|
+
The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
|
|
2471
|
+
tags:
|
|
2472
|
+
- name: Cell
|
|
2473
|
+
channel:
|
|
2474
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}'
|
|
2475
|
+
publishApp:
|
|
2476
|
+
action: send
|
|
2477
|
+
title: App Configuration
|
|
2478
|
+
description: |
|
|
2479
|
+
Publishes the configuration for a GUI application in the cell.
|
|
2480
|
+
|
|
2481
|
+
The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
|
|
2482
|
+
tags:
|
|
2483
|
+
- name: Cell
|
|
2484
|
+
channel:
|
|
2485
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.apps.{app}'
|
|
2486
|
+
publishProgramStatus:
|
|
2487
|
+
action: send
|
|
2488
|
+
title: Program Status
|
|
2489
|
+
description: |
|
|
2490
|
+
Publishes status messages for programs running in an app within a cell.
|
|
2491
|
+
The status messages provide information about the current state of a program run.
|
|
2492
|
+
tags:
|
|
2493
|
+
- name: Program
|
|
2494
|
+
channel:
|
|
2495
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.programs'
|
|
2496
|
+
publishRobotController:
|
|
2497
|
+
action: send
|
|
2498
|
+
title: Robot Controller Configuration
|
|
2499
|
+
description: Publishes the configuration of a robot controller.
|
|
2500
|
+
tags:
|
|
2501
|
+
- name: Cell
|
|
2502
|
+
channel:
|
|
2503
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.controllers.{controller}'
|
|
2504
|
+
publishCellStatus:
|
|
2505
|
+
action: send
|
|
2506
|
+
title: Service Status
|
|
2507
|
+
description: |
|
|
2508
|
+
Publishes the status of all cell resources.
|
|
2509
|
+
|
|
2510
|
+
The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
|
|
2511
|
+
tags:
|
|
2512
|
+
- name: Cell
|
|
2513
|
+
channel:
|
|
2514
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.status'
|
|
2515
|
+
publishCellCycle:
|
|
2516
|
+
action: send
|
|
2517
|
+
title: Cell Cycle Event
|
|
2518
|
+
description: |
|
|
2519
|
+
Publishes the cycle events for a cell.
|
|
2520
|
+
tags:
|
|
2521
|
+
- name: Cell
|
|
2522
|
+
description: Cell-scoped messaging operations.
|
|
2523
|
+
channel:
|
|
2524
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.cycle'
|
|
2525
|
+
publishSystemStatus:
|
|
2526
|
+
action: send
|
|
2527
|
+
title: Wandelbots NOVA status
|
|
2528
|
+
description: |
|
|
2529
|
+
Publishes the status of all system services.
|
|
2530
|
+
|
|
2531
|
+
The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
|
|
2532
|
+
tags:
|
|
2533
|
+
- name: System
|
|
2534
|
+
channel:
|
|
2535
|
+
$ref: '#/channels/{instance}.v2.system.status'
|
|
2536
|
+
publishCollisionSetup:
|
|
2537
|
+
action: send
|
|
2538
|
+
title: Collision Setup
|
|
2539
|
+
description: |
|
|
2540
|
+
Publishes the stored collision setup.
|
|
2541
|
+
|
|
2542
|
+
The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
|
|
2543
|
+
tags:
|
|
2544
|
+
- name: Store Collision Setups
|
|
2545
|
+
channel:
|
|
2546
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.collision.setups.{setup}'
|
|
2547
|
+
publishBUSIOStatus:
|
|
2548
|
+
action: send
|
|
2549
|
+
title: BUS Inputs/Outputs Service Status
|
|
2550
|
+
description: |
|
|
2551
|
+
Publishes the status of BUS inputs/outputs service.
|
|
2552
|
+
|
|
2553
|
+
The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`.
|
|
2554
|
+
tags:
|
|
2555
|
+
- name: BUS Inputs/Outputs
|
|
2556
|
+
channel:
|
|
2557
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.bus-ios.status'
|
|
2558
|
+
publishBUSIOsIOs:
|
|
2559
|
+
action: send
|
|
2560
|
+
title: BUS Input/Output Values
|
|
2561
|
+
description: Publishes updates of BUS input/output values.
|
|
2562
|
+
tags:
|
|
2563
|
+
- name: BUS Inputs/Outputs
|
|
2564
|
+
channel:
|
|
2565
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.bus-ios.ios'
|
|
2566
|
+
setBUSIOsIOs:
|
|
2567
|
+
action: receive
|
|
2568
|
+
title: Set Output Values
|
|
2569
|
+
description: |
|
|
2570
|
+
Set output values published with the BUS inputs/outputs service.
|
|
2571
|
+
If you're using a virtual service, you can set inputs as well.
|
|
2572
|
+
tags:
|
|
2573
|
+
- name: BUS Inputs/Outputs
|
|
2574
|
+
channel:
|
|
2575
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.bus-ios.ios.set'
|
|
2576
|
+
reply:
|
|
2577
|
+
channel:
|
|
2578
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.bus-ios.ios.set.reply'
|
|
2579
|
+
address:
|
|
2580
|
+
location: $message.header#/replyTo
|
|
2581
|
+
selectRobotControllerIOs:
|
|
2582
|
+
action: receive
|
|
2583
|
+
title: Select Input/Output Values
|
|
2584
|
+
description: Select input/output values published by the controller.
|
|
2585
|
+
tags:
|
|
2586
|
+
- name: Controller
|
|
2587
|
+
channel:
|
|
2588
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.controllers.{controller}.ios.select'
|
|
2589
|
+
reply:
|
|
2590
|
+
channel:
|
|
2591
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.controllers.{controller}.ios.select.reply'
|
|
2592
|
+
address:
|
|
2593
|
+
location: $message.header#/replyTo
|
|
2594
|
+
publishRobotControllerIOs:
|
|
2595
|
+
action: send
|
|
2596
|
+
title: Input/Output Values
|
|
2597
|
+
description: Publishes updates of input/output values.
|
|
2598
|
+
tags:
|
|
2599
|
+
- name: Controller
|
|
2600
|
+
channel:
|
|
2601
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.controllers.{controller}.ios'
|
|
2602
|
+
publishRobotControllersState:
|
|
2603
|
+
action: send
|
|
2604
|
+
title: State of Robot Controller
|
|
2605
|
+
description: Publishes the current state of a robot controller.
|
|
2606
|
+
tags:
|
|
2607
|
+
- name: Controller
|
|
2608
|
+
channel:
|
|
2609
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.controllers.{controller}.state'
|
|
2610
|
+
publishMotionGroupDescription:
|
|
2611
|
+
action: send
|
|
2612
|
+
title: Description of Motion Group
|
|
2613
|
+
description: Publishes the description of a motion group, including TCPs, mounting, safety zones, limits, etc.
|
|
2614
|
+
tags:
|
|
2615
|
+
- name: Controller
|
|
2616
|
+
channel:
|
|
2617
|
+
$ref: '#/channels/{instance}.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description'
|
|
2618
|
+
eventSystemUpdateStarted:
|
|
2619
|
+
action: send
|
|
2620
|
+
title: System Update Started
|
|
2621
|
+
description: |
|
|
2622
|
+
Publishes an event when a system update process is initiated.
|
|
2623
|
+
|
|
2624
|
+
This event is triggered once the service-manager begins a system update process,
|
|
2625
|
+
providing details about the update metadata, trigger information, and pre-update checks.
|
|
2626
|
+
|
|
2627
|
+
The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
|
|
2628
|
+
for reliable delivery and event replay capabilities.
|
|
2629
|
+
tags:
|
|
2630
|
+
- name: Events
|
|
2631
|
+
channel:
|
|
2632
|
+
$ref: '#/channels/{instance}.v2.events.system.update.started'
|
|
2633
|
+
eventSystemUpdateCompleted:
|
|
2634
|
+
action: send
|
|
2635
|
+
title: System Update Completed
|
|
2636
|
+
description: |
|
|
2637
|
+
Publishes an event when a system update process is completed.
|
|
2638
|
+
|
|
2639
|
+
This event is triggered once the service-manager completes a system update process,
|
|
2640
|
+
providing comprehensive results including success status, component outcomes,
|
|
2641
|
+
error details, and post-update validation results.
|
|
2642
|
+
|
|
2643
|
+
The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
|
|
2644
|
+
for reliable delivery and event replay capabilities.
|
|
2645
|
+
tags:
|
|
2646
|
+
- name: Events
|
|
2647
|
+
channel:
|
|
2648
|
+
$ref: '#/channels/{instance}.v2.events.system.update.completed'
|
|
2649
|
+
eventSystemNetworkStatusChanged:
|
|
2650
|
+
action: send
|
|
2651
|
+
title: System Network Status Changed
|
|
2652
|
+
description: |
|
|
2653
|
+
Publishes an event when a system network status changes.
|
|
2654
|
+
|
|
2655
|
+
This event is triggered once system-info service detects a change in the system network status,
|
|
2656
|
+
providing details about the new network state and related information.
|
|
2657
|
+
|
|
2658
|
+
The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
|
|
2659
|
+
for reliable delivery and event replay capabilities.
|
|
2660
|
+
tags:
|
|
2661
|
+
- name: Events
|
|
2662
|
+
channel:
|
|
2663
|
+
$ref: '#/channels/{instance}.v2.events.system.network.status.changed'
|
|
2664
|
+
eventCellCreated:
|
|
2665
|
+
action: send
|
|
2666
|
+
title: Cell Created
|
|
2667
|
+
description: |
|
|
2668
|
+
Publishes an event when a cell foundation release is created.
|
|
2669
|
+
|
|
2670
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2671
|
+
tags:
|
|
2672
|
+
- name: Events
|
|
2673
|
+
channel:
|
|
2674
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.created'
|
|
2675
|
+
eventCellUpdated:
|
|
2676
|
+
action: send
|
|
2677
|
+
title: Cell Updated
|
|
2678
|
+
description: |
|
|
2679
|
+
Publishes an event when a cell foundation release is updated.
|
|
2680
|
+
|
|
2681
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2682
|
+
tags:
|
|
2683
|
+
- name: Events
|
|
2684
|
+
channel:
|
|
2685
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.updated'
|
|
2686
|
+
eventCellDeleted:
|
|
2687
|
+
action: send
|
|
2688
|
+
title: Cell Deleted
|
|
2689
|
+
description: |
|
|
2690
|
+
Publishes an event when a cell foundation release is deleted.
|
|
2691
|
+
|
|
2692
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2693
|
+
tags:
|
|
2694
|
+
- name: Events
|
|
2695
|
+
channel:
|
|
2696
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.deleted'
|
|
2697
|
+
eventAppCreated:
|
|
2698
|
+
action: send
|
|
2699
|
+
title: App Created
|
|
2700
|
+
description: |
|
|
2701
|
+
Publishes an event when an app release is created in a cell.
|
|
2702
|
+
|
|
2703
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2704
|
+
tags:
|
|
2705
|
+
- name: Events
|
|
2706
|
+
channel:
|
|
2707
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.apps.{app}.created'
|
|
2708
|
+
eventAppUpdated:
|
|
2709
|
+
action: send
|
|
2710
|
+
title: App Updated
|
|
2711
|
+
description: |
|
|
2712
|
+
Publishes an event when an app release is updated in a cell.
|
|
2713
|
+
|
|
2714
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2715
|
+
tags:
|
|
2716
|
+
- name: Events
|
|
2717
|
+
channel:
|
|
2718
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.apps.{app}.updated'
|
|
2719
|
+
eventAppDeleted:
|
|
2720
|
+
action: send
|
|
2721
|
+
title: App Deleted
|
|
2722
|
+
description: |
|
|
2723
|
+
Publishes an event when an app release is deleted from a cell.
|
|
2724
|
+
|
|
2725
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2726
|
+
tags:
|
|
2727
|
+
- name: Events
|
|
2728
|
+
channel:
|
|
2729
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.apps.{app}.deleted'
|
|
2730
|
+
eventRobotControllerCreated:
|
|
2731
|
+
action: send
|
|
2732
|
+
title: Robot Controller Created
|
|
2733
|
+
description: |
|
|
2734
|
+
Publishes an event when a robot controller release is created in a cell.
|
|
2735
|
+
|
|
2736
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2737
|
+
tags:
|
|
2738
|
+
- name: Events
|
|
2739
|
+
channel:
|
|
2740
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.controllers.{controller}.created'
|
|
2741
|
+
eventRobotControllerUpdated:
|
|
2742
|
+
action: send
|
|
2743
|
+
title: Robot Controller Updated
|
|
2744
|
+
description: |
|
|
2745
|
+
Publishes an event when a robot controller release is updated in a cell.
|
|
2746
|
+
|
|
2747
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2748
|
+
tags:
|
|
2749
|
+
- name: Events
|
|
2750
|
+
channel:
|
|
2751
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.controllers.{controller}.updated'
|
|
2752
|
+
eventRobotControllerDeleted:
|
|
2753
|
+
action: send
|
|
2754
|
+
title: Robot Controller Deleted
|
|
2755
|
+
description: |
|
|
2756
|
+
Publishes an event when a robot controller release is deleted from a cell.
|
|
2757
|
+
|
|
2758
|
+
The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
|
|
2759
|
+
tags:
|
|
2760
|
+
- name: Events
|
|
2761
|
+
channel:
|
|
2762
|
+
$ref: '#/channels/{instance}.v2.events.cells.{cell}.controllers.{controller}.deleted'
|
|
2763
|
+
channels:
|
|
2764
|
+
'{instance}.v2.cells.{cell}':
|
|
2765
|
+
address: '{instance}.v2.cells.{cell}'
|
|
2766
|
+
parameters:
|
|
2767
|
+
instance:
|
|
2768
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2769
|
+
default: nova
|
|
2770
|
+
cell:
|
|
2771
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2772
|
+
messages:
|
|
2773
|
+
Cell:
|
|
2774
|
+
contentType: application/json
|
|
2775
|
+
payload:
|
|
2776
|
+
$ref: '#/components/schemas/Cell'
|
|
2777
|
+
x-nats-jetstream-stream:
|
|
2778
|
+
name: system-state
|
|
2779
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2780
|
+
retention: limits
|
|
2781
|
+
discard: old
|
|
2782
|
+
storage: file
|
|
2783
|
+
max_msgs_per_subject: 1
|
|
2784
|
+
'{instance}.v2.cells.{cell}.apps.{app}':
|
|
2785
|
+
address: '{instance}.v2.cells.{cell}.apps.{app}'
|
|
2786
|
+
parameters:
|
|
2787
|
+
instance:
|
|
2788
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2789
|
+
default: nova
|
|
2790
|
+
cell:
|
|
2791
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2792
|
+
app:
|
|
2793
|
+
description: |
|
|
2794
|
+
Name of the provided application.
|
|
2795
|
+
Must be unique within the cell and is used as an identifier for addressing the application in all API calls, e.g., when updating the application.
|
|
2796
|
+
messages:
|
|
2797
|
+
App:
|
|
2798
|
+
contentType: application/json
|
|
2799
|
+
payload:
|
|
2800
|
+
$ref: '#/components/schemas/App'
|
|
2801
|
+
x-nats-jetstream-stream:
|
|
2802
|
+
name: system-state
|
|
2803
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2804
|
+
retention: limits
|
|
2805
|
+
discard: old
|
|
2806
|
+
storage: file
|
|
2807
|
+
max_msgs_per_subject: 1
|
|
2808
|
+
'{instance}.v2.cells.{cell}.programs':
|
|
2809
|
+
address: '{instance}.v2.cells.{cell}.programs'
|
|
2810
|
+
parameters:
|
|
2811
|
+
instance:
|
|
2812
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2813
|
+
default: nova
|
|
2814
|
+
cell:
|
|
2815
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2816
|
+
messages:
|
|
2817
|
+
ProgramStatus:
|
|
2818
|
+
contentType: application/json
|
|
2819
|
+
payload:
|
|
2820
|
+
$ref: '#/components/schemas/ProgramStatus'
|
|
2821
|
+
'{instance}.v2.cells.{cell}.controllers.{controller}':
|
|
2822
|
+
address: '{instance}.v2.cells.{cell}.controllers.{controller}'
|
|
2823
|
+
parameters:
|
|
2824
|
+
instance:
|
|
2825
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2826
|
+
default: nova
|
|
2827
|
+
cell:
|
|
2828
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2829
|
+
controller:
|
|
2830
|
+
description: Unique identifier to address a controller in the cell.
|
|
2831
|
+
messages:
|
|
2832
|
+
RobotController:
|
|
2833
|
+
contentType: application/json
|
|
2834
|
+
payload:
|
|
2835
|
+
$ref: '#/components/schemas/RobotController'
|
|
2836
|
+
x-nats-jetstream-stream:
|
|
2837
|
+
name: system-state
|
|
2838
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2839
|
+
retention: limits
|
|
2840
|
+
discard: old
|
|
2841
|
+
storage: file
|
|
2842
|
+
max_msgs_per_subject: 1
|
|
2843
|
+
'{instance}.v2.cells.{cell}.status':
|
|
2844
|
+
address: '{instance}.v2.cells.{cell}.status'
|
|
2845
|
+
parameters:
|
|
2846
|
+
instance:
|
|
2847
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2848
|
+
default: nova
|
|
2849
|
+
cell:
|
|
2850
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2851
|
+
messages:
|
|
2852
|
+
StatusList:
|
|
2853
|
+
contentType: application/json
|
|
2854
|
+
payload:
|
|
2855
|
+
$ref: '#/components/schemas/ServiceStatusList'
|
|
2856
|
+
x-nats-jetstream-stream:
|
|
2857
|
+
name: system-state
|
|
2858
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2859
|
+
retention: limits
|
|
2860
|
+
discard: old
|
|
2861
|
+
storage: file
|
|
2862
|
+
max_msgs_per_subject: 1
|
|
2863
|
+
'{instance}.v2.cells.{cell}.cycle':
|
|
2864
|
+
address: '{instance}.v2.cells.{cell}.cycle'
|
|
2865
|
+
parameters:
|
|
2866
|
+
instance:
|
|
2867
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2868
|
+
default: nova
|
|
2869
|
+
cell:
|
|
2870
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2871
|
+
messages:
|
|
2872
|
+
CellCycleEvent:
|
|
2873
|
+
contentType: application/json
|
|
2874
|
+
payload:
|
|
2875
|
+
$ref: '#/components/schemas/CellCycleEvent'
|
|
2876
|
+
'{instance}.v2.system.status':
|
|
2877
|
+
address: '{instance}.v2.system.status'
|
|
2878
|
+
parameters:
|
|
2879
|
+
instance:
|
|
2880
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2881
|
+
default: nova
|
|
2882
|
+
messages:
|
|
2883
|
+
StatusList:
|
|
2884
|
+
contentType: application/json
|
|
2885
|
+
payload:
|
|
2886
|
+
$ref: '#/components/schemas/ServiceStatusList'
|
|
2887
|
+
x-nats-jetstream-stream:
|
|
2888
|
+
name: system-state
|
|
2889
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2890
|
+
retention: limits
|
|
2891
|
+
discard: old
|
|
2892
|
+
storage: file
|
|
2893
|
+
max_msgs_per_subject: 1
|
|
2894
|
+
'{instance}.v2.cells.{cell}.collision.setups.{setup}':
|
|
2895
|
+
address: '{instance}.v2.cells.{cell}.collision.setups.{setup}'
|
|
2896
|
+
parameters:
|
|
2897
|
+
instance:
|
|
2898
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2899
|
+
default: nova
|
|
2900
|
+
cell:
|
|
2901
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2902
|
+
setup:
|
|
2903
|
+
description: Unique identifier addressing a collision setup.
|
|
2904
|
+
messages:
|
|
2905
|
+
StatusList:
|
|
2906
|
+
contentType: application/json
|
|
2907
|
+
payload:
|
|
2908
|
+
$ref: '#/components/schemas/CollisionSetup'
|
|
2909
|
+
x-nats-jetstream-stream:
|
|
2910
|
+
name: system-state
|
|
2911
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2912
|
+
retention: limits
|
|
2913
|
+
discard: old
|
|
2914
|
+
storage: file
|
|
2915
|
+
max_msgs_per_subject: 1
|
|
2916
|
+
'{instance}.v2.cells.{cell}.bus-ios.status':
|
|
2917
|
+
address: '{instance}.v2.cells.{cell}.bus-ios.status'
|
|
2918
|
+
parameters:
|
|
2919
|
+
instance:
|
|
2920
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2921
|
+
default: nova
|
|
2922
|
+
cell:
|
|
2923
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2924
|
+
messages:
|
|
2925
|
+
Status:
|
|
2926
|
+
contentType: application/json
|
|
2927
|
+
payload:
|
|
2928
|
+
$ref: '#/components/schemas/BusIOsState'
|
|
2929
|
+
x-nats-jetstream-stream:
|
|
2930
|
+
name: system-state
|
|
2931
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
2932
|
+
retention: limits
|
|
2933
|
+
discard: old
|
|
2934
|
+
storage: file
|
|
2935
|
+
max_msgs_per_subject: 1
|
|
2936
|
+
'{instance}.v2.cells.{cell}.bus-ios.ios':
|
|
2937
|
+
address: '{instance}.v2.cells.{cell}.bus-ios.ios'
|
|
2938
|
+
parameters:
|
|
2939
|
+
instance:
|
|
2940
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2941
|
+
default: nova
|
|
2942
|
+
cell:
|
|
2943
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2944
|
+
messages:
|
|
2945
|
+
IOValues:
|
|
2946
|
+
contentType: application/json
|
|
2947
|
+
payload:
|
|
2948
|
+
$ref: '#/components/schemas/ListIOValuesResponse'
|
|
2949
|
+
'{instance}.v2.cells.{cell}.bus-ios.ios.set':
|
|
2950
|
+
address: '{instance}.v2.cells.{cell}.bus-ios.ios.set'
|
|
2951
|
+
parameters:
|
|
2952
|
+
instance:
|
|
2953
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2954
|
+
default: nova
|
|
2955
|
+
cell:
|
|
2956
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2957
|
+
messages:
|
|
2958
|
+
BUSIOValues:
|
|
2959
|
+
contentType: application/json
|
|
2960
|
+
headers:
|
|
2961
|
+
type: object
|
|
2962
|
+
properties:
|
|
2963
|
+
replyTo:
|
|
2964
|
+
type: string
|
|
2965
|
+
description: Address to send the response to.
|
|
2966
|
+
payload:
|
|
2967
|
+
$ref: '#/components/schemas/ListIOValuesResponse'
|
|
2968
|
+
'{instance}.v2.cells.{cell}.bus-ios.ios.set.reply':
|
|
2969
|
+
address: null
|
|
2970
|
+
messages:
|
|
2971
|
+
Response:
|
|
2972
|
+
contentType: application/json
|
|
2973
|
+
payload:
|
|
2974
|
+
$ref: '#/components/schemas/Error'
|
|
2975
|
+
'{instance}.v2.cells.{cell}.controllers.{controller}.ios.select':
|
|
2976
|
+
address: '{instance}.v2.cells.{cell}.controllers.{controller}.ios.select'
|
|
2977
|
+
parameters:
|
|
2978
|
+
instance:
|
|
2979
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
2980
|
+
default: nova
|
|
2981
|
+
cell:
|
|
2982
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
2983
|
+
controller:
|
|
2984
|
+
description: Unique identifier to address a controller in a cell.
|
|
2985
|
+
messages:
|
|
2986
|
+
IOValues:
|
|
2987
|
+
contentType: application/json
|
|
2988
|
+
headers:
|
|
2989
|
+
type: object
|
|
2990
|
+
properties:
|
|
2991
|
+
replyTo:
|
|
2992
|
+
type: string
|
|
2993
|
+
description: Address to send the response to.
|
|
2994
|
+
payload:
|
|
2995
|
+
$ref: '#/components/schemas/SelectIOs'
|
|
2996
|
+
'{instance}.v2.cells.{cell}.controllers.{controller}.ios.select.reply':
|
|
2997
|
+
address: null
|
|
2998
|
+
messages:
|
|
2999
|
+
Response:
|
|
3000
|
+
contentType: application/json
|
|
3001
|
+
payload:
|
|
3002
|
+
$ref: '#/components/schemas/Error'
|
|
3003
|
+
'{instance}.v2.cells.{cell}.controllers.{controller}.ios':
|
|
3004
|
+
address: '{instance}.v2.cells.{cell}.controllers.{controller}.ios'
|
|
3005
|
+
parameters:
|
|
3006
|
+
instance:
|
|
3007
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3008
|
+
default: nova
|
|
3009
|
+
cell:
|
|
3010
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3011
|
+
controller:
|
|
3012
|
+
description: Unique identifier to address a controller in the cell.
|
|
3013
|
+
messages:
|
|
3014
|
+
IOValues:
|
|
3015
|
+
contentType: application/json
|
|
3016
|
+
payload:
|
|
3017
|
+
$ref: '#/components/schemas/StreamIOValuesResponse'
|
|
3018
|
+
'{instance}.v2.cells.{cell}.controllers.{controller}.state':
|
|
3019
|
+
address: '{instance}.v2.cells.{cell}.controllers.{controller}.state'
|
|
3020
|
+
parameters:
|
|
3021
|
+
instance:
|
|
3022
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3023
|
+
default: nova
|
|
3024
|
+
cell:
|
|
3025
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3026
|
+
controller:
|
|
3027
|
+
description: Unique identifier to address a controller in the cell.
|
|
3028
|
+
messages:
|
|
3029
|
+
RobotControllerState:
|
|
3030
|
+
contentType: application/json
|
|
3031
|
+
payload:
|
|
3032
|
+
$ref: '#/components/schemas/RobotControllerState'
|
|
3033
|
+
'{instance}.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description':
|
|
3034
|
+
address: '{instance}.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description'
|
|
3035
|
+
parameters:
|
|
3036
|
+
instance:
|
|
3037
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3038
|
+
default: nova
|
|
3039
|
+
cell:
|
|
3040
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3041
|
+
controller:
|
|
3042
|
+
description: Unique identifier addressing a controller in the cell.
|
|
3043
|
+
motion-group:
|
|
3044
|
+
description: Motion group identifier.
|
|
3045
|
+
messages:
|
|
3046
|
+
MotionGroupDescription:
|
|
3047
|
+
contentType: application/json
|
|
3048
|
+
payload:
|
|
3049
|
+
$ref: '#/components/schemas/MotionGroupDescription'
|
|
3050
|
+
x-nats-jetstream-stream:
|
|
3051
|
+
name: system-state
|
|
3052
|
+
description: Stream for system state messages, only the latest message per subject is kept.
|
|
3053
|
+
retention: limits
|
|
3054
|
+
discard: old
|
|
3055
|
+
storage: file
|
|
3056
|
+
max_msgs_per_subject: 1
|
|
3057
|
+
'{instance}.v2.events.system.update.started':
|
|
3058
|
+
address: '{instance}.v2.events.system.update.started'
|
|
3059
|
+
parameters:
|
|
3060
|
+
instance:
|
|
3061
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3062
|
+
default: nova
|
|
3063
|
+
messages:
|
|
3064
|
+
SystemUpdateStarted:
|
|
3065
|
+
name: SystemUpdateStarted
|
|
3066
|
+
title: System Update Started Event
|
|
3067
|
+
contentType: application/json
|
|
3068
|
+
description: |
|
|
3069
|
+
CloudEvents v1.0 compliant event published when a system update is initiated.
|
|
3070
|
+
Contains comprehensive metadata about the update process and pre-update checks.
|
|
3071
|
+
payload:
|
|
3072
|
+
$ref: '#/components/schemas/SystemUpdateStartedEvent'
|
|
3073
|
+
examples:
|
|
3074
|
+
- name: successful_update
|
|
3075
|
+
summary: Update successfully initiated
|
|
3076
|
+
payload:
|
|
3077
|
+
specversion: '1.0'
|
|
3078
|
+
type: nova.v2.events.system.update.started
|
|
3079
|
+
source: /nova/service-manager
|
|
3080
|
+
id: update-nova-20250127T100000Z
|
|
3081
|
+
time: '2025-01-27T10:00:00Z'
|
|
3082
|
+
datacontenttype: application/json
|
|
3083
|
+
data:
|
|
3084
|
+
newVersion: 2.1.0
|
|
3085
|
+
oldVersion: 2.0.5
|
|
3086
|
+
x-nats-jetstream-stream:
|
|
3087
|
+
name: system-events
|
|
3088
|
+
description: '|'
|
|
3089
|
+
retention: limits
|
|
3090
|
+
discard: old
|
|
3091
|
+
storage: file
|
|
3092
|
+
max_msgs: 10000
|
|
3093
|
+
max_bytes: '104857600 # 100MiB'
|
|
3094
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3095
|
+
max_msg_size: '10240 # 10KiB'
|
|
3096
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3097
|
+
subjects:
|
|
3098
|
+
- nova.v2.events.>
|
|
3099
|
+
'{instance}.v2.events.system.update.completed':
|
|
3100
|
+
address: '{instance}.v2.events.system.update.completed'
|
|
3101
|
+
parameters:
|
|
3102
|
+
instance:
|
|
3103
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3104
|
+
default: nova
|
|
3105
|
+
messages:
|
|
3106
|
+
SystemUpdateCompleted:
|
|
3107
|
+
name: SystemUpdateCompleted
|
|
3108
|
+
title: System Update Completed Event
|
|
3109
|
+
contentType: application/json
|
|
3110
|
+
description: |
|
|
3111
|
+
CloudEvents v1.0 compliant event published when a system update is completed.
|
|
3112
|
+
Success is indicated by absence of error field.
|
|
3113
|
+
payload:
|
|
3114
|
+
$ref: '#/components/schemas/SystemUpdateCompletedEvent'
|
|
3115
|
+
examples:
|
|
3116
|
+
- name: successful_update
|
|
3117
|
+
summary: Successful system update
|
|
3118
|
+
payload:
|
|
3119
|
+
specversion: '1.0'
|
|
3120
|
+
type: nova.v2.events.system.update.completed
|
|
3121
|
+
source: /nova/service-manager
|
|
3122
|
+
id: update-nova-20250127T100000Z
|
|
3123
|
+
time: '2025-01-27T10:05:00Z'
|
|
3124
|
+
datacontenttype: application/json
|
|
3125
|
+
data:
|
|
3126
|
+
newVersion: 2.1.0
|
|
3127
|
+
- name: failed_update
|
|
3128
|
+
summary: Failed system update with error
|
|
3129
|
+
payload:
|
|
3130
|
+
specversion: '1.0'
|
|
3131
|
+
type: nova.v2.events.system.update.completed
|
|
3132
|
+
source: /nova/service-manager
|
|
3133
|
+
id: update-nova-20250127T120000Z
|
|
3134
|
+
time: '2025-01-27T12:30:00Z'
|
|
3135
|
+
datacontenttype: application/json
|
|
3136
|
+
data:
|
|
3137
|
+
newVersion: 2.1.0
|
|
3138
|
+
error: 'Helm upgrade failed: context deadline exceeded'
|
|
3139
|
+
x-nats-jetstream-stream:
|
|
3140
|
+
name: system-events
|
|
3141
|
+
description: '|'
|
|
3142
|
+
retention: limits
|
|
3143
|
+
discard: old
|
|
3144
|
+
storage: file
|
|
3145
|
+
max_msgs: 10000
|
|
3146
|
+
max_bytes: '104857600 # 100MiB'
|
|
3147
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3148
|
+
max_msg_size: '10240 # 10KiB'
|
|
3149
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3150
|
+
subjects:
|
|
3151
|
+
- nova.v2.events.>
|
|
3152
|
+
'{instance}.v2.events.system.network.status.changed':
|
|
3153
|
+
address: '{instance}.v2.events.system.network.status.changed'
|
|
3154
|
+
parameters:
|
|
3155
|
+
instance:
|
|
3156
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3157
|
+
default: nova
|
|
3158
|
+
messages:
|
|
3159
|
+
NetworkStatusChanged:
|
|
3160
|
+
name: NetworkStatusChanged
|
|
3161
|
+
title: System Network Status Changed Event
|
|
3162
|
+
contentType: application/json
|
|
3163
|
+
description: |
|
|
3164
|
+
CloudEvents v1.0 compliant event published when a system network status changes.
|
|
3165
|
+
payload:
|
|
3166
|
+
$ref: '#/components/schemas/NetworkStatusChangedEvent'
|
|
3167
|
+
examples:
|
|
3168
|
+
- name: network_status_disconnected
|
|
3169
|
+
summary: System network disconnected event
|
|
3170
|
+
payload:
|
|
3171
|
+
specversion: '1.0'
|
|
3172
|
+
type: nova.v2.events.system.network.status.changed
|
|
3173
|
+
source: /nova/system-info
|
|
3174
|
+
id: network-status-change-20240615T101500Z
|
|
3175
|
+
time: '2024-06-15T10:15:00Z'
|
|
3176
|
+
datacontenttype: application/json
|
|
3177
|
+
data:
|
|
3178
|
+
internet_connected: false
|
|
3179
|
+
x-nats-jetstream-stream:
|
|
3180
|
+
name: system-events
|
|
3181
|
+
description: '|'
|
|
3182
|
+
retention: limits
|
|
3183
|
+
discard: old
|
|
3184
|
+
storage: file
|
|
3185
|
+
max_msgs: 10000
|
|
3186
|
+
max_bytes: '104857600 # 100MiB'
|
|
3187
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3188
|
+
max_msg_size: '10240 # 10KiB'
|
|
3189
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3190
|
+
subjects:
|
|
3191
|
+
- nova.v2.events.>
|
|
3192
|
+
'{instance}.v2.events.cells.{cell}.created':
|
|
3193
|
+
address: '{instance}.v2.events.cells.{cell}.created'
|
|
3194
|
+
parameters:
|
|
3195
|
+
instance:
|
|
3196
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3197
|
+
default: nova
|
|
3198
|
+
cell:
|
|
3199
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3200
|
+
messages:
|
|
3201
|
+
CellCreated:
|
|
3202
|
+
name: CellCreated
|
|
3203
|
+
title: Cell Created Event
|
|
3204
|
+
contentType: application/json
|
|
3205
|
+
description: |
|
|
3206
|
+
CloudEvents v1.0 compliant event published when a cell foundation release is created.
|
|
3207
|
+
payload:
|
|
3208
|
+
$ref: '#/components/schemas/CellCreatedEvent'
|
|
3209
|
+
examples:
|
|
3210
|
+
- name: cell_created
|
|
3211
|
+
summary: Cell foundation release created.
|
|
3212
|
+
payload:
|
|
3213
|
+
specversion: '1.0'
|
|
3214
|
+
type: nova.v2.events.cells.demo.created
|
|
3215
|
+
source: /nova/service-manager
|
|
3216
|
+
id: nova.v2.events.cells.demo.created.1737972000
|
|
3217
|
+
time: '2025-01-27T10:00:00Z'
|
|
3218
|
+
datacontenttype: application/json
|
|
3219
|
+
data:
|
|
3220
|
+
version: 2.1.0
|
|
3221
|
+
operating_state: ACTIVE
|
|
3222
|
+
x-nats-jetstream-stream:
|
|
3223
|
+
name: system-events
|
|
3224
|
+
description: '|'
|
|
3225
|
+
retention: limits
|
|
3226
|
+
discard: old
|
|
3227
|
+
storage: file
|
|
3228
|
+
max_msgs: 10000
|
|
3229
|
+
max_bytes: '104857600 # 100MiB'
|
|
3230
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3231
|
+
max_msg_size: '10240 # 10KiB'
|
|
3232
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3233
|
+
subjects:
|
|
3234
|
+
- nova.v2.events.>
|
|
3235
|
+
'{instance}.v2.events.cells.{cell}.updated':
|
|
3236
|
+
address: '{instance}.v2.events.cells.{cell}.updated'
|
|
3237
|
+
parameters:
|
|
3238
|
+
instance:
|
|
3239
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3240
|
+
default: nova
|
|
3241
|
+
cell:
|
|
3242
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3243
|
+
messages:
|
|
3244
|
+
CellUpdated:
|
|
3245
|
+
name: CellUpdated
|
|
3246
|
+
title: Cell Updated Event
|
|
3247
|
+
contentType: application/json
|
|
3248
|
+
description: |
|
|
3249
|
+
CloudEvents v1.0 compliant event published when a cell foundation release is updated.
|
|
3250
|
+
payload:
|
|
3251
|
+
$ref: '#/components/schemas/CellUpdatedEvent'
|
|
3252
|
+
examples:
|
|
3253
|
+
- name: cell_updated
|
|
3254
|
+
summary: Cell foundation release updated.
|
|
3255
|
+
payload:
|
|
3256
|
+
specversion: '1.0'
|
|
3257
|
+
type: nova.v2.events.cells.demo.updated
|
|
3258
|
+
source: /nova/service-manager
|
|
3259
|
+
id: nova.v2.events.cells.demo.updated.1737972600
|
|
3260
|
+
time: '2025-01-27T10:10:00Z'
|
|
3261
|
+
datacontenttype: application/json
|
|
3262
|
+
data:
|
|
3263
|
+
version: 2.1.1
|
|
3264
|
+
operating_state: ACTIVE
|
|
3265
|
+
x-nats-jetstream-stream:
|
|
3266
|
+
name: system-events
|
|
3267
|
+
description: '|'
|
|
3268
|
+
retention: limits
|
|
3269
|
+
discard: old
|
|
3270
|
+
storage: file
|
|
3271
|
+
max_msgs: 10000
|
|
3272
|
+
max_bytes: '104857600 # 100MiB'
|
|
3273
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3274
|
+
max_msg_size: '10240 # 10KiB'
|
|
3275
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3276
|
+
subjects:
|
|
3277
|
+
- nova.v2.events.>
|
|
3278
|
+
'{instance}.v2.events.cells.{cell}.deleted':
|
|
3279
|
+
address: '{instance}.v2.events.cells.{cell}.deleted'
|
|
3280
|
+
parameters:
|
|
3281
|
+
instance:
|
|
3282
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3283
|
+
default: nova
|
|
3284
|
+
cell:
|
|
3285
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3286
|
+
messages:
|
|
3287
|
+
CellDeleted:
|
|
3288
|
+
name: CellDeleted
|
|
3289
|
+
title: Cell Deleted Event
|
|
3290
|
+
contentType: application/json
|
|
3291
|
+
description: |
|
|
3292
|
+
CloudEvents v1.0 compliant event published when a cell foundation release is deleted.
|
|
3293
|
+
payload:
|
|
3294
|
+
$ref: '#/components/schemas/CellDeletedEvent'
|
|
3295
|
+
examples:
|
|
3296
|
+
- name: cell_deleted
|
|
3297
|
+
summary: Cell foundation release deleted.
|
|
3298
|
+
payload:
|
|
3299
|
+
specversion: '1.0'
|
|
3300
|
+
type: nova.v2.events.cells.demo.deleted
|
|
3301
|
+
source: /nova/service-manager
|
|
3302
|
+
id: nova.v2.events.cells.demo.deleted.1737973200
|
|
3303
|
+
time: '2025-01-27T10:20:00Z'
|
|
3304
|
+
datacontenttype: application/json
|
|
3305
|
+
data:
|
|
3306
|
+
version: 2.1.1
|
|
3307
|
+
operating_state: ACTIVE
|
|
3308
|
+
x-nats-jetstream-stream:
|
|
3309
|
+
name: system-events
|
|
3310
|
+
description: '|'
|
|
3311
|
+
retention: limits
|
|
3312
|
+
discard: old
|
|
3313
|
+
storage: file
|
|
3314
|
+
max_msgs: 10000
|
|
3315
|
+
max_bytes: '104857600 # 100MiB'
|
|
3316
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3317
|
+
max_msg_size: '10240 # 10KiB'
|
|
3318
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3319
|
+
subjects:
|
|
3320
|
+
- nova.v2.events.>
|
|
3321
|
+
'{instance}.v2.events.cells.{cell}.apps.{app}.created':
|
|
3322
|
+
address: '{instance}.v2.events.cells.{cell}.apps.{app}.created'
|
|
3323
|
+
parameters:
|
|
3324
|
+
instance:
|
|
3325
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3326
|
+
default: nova
|
|
3327
|
+
cell:
|
|
3328
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3329
|
+
app:
|
|
3330
|
+
description: Unique identifier addressing an app in the cell.
|
|
3331
|
+
messages:
|
|
3332
|
+
AppCreated:
|
|
3333
|
+
name: AppCreated
|
|
3334
|
+
title: App Created Event
|
|
3335
|
+
contentType: application/json
|
|
3336
|
+
description: |
|
|
3337
|
+
CloudEvents v1.0 compliant event published when an app release is created in a cell.
|
|
3338
|
+
payload:
|
|
3339
|
+
$ref: '#/components/schemas/AppCreatedEvent'
|
|
3340
|
+
examples:
|
|
3341
|
+
- name: app_created
|
|
3342
|
+
summary: App release created.
|
|
3343
|
+
payload:
|
|
3344
|
+
specversion: '1.0'
|
|
3345
|
+
type: nova.v2.events.cells.demo.apps.portal.created
|
|
3346
|
+
source: /nova/service-manager
|
|
3347
|
+
id: nova.v2.events.cells.demo.apps.portal.created.1737972000
|
|
3348
|
+
time: '2025-01-27T10:00:00Z'
|
|
3349
|
+
datacontenttype: application/json
|
|
3350
|
+
data:
|
|
3351
|
+
image: example.com/demo/portal:1.0.0
|
|
3352
|
+
operating_state: ACTIVE
|
|
3353
|
+
x-nats-jetstream-stream:
|
|
3354
|
+
name: system-events
|
|
3355
|
+
description: '|'
|
|
3356
|
+
retention: limits
|
|
3357
|
+
discard: old
|
|
3358
|
+
storage: file
|
|
3359
|
+
max_msgs: 10000
|
|
3360
|
+
max_bytes: '104857600 # 100MiB'
|
|
3361
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3362
|
+
max_msg_size: '10240 # 10KiB'
|
|
3363
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3364
|
+
subjects:
|
|
3365
|
+
- nova.v2.events.>
|
|
3366
|
+
'{instance}.v2.events.cells.{cell}.apps.{app}.updated':
|
|
3367
|
+
address: '{instance}.v2.events.cells.{cell}.apps.{app}.updated'
|
|
3368
|
+
parameters:
|
|
3369
|
+
instance:
|
|
3370
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3371
|
+
default: nova
|
|
3372
|
+
cell:
|
|
3373
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3374
|
+
app:
|
|
3375
|
+
description: Unique identifier addressing an app in the cell.
|
|
3376
|
+
messages:
|
|
3377
|
+
AppUpdated:
|
|
3378
|
+
name: AppUpdated
|
|
3379
|
+
title: App Updated Event
|
|
3380
|
+
contentType: application/json
|
|
3381
|
+
description: |
|
|
3382
|
+
CloudEvents v1.0 compliant event published when an app release is updated in a cell.
|
|
3383
|
+
payload:
|
|
3384
|
+
$ref: '#/components/schemas/AppUpdatedEvent'
|
|
3385
|
+
examples:
|
|
3386
|
+
- name: app_updated
|
|
3387
|
+
summary: App release updated.
|
|
3388
|
+
payload:
|
|
3389
|
+
specversion: '1.0'
|
|
3390
|
+
type: nova.v2.events.cells.demo.apps.portal.updated
|
|
3391
|
+
source: /nova/service-manager
|
|
3392
|
+
id: nova.v2.events.cells.demo.apps.portal.updated.1737972600
|
|
3393
|
+
time: '2025-01-27T10:10:00Z'
|
|
3394
|
+
datacontenttype: application/json
|
|
3395
|
+
data:
|
|
3396
|
+
image: example.com/demo/portal:1.1.0
|
|
3397
|
+
operating_state: INACTIVE
|
|
3398
|
+
x-nats-jetstream-stream:
|
|
3399
|
+
name: system-events
|
|
3400
|
+
description: '|'
|
|
3401
|
+
retention: limits
|
|
3402
|
+
discard: old
|
|
3403
|
+
storage: file
|
|
3404
|
+
max_msgs: 10000
|
|
3405
|
+
max_bytes: '104857600 # 100MiB'
|
|
3406
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3407
|
+
max_msg_size: '10240 # 10KiB'
|
|
3408
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3409
|
+
subjects:
|
|
3410
|
+
- nova.v2.events.>
|
|
3411
|
+
'{instance}.v2.events.cells.{cell}.apps.{app}.deleted':
|
|
3412
|
+
address: '{instance}.v2.events.cells.{cell}.apps.{app}.deleted'
|
|
3413
|
+
parameters:
|
|
3414
|
+
instance:
|
|
3415
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3416
|
+
default: nova
|
|
3417
|
+
cell:
|
|
3418
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3419
|
+
app:
|
|
3420
|
+
description: Unique identifier addressing an app in the cell.
|
|
3421
|
+
messages:
|
|
3422
|
+
AppDeleted:
|
|
3423
|
+
name: AppDeleted
|
|
3424
|
+
title: App Deleted Event
|
|
3425
|
+
contentType: application/json
|
|
3426
|
+
description: |
|
|
3427
|
+
CloudEvents v1.0 compliant event published when an app release is deleted from a cell.
|
|
3428
|
+
payload:
|
|
3429
|
+
$ref: '#/components/schemas/AppDeletedEvent'
|
|
3430
|
+
examples:
|
|
3431
|
+
- name: app_deleted
|
|
3432
|
+
summary: App release deleted.
|
|
3433
|
+
payload:
|
|
3434
|
+
specversion: '1.0'
|
|
3435
|
+
type: nova.v2.events.cells.demo.apps.portal.deleted
|
|
3436
|
+
source: /nova/service-manager
|
|
3437
|
+
id: nova.v2.events.cells.demo.apps.portal.deleted.1737973200
|
|
3438
|
+
time: '2025-01-27T10:20:00Z'
|
|
3439
|
+
datacontenttype: application/json
|
|
3440
|
+
data:
|
|
3441
|
+
image: example.com/demo/portal:1.1.0
|
|
3442
|
+
operating_state: INACTIVE
|
|
3443
|
+
x-nats-jetstream-stream:
|
|
3444
|
+
name: system-events
|
|
3445
|
+
description: '|'
|
|
3446
|
+
retention: limits
|
|
3447
|
+
discard: old
|
|
3448
|
+
storage: file
|
|
3449
|
+
max_msgs: 10000
|
|
3450
|
+
max_bytes: '104857600 # 100MiB'
|
|
3451
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3452
|
+
max_msg_size: '10240 # 10KiB'
|
|
3453
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3454
|
+
subjects:
|
|
3455
|
+
- nova.v2.events.>
|
|
3456
|
+
'{instance}.v2.events.cells.{cell}.controllers.{controller}.created':
|
|
3457
|
+
address: '{instance}.v2.events.cells.{cell}.controllers.{controller}.created'
|
|
3458
|
+
parameters:
|
|
3459
|
+
instance:
|
|
3460
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3461
|
+
default: nova
|
|
3462
|
+
cell:
|
|
3463
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3464
|
+
controller:
|
|
3465
|
+
description: Unique identifier to address a controller in the cell.
|
|
3466
|
+
messages:
|
|
3467
|
+
RobotControllerCreated:
|
|
3468
|
+
name: RobotControllerCreated
|
|
3469
|
+
title: Robot Controller Created Event
|
|
3470
|
+
contentType: application/json
|
|
3471
|
+
description: |
|
|
3472
|
+
CloudEvents v1.0 compliant event published when a robot controller release is created in a cell.
|
|
3473
|
+
payload:
|
|
3474
|
+
$ref: '#/components/schemas/RobotControllerCreatedEvent'
|
|
3475
|
+
examples:
|
|
3476
|
+
- name: robot_controller_created
|
|
3477
|
+
summary: Robot controller release created.
|
|
3478
|
+
payload:
|
|
3479
|
+
specversion: '1.0'
|
|
3480
|
+
type: nova.v2.events.cells.demo.controllers.ur10e.created
|
|
3481
|
+
source: /nova/service-manager
|
|
3482
|
+
id: nova.v2.events.cells.demo.controllers.ur10e.created.1737972000
|
|
3483
|
+
time: '2025-01-27T10:00:00Z'
|
|
3484
|
+
datacontenttype: application/json
|
|
3485
|
+
data:
|
|
3486
|
+
manufacturer: universalrobots
|
|
3487
|
+
virtual: false
|
|
3488
|
+
operating_state: ACTIVE
|
|
3489
|
+
x-nats-jetstream-stream:
|
|
3490
|
+
name: system-events
|
|
3491
|
+
description: '|'
|
|
3492
|
+
retention: limits
|
|
3493
|
+
discard: old
|
|
3494
|
+
storage: file
|
|
3495
|
+
max_msgs: 10000
|
|
3496
|
+
max_bytes: '104857600 # 100MiB'
|
|
3497
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3498
|
+
max_msg_size: '10240 # 10KiB'
|
|
3499
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3500
|
+
subjects:
|
|
3501
|
+
- nova.v2.events.>
|
|
3502
|
+
'{instance}.v2.events.cells.{cell}.controllers.{controller}.updated':
|
|
3503
|
+
address: '{instance}.v2.events.cells.{cell}.controllers.{controller}.updated'
|
|
3504
|
+
parameters:
|
|
3505
|
+
instance:
|
|
3506
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3507
|
+
default: nova
|
|
3508
|
+
cell:
|
|
3509
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3510
|
+
controller:
|
|
3511
|
+
description: Unique identifier to address a controller in the cell.
|
|
3512
|
+
messages:
|
|
3513
|
+
RobotControllerUpdated:
|
|
3514
|
+
name: RobotControllerUpdated
|
|
3515
|
+
title: Robot Controller Updated Event
|
|
3516
|
+
contentType: application/json
|
|
3517
|
+
description: |
|
|
3518
|
+
CloudEvents v1.0 compliant event published when a robot controller release is updated in a cell.
|
|
3519
|
+
payload:
|
|
3520
|
+
$ref: '#/components/schemas/RobotControllerUpdatedEvent'
|
|
3521
|
+
examples:
|
|
3522
|
+
- name: robot_controller_updated
|
|
3523
|
+
summary: Robot controller release updated.
|
|
3524
|
+
payload:
|
|
3525
|
+
specversion: '1.0'
|
|
3526
|
+
type: nova.v2.events.cells.demo.controllers.ur10e.updated
|
|
3527
|
+
source: /nova/service-manager
|
|
3528
|
+
id: nova.v2.events.cells.demo.controllers.ur10e.updated.1737972600
|
|
3529
|
+
time: '2025-01-27T10:10:00Z'
|
|
3530
|
+
datacontenttype: application/json
|
|
3531
|
+
data:
|
|
3532
|
+
manufacturer: universalrobots
|
|
3533
|
+
virtual: false
|
|
3534
|
+
operating_state: ACTIVE
|
|
3535
|
+
x-nats-jetstream-stream:
|
|
3536
|
+
name: system-events
|
|
3537
|
+
description: '|'
|
|
3538
|
+
retention: limits
|
|
3539
|
+
discard: old
|
|
3540
|
+
storage: file
|
|
3541
|
+
max_msgs: 10000
|
|
3542
|
+
max_bytes: '104857600 # 100MiB'
|
|
3543
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3544
|
+
max_msg_size: '10240 # 10KiB'
|
|
3545
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3546
|
+
subjects:
|
|
3547
|
+
- nova.v2.events.>
|
|
3548
|
+
'{instance}.v2.events.cells.{cell}.controllers.{controller}.deleted':
|
|
3549
|
+
address: '{instance}.v2.events.cells.{cell}.controllers.{controller}.deleted'
|
|
3550
|
+
parameters:
|
|
3551
|
+
instance:
|
|
3552
|
+
description: Unique identifier addressing an instance in all API calls.
|
|
3553
|
+
default: nova
|
|
3554
|
+
cell:
|
|
3555
|
+
description: Unique identifier addressing a cell in all API calls.
|
|
3556
|
+
controller:
|
|
3557
|
+
description: Unique identifier to address a controller in the cell.
|
|
3558
|
+
messages:
|
|
3559
|
+
RobotControllerDeleted:
|
|
3560
|
+
name: RobotControllerDeleted
|
|
3561
|
+
title: Robot Controller Deleted Event
|
|
3562
|
+
contentType: application/json
|
|
3563
|
+
description: |
|
|
3564
|
+
CloudEvents v1.0 compliant event published when a robot controller release is deleted from a cell.
|
|
3565
|
+
payload:
|
|
3566
|
+
$ref: '#/components/schemas/RobotControllerDeletedEvent'
|
|
3567
|
+
examples:
|
|
3568
|
+
- name: robot_controller_deleted
|
|
3569
|
+
summary: Robot controller release deleted.
|
|
3570
|
+
payload:
|
|
3571
|
+
specversion: '1.0'
|
|
3572
|
+
type: nova.v2.events.cells.demo.controllers.ur10e.deleted
|
|
3573
|
+
source: /nova/service-manager
|
|
3574
|
+
id: nova.v2.events.cells.demo.controllers.ur10e.deleted.1737973200
|
|
3575
|
+
time: '2025-01-27T10:20:00Z'
|
|
3576
|
+
datacontenttype: application/json
|
|
3577
|
+
data:
|
|
3578
|
+
manufacturer: universalrobots
|
|
3579
|
+
virtual: false
|
|
3580
|
+
operating_state: ACTIVE
|
|
3581
|
+
x-nats-jetstream-stream:
|
|
3582
|
+
name: system-events
|
|
3583
|
+
description: '|'
|
|
3584
|
+
retention: limits
|
|
3585
|
+
discard: old
|
|
3586
|
+
storage: file
|
|
3587
|
+
max_msgs: 10000
|
|
3588
|
+
max_bytes: '104857600 # 100MiB'
|
|
3589
|
+
max_age: '2592000 # 30 days in seconds'
|
|
3590
|
+
max_msg_size: '10240 # 10KiB'
|
|
3591
|
+
duplicate_window: '300 # 5 minutes for duplicate detection'
|
|
3592
|
+
subjects:
|
|
3593
|
+
- nova.v2.events.>
|