@wandelbots/nova-api 25.6.0-dev.4 → 25.6.0-dev.6

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.
Files changed (5) hide show
  1. package/package.json +1 -1
  2. package/v2/api.d.ts +824 -2604
  3. package/v2/api.js +565 -2457
  4. package/v2/api.js.map +1 -1
  5. package/v2/api.ts +1107 -3966
package/v2/api.js CHANGED
@@ -39,18 +39,14 @@ export const BlendingPositionBlendingNameEnum = {
39
39
  export const BooleanValueValueTypeEnum = {
40
40
  Boolean: 'boolean'
41
41
  };
42
- export const BoxTypeEnum = {
43
- TypeHollow: 'TYPE_HOLLOW',
44
- TypeFull: 'TYPE_FULL'
45
- };
46
- export const Box2ShapeTypeEnum = {
42
+ export const BoxShapeTypeEnum = {
47
43
  Box: 'box'
48
44
  };
49
- export const Box2BoxTypeEnum = {
45
+ export const BoxBoxTypeEnum = {
50
46
  Hollow: 'HOLLOW',
51
47
  Full: 'FULL'
52
48
  };
53
- export const Capsule2ShapeTypeEnum = {
49
+ export const CapsuleShapeTypeEnum = {
54
50
  Capsule: 'capsule'
55
51
  };
56
52
  /**
@@ -66,10 +62,10 @@ export const Comparator = {
66
62
  ComparatorLess: 'COMPARATOR_LESS',
67
63
  ComparatorLessEqual: 'COMPARATOR_LESS_EQUAL'
68
64
  };
69
- export const ConvexHull2ShapeTypeEnum = {
65
+ export const ConvexHullShapeTypeEnum = {
70
66
  ConvexHull: 'convex_hull'
71
67
  };
72
- export const Cylinder2ShapeTypeEnum = {
68
+ export const CylinderShapeTypeEnum = {
73
69
  Cylinder: 'cylinder'
74
70
  };
75
71
  /**
@@ -136,26 +132,6 @@ export const InitializeMovementRequestMessageTypeEnum = {
136
132
  export const IntegerValueValueTypeEnum = {
137
133
  Integer: 'integer'
138
134
  };
139
- /**
140
- * Definition of the joint where the limits are applied.
141
- * @export
142
- * @enum {string}
143
- */
144
- export const JointName = {
145
- JointnameAxisInvalid: 'JOINTNAME_AXIS_INVALID',
146
- JointnameAxis1: 'JOINTNAME_AXIS_1',
147
- JointnameAxis2: 'JOINTNAME_AXIS_2',
148
- JointnameAxis3: 'JOINTNAME_AXIS_3',
149
- JointnameAxis4: 'JOINTNAME_AXIS_4',
150
- JointnameAxis5: 'JOINTNAME_AXIS_5',
151
- JointnameAxis6: 'JOINTNAME_AXIS_6',
152
- JointnameAxis7: 'JOINTNAME_AXIS_7',
153
- JointnameAxis8: 'JOINTNAME_AXIS_8',
154
- JointnameAxis9: 'JOINTNAME_AXIS_9',
155
- JointnameAxis10: 'JOINTNAME_AXIS_10',
156
- JointnameAxis11: 'JOINTNAME_AXIS_11',
157
- JointnameAxis12: 'JOINTNAME_AXIS_12'
158
- };
159
135
  export const JointVelocityRequestMessageTypeEnum = {
160
136
  JointVelocityRequest: 'JointVelocityRequest'
161
137
  };
@@ -186,168 +162,6 @@ export const Manufacturer = {
186
162
  Universalrobots: 'universalrobots',
187
163
  Yaskawa: 'yaskawa'
188
164
  };
189
- /**
190
- * String identifiying the model of a motion group.
191
- * @export
192
- * @enum {string}
193
- */
194
- export const MotionGroupModel = {
195
- Abb1200583: 'ABB_120_058_3',
196
- Abb1400816: 'ABB_140_081_6',
197
- Abb101003715: 'ABB_1010_037_15',
198
- Abb11000584: 'ABB_1100_058_4',
199
- Abb110004754: 'ABB_1100_0475_4',
200
- Abb1200077: 'ABB_1200_07_7',
201
- Abb130011510: 'ABB_1300_115_10',
202
- Abb13000911: 'ABB_1300_09_11',
203
- Abb13001412: 'ABB_1300_14_12',
204
- Abb1300147: 'ABB_1300_14_7',
205
- Abb14001445: 'ABB_1400_144_5',
206
- Abb1520Id154: 'ABB_1520ID_15_4',
207
- Abb1600126: 'ABB_1600_12_6',
208
- Abb16001210: 'ABB_1600_12_10',
209
- Abb16001456: 'ABB_1600_145_6',
210
- Abb160014510: 'ABB_1600_145_10',
211
- Abb1660Id1554: 'ABB_1660ID_155_4',
212
- Abb260016512: 'ABB_2600_165_12',
213
- Abb260016520: 'ABB_2600_165_20',
214
- Abb260018512: 'ABB_2600_185_12',
215
- Abb2600Id18515: 'ABB_2600ID_185_15',
216
- Abb2600Id2008: 'ABB_2600ID_200_8',
217
- Abb460025020: 'ABB_4600_250_20',
218
- Abb460025540: 'ABB_4600_255_40',
219
- Abb460020545: 'ABB_4600_205_45',
220
- Abb460020560: 'ABB_4600_205_60',
221
- FanucCr4iA: 'FANUC_CR4iA',
222
- FanucCr7iA: 'FANUC_CR7iA',
223
- FanucCr7iAl: 'FANUC_CR7iAL',
224
- FanucCr14iAl: 'FANUC_CR14iAL',
225
- FanucCr15iA: 'FANUC_CR15iA',
226
- FanucCr35iA: 'FANUC_CR35iA',
227
- FanucCr35iB: 'FANUC_CR35iB',
228
- FanucCrx5iA: 'FANUC_CRX5iA',
229
- FanucCrx10iA: 'FANUC_CRX10iA',
230
- FanucCrx10iAl: 'FANUC_CRX10iAL',
231
- FanucCrx20iAl: 'FANUC_CRX20iAL',
232
- FanucCrx25iA: 'FANUC_CRX25iA',
233
- FanucM10iD8L: 'FANUC_M10iD8L',
234
- FanucM10iD10L: 'FANUC_M10iD10L',
235
- FanucM10iD12: 'FANUC_M10iD12',
236
- FanucM10iD16S: 'FANUC_M10iD16S',
237
- FanucM20iB25: 'FANUC_M20iB25',
238
- FanucM20iB25C: 'FANUC_M20iB25C',
239
- FanucM20iB35S: 'FANUC_M20iB35S',
240
- FanucM20iD12L: 'FANUC_M20iD12L',
241
- FanucM20iD25: 'FANUC_M20iD25',
242
- FanucM20iD35: 'FANUC_M20iD35',
243
- FanucM900iB280L: 'FANUC_M900iB280L',
244
- FanucM900iB360E: 'FANUC_M900iB360E',
245
- FanucArcMate50iD: 'FANUC_ARC_Mate_50iD',
246
- FanucArcMate50iD7L: 'FANUC_ARC_Mate_50iD7L',
247
- FanucArcMate100iD: 'FANUC_ARC_Mate_100iD',
248
- FanucArcMate100iD16S: 'FANUC_ARC_Mate_100iD16S',
249
- FanucArcMate100iD8L: 'FANUC_ARC_Mate_100iD8L',
250
- FanucArcMate100iD10L: 'FANUC_ARC_Mate_100iD10L',
251
- FanucArcMate120iD: 'FANUC_ARC_Mate_120iD',
252
- FanucArcMate120iD12L: 'FANUC_ARC_Mate_120iD12L',
253
- FanucLrMate200iD: 'FANUC_LR_Mate_200iD',
254
- FanucLrMate200iD4S: 'FANUC_LR_Mate_200iD4S',
255
- FanucLrMate200iD7L: 'FANUC_LR_Mate_200iD7L',
256
- FanucR2000iC125L: 'FANUC_R2000iC125L',
257
- FanucR2000iC210F: 'FANUC_R2000iC210F',
258
- UniversalRobotsUr3: 'UniversalRobots_UR3',
259
- UniversalRobotsUr5: 'UniversalRobots_UR5',
260
- UniversalRobotsUr10: 'UniversalRobots_UR10',
261
- UniversalRobotsUr3e: 'UniversalRobots_UR3e',
262
- UniversalRobotsUr5e: 'UniversalRobots_UR5e',
263
- UniversalRobotsUr10e: 'UniversalRobots_UR10e',
264
- UniversalRobotsUr16e: 'UniversalRobots_UR16e',
265
- UniversalRobotsUr20e: 'UniversalRobots_UR20e',
266
- YaskawaAr700: 'Yaskawa_AR700',
267
- YaskawaAr900: 'Yaskawa_AR900',
268
- YaskawaAr1440: 'Yaskawa_AR1440',
269
- YaskawaAr1440E: 'Yaskawa_AR1440E',
270
- YaskawaAr1730: 'Yaskawa_AR1730',
271
- YaskawaAr2010: 'Yaskawa_AR2010',
272
- YaskawaAr3120: 'Yaskawa_AR3120',
273
- YaskawaGp4: 'Yaskawa_GP4',
274
- YaskawaGp7: 'Yaskawa_GP7',
275
- YaskawaGp8: 'Yaskawa_GP8',
276
- YaskawaGp8L: 'Yaskawa_GP8L',
277
- YaskawaGp12: 'Yaskawa_GP12',
278
- YaskawaGp20Hl: 'Yaskawa_GP20HL',
279
- YaskawaGp25: 'Yaskawa_GP25',
280
- YaskawaGp25Sv: 'Yaskawa_GP25SV',
281
- YaskawaGp2512: 'Yaskawa_GP25_12',
282
- YaskawaGp35L: 'Yaskawa_GP35L',
283
- YaskawaGp50: 'Yaskawa_GP50',
284
- YaskawaGp70L: 'Yaskawa_GP70L',
285
- YaskawaGp88: 'Yaskawa_GP88',
286
- YaskawaGp110: 'Yaskawa_GP110',
287
- YaskawaGp110B: 'Yaskawa_GP110B',
288
- YaskawaGp110H: 'Yaskawa_GP110H',
289
- YaskawaGp165R: 'Yaskawa_GP165R',
290
- YaskawaGp180: 'Yaskawa_GP180',
291
- YaskawaGp180H: 'Yaskawa_GP180H',
292
- YaskawaGp180120: 'Yaskawa_GP180_120',
293
- YaskawaGp200R: 'Yaskawa_GP200R',
294
- YaskawaGp200S: 'Yaskawa_GP200S',
295
- YaskawaGp215: 'Yaskawa_GP215',
296
- YaskawaGp225: 'Yaskawa_GP225',
297
- YaskawaGp225H: 'Yaskawa_GP225H',
298
- YaskawaGp250: 'Yaskawa_GP250',
299
- YaskawaGp280: 'Yaskawa_GP280',
300
- YaskawaGp280L: 'Yaskawa_GP280L',
301
- YaskawaGp300R: 'Yaskawa_GP300R',
302
- YaskawaGp400: 'Yaskawa_GP400',
303
- YaskawaGp400R: 'Yaskawa_GP400R',
304
- YaskawaGp600: 'Yaskawa_GP600',
305
- YaskawaHc10: 'Yaskawa_HC10',
306
- YaskawaHc10Dtp: 'Yaskawa_HC10DTP',
307
- YaskawaHc20Dtp: 'Yaskawa_HC20DTP',
308
- YaskawaHc30Pl: 'Yaskawa_HC30PL',
309
- YaskawaTurn1: 'Yaskawa_TURN1',
310
- YaskawaTurn2: 'Yaskawa_TURN2',
311
- YaskawaTurn3: 'Yaskawa_TURN3',
312
- KukaKr150R2: 'KUKA_KR150_R2',
313
- KukaKr3R540: 'KUKA_KR3_R540',
314
- KukaKr4R600: 'KUKA_KR4_R600',
315
- KukaKr6R700: 'KUKA_KR6_R700',
316
- KukaKr6R7002: 'KUKA_KR6_R700_2',
317
- KukaKr6R900: 'KUKA_KR6_R900',
318
- KukaKr6R9002: 'KUKA_KR6_R900_2',
319
- KukaKr6R1820: 'KUKA_KR6_R1820',
320
- KukaKr10R900: 'KUKA_KR10_R900',
321
- KukaKr10R9002: 'KUKA_KR10_R900_2',
322
- KukaKr10R1100: 'KUKA_KR10_R1100',
323
- KukaKr10R11002: 'KUKA_KR10_R1100_2',
324
- KukaKr12R18102: 'KUKA_KR12_R1810_2',
325
- KukaKr16R1610: 'KUKA_KR16_R1610',
326
- KukaKr16R16102: 'KUKA_KR16_R1610_2',
327
- KukaKr16R2010: 'KUKA_KR16_R2010',
328
- KukaKr16R20102: 'KUKA_KR16_R2010_2',
329
- KukaKr20R1810: 'KUKA_KR20_R1810',
330
- KukaKr20R18102: 'KUKA_KR20_R1810_2',
331
- KukaKr30R3: 'KUKA_KR30_R3',
332
- KukaKr50R2500: 'KUKA_KR50_R2500',
333
- KukaKr120R2700: 'KUKA_KR120_R2700',
334
- KukaKr120R27002: 'KUKA_KR120_R2700_2',
335
- KukaKr120R31002: 'KUKA_KR120_R3100_2',
336
- KukaKr210R2700: 'KUKA_KR210_R2700',
337
- KukaKr210R27002: 'KUKA_KR210_R2700_2',
338
- KukaKr210R3100: 'KUKA_KR210_R3100',
339
- KukaKr210R31002: 'KUKA_KR210_R3100_2',
340
- KukaKr210R3300: 'KUKA_KR210_R3300',
341
- KukaKr210R33002: 'KUKA_KR210_R3300_2',
342
- KukaKr240R2700: 'KUKA_KR240_R2700',
343
- KukaKr250R27002: 'KUKA_KR250_R2700_2',
344
- KukaKr270R2700: 'KUKA_KR270_R2700',
345
- KukaKr270R3100: 'KUKA_KR270_R3100',
346
- KukaKr270R31002: 'KUKA_KR270_R3100_2',
347
- KukaKr360R2830: 'KUKA_KR360_R2830',
348
- KukaKr360L2403: 'KUKA_KR360_L240_3',
349
- KukaLbrIisy11R1300: 'KUKA_LBR_IISY_11_R1300'
350
- };
351
165
  /**
352
166
  * The operating state.
353
167
  * @export
@@ -425,7 +239,7 @@ export const PathLinePathDefinitionNameEnum = {
425
239
  export const PauseMovementRequestMessageTypeEnum = {
426
240
  PauseMovementRequest: 'PauseMovementRequest'
427
241
  };
428
- export const Plane2ShapeTypeEnum = {
242
+ export const PlaneShapeTypeEnum = {
429
243
  Plane: 'plane'
430
244
  };
431
245
  export const PlaybackSpeedRequestMessageTypeEnum = {
@@ -443,10 +257,10 @@ export const ProgramRunState = {
443
257
  Failed: 'failed',
444
258
  Stopped: 'stopped'
445
259
  };
446
- export const Rectangle2ShapeTypeEnum = {
260
+ export const RectangleShapeTypeEnum = {
447
261
  Rectangle: 'rectangle'
448
262
  };
449
- export const RectangularCapsule2ShapeTypeEnum = {
263
+ export const RectangularCapsuleShapeTypeEnum = {
450
264
  RectangularCapsule: 'rectangular_capsule'
451
265
  };
452
266
  /**
@@ -493,16 +307,6 @@ export const SafetyStateType = {
493
307
  SafetyStateRobotEmergencyStop: 'SAFETY_STATE_ROBOT_EMERGENCY_STOP',
494
308
  SafetyStateViolation: 'SAFETY_STATE_VIOLATION'
495
309
  };
496
- /**
497
- * The safety state that the settings are valid for.
498
- * @export
499
- * @enum {string}
500
- */
501
- export const SafetyType = {
502
- SafetyInvalid: 'SAFETY_INVALID',
503
- SafetyNormal: 'SAFETY_NORMAL',
504
- SafetyReduced: 'SAFETY_REDUCED'
505
- };
506
310
  /**
507
311
  *
508
312
  * @export
@@ -564,7 +368,7 @@ export const SingularityTypeEnum = {
564
368
  Elbow: 'ELBOW',
565
369
  Shoulder: 'SHOULDER'
566
370
  };
567
- export const Sphere2ShapeTypeEnum = {
371
+ export const SphereShapeTypeEnum = {
568
372
  Sphere: 'sphere'
569
373
  };
570
374
  /**
@@ -1932,21 +1736,26 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
1932
1736
  };
1933
1737
  },
1934
1738
  /**
1935
- * Get the current state of a robot controller.
1936
- * @summary State of Device
1739
+ * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
1740
+ * @summary Coordinate System
1937
1741
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1938
1742
  * @param {string} controller Unique identifier to address a controller in the cell.
1743
+ * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
1744
+ * @param {OrientationType} [orientationType]
1939
1745
  * @param {*} [options] Override http request option.
1940
1746
  * @throws {RequiredError}
1941
1747
  */
1942
- getCurrentRobotControllerState: async (cell, controller, options = {}) => {
1748
+ getCoordinateSystem: async (cell, controller, coordinateSystem, orientationType, options = {}) => {
1943
1749
  // verify required parameter 'cell' is not null or undefined
1944
- assertParamExists('getCurrentRobotControllerState', 'cell', cell);
1750
+ assertParamExists('getCoordinateSystem', 'cell', cell);
1945
1751
  // verify required parameter 'controller' is not null or undefined
1946
- assertParamExists('getCurrentRobotControllerState', 'controller', controller);
1947
- const localVarPath = `/cells/{cell}/controllers/{controller}/state`
1752
+ assertParamExists('getCoordinateSystem', 'controller', controller);
1753
+ // verify required parameter 'coordinateSystem' is not null or undefined
1754
+ assertParamExists('getCoordinateSystem', 'coordinateSystem', coordinateSystem);
1755
+ const localVarPath = `/cells/{cell}/controllers/{controller}/coordinate-systems/{coordinate-system}`
1948
1756
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
1949
- .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
1757
+ .replace(`{${"controller"}}`, encodeURIComponent(String(controller)))
1758
+ .replace(`{${"coordinate-system"}}`, encodeURIComponent(String(coordinateSystem)));
1950
1759
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
1951
1760
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
1952
1761
  let baseOptions;
@@ -1962,6 +1771,9 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
1962
1771
  // authentication BearerAuth required
1963
1772
  // http bearer authentication required
1964
1773
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
1774
+ if (orientationType !== undefined) {
1775
+ localVarQueryParameter['orientation_type'] = orientationType;
1776
+ }
1965
1777
  setSearchParams(localVarUrlObj, localVarQueryParameter);
1966
1778
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
1967
1779
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
@@ -1971,19 +1783,19 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
1971
1783
  };
1972
1784
  },
1973
1785
  /**
1974
- * Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](getCurrentRobotControllerState).
1975
- * @summary Current Mode
1786
+ * Get the current state of a robot controller.
1787
+ * @summary State
1976
1788
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1977
1789
  * @param {string} controller Unique identifier to address a controller in the cell.
1978
1790
  * @param {*} [options] Override http request option.
1979
1791
  * @throws {RequiredError}
1980
1792
  */
1981
- getMode: async (cell, controller, options = {}) => {
1793
+ getCurrentRobotControllerState: async (cell, controller, options = {}) => {
1982
1794
  // verify required parameter 'cell' is not null or undefined
1983
- assertParamExists('getMode', 'cell', cell);
1795
+ assertParamExists('getCurrentRobotControllerState', 'cell', cell);
1984
1796
  // verify required parameter 'controller' is not null or undefined
1985
- assertParamExists('getMode', 'controller', controller);
1986
- const localVarPath = `/cells/{cell}/controllers/{controller}/mode`
1797
+ assertParamExists('getCurrentRobotControllerState', 'controller', controller);
1798
+ const localVarPath = `/cells/{cell}/controllers/{controller}/state`
1987
1799
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
1988
1800
  .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
1989
1801
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -2010,19 +1822,19 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2010
1822
  };
2011
1823
  },
2012
1824
  /**
2013
- * Get the configuration for a robot controller.
2014
- * @summary Robot Controller Configuration
1825
+ * Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](getCurrentRobotControllerState).
1826
+ * @summary Current Mode
2015
1827
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2016
1828
  * @param {string} controller Unique identifier to address a controller in the cell.
2017
1829
  * @param {*} [options] Override http request option.
2018
1830
  * @throws {RequiredError}
2019
1831
  */
2020
- getRobotController: async (cell, controller, options = {}) => {
1832
+ getMode: async (cell, controller, options = {}) => {
2021
1833
  // verify required parameter 'cell' is not null or undefined
2022
- assertParamExists('getRobotController', 'cell', cell);
1834
+ assertParamExists('getMode', 'cell', cell);
2023
1835
  // verify required parameter 'controller' is not null or undefined
2024
- assertParamExists('getRobotController', 'controller', controller);
2025
- const localVarPath = `/cells/{cell}/controllers/{controller}`
1836
+ assertParamExists('getMode', 'controller', controller);
1837
+ const localVarPath = `/cells/{cell}/controllers/{controller}/mode`
2026
1838
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
2027
1839
  .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
2028
1840
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -2049,19 +1861,19 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2049
1861
  };
2050
1862
  },
2051
1863
  /**
2052
- * Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
2053
- * @summary Supported Motion Modes
1864
+ * Get the configuration for a robot controller.
1865
+ * @summary Robot Controller
2054
1866
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2055
1867
  * @param {string} controller Unique identifier to address a controller in the cell.
2056
1868
  * @param {*} [options] Override http request option.
2057
1869
  * @throws {RequiredError}
2058
1870
  */
2059
- getSupportedModes: async (cell, controller, options = {}) => {
1871
+ getRobotController: async (cell, controller, options = {}) => {
2060
1872
  // verify required parameter 'cell' is not null or undefined
2061
- assertParamExists('getSupportedModes', 'cell', cell);
1873
+ assertParamExists('getRobotController', 'cell', cell);
2062
1874
  // verify required parameter 'controller' is not null or undefined
2063
- assertParamExists('getSupportedModes', 'controller', controller);
2064
- const localVarPath = `/cells/{cell}/controllers/{controller}/controller-capabilities`
1875
+ assertParamExists('getRobotController', 'controller', controller);
1876
+ const localVarPath = `/cells/{cell}/controllers/{controller}`
2065
1877
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
2066
1878
  .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
2067
1879
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -2128,7 +1940,7 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2128
1940
  },
2129
1941
  /**
2130
1942
  * List all configured robot controllers.
2131
- * @summary List
1943
+ * @summary List Descriptions
2132
1944
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2133
1945
  * @param {*} [options] Override http request option.
2134
1946
  * @throws {RequiredError}
@@ -2162,22 +1974,20 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2162
1974
  };
2163
1975
  },
2164
1976
  /**
2165
- * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2166
- * @summary Set Default Mode
1977
+ * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
1978
+ * @summary List Coordinate Systems
2167
1979
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2168
1980
  * @param {string} controller Unique identifier to address a controller in the cell.
2169
- * @param {SettableRobotSystemMode} mode
1981
+ * @param {OrientationType} [orientationType]
2170
1982
  * @param {*} [options] Override http request option.
2171
1983
  * @throws {RequiredError}
2172
1984
  */
2173
- setDefaultMode: async (cell, controller, mode, options = {}) => {
1985
+ listCoordinateSystems: async (cell, controller, orientationType, options = {}) => {
2174
1986
  // verify required parameter 'cell' is not null or undefined
2175
- assertParamExists('setDefaultMode', 'cell', cell);
1987
+ assertParamExists('listCoordinateSystems', 'cell', cell);
2176
1988
  // verify required parameter 'controller' is not null or undefined
2177
- assertParamExists('setDefaultMode', 'controller', controller);
2178
- // verify required parameter 'mode' is not null or undefined
2179
- assertParamExists('setDefaultMode', 'mode', mode);
2180
- const localVarPath = `/cells/{cell}/controllers/{controller}/mode`
1989
+ assertParamExists('listCoordinateSystems', 'controller', controller);
1990
+ const localVarPath = `/cells/{cell}/controllers/{controller}/coordinate-systems`
2181
1991
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
2182
1992
  .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
2183
1993
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -2186,7 +1996,7 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2186
1996
  if (configuration) {
2187
1997
  baseOptions = configuration.baseOptions;
2188
1998
  }
2189
- const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options };
1999
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
2190
2000
  const localVarHeaderParameter = {};
2191
2001
  const localVarQueryParameter = {};
2192
2002
  // authentication BasicAuth required
@@ -2195,8 +2005,8 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2195
2005
  // authentication BearerAuth required
2196
2006
  // http bearer authentication required
2197
2007
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
2198
- if (mode !== undefined) {
2199
- localVarQueryParameter['mode'] = mode;
2008
+ if (orientationType !== undefined) {
2009
+ localVarQueryParameter['orientation_type'] = orientationType;
2200
2010
  }
2201
2011
  setSearchParams(localVarUrlObj, localVarQueryParameter);
2202
2012
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
@@ -2207,20 +2017,22 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2207
2017
  };
2208
2018
  },
2209
2019
  /**
2210
- * Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (getSupportedModes)[getSupportedModes] endpoint to check if the robot controller supports free drive mode.
2211
- * @summary Stream Free Drive Mode
2020
+ * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2021
+ * @summary Set Default Mode
2212
2022
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2213
2023
  * @param {string} controller Unique identifier to address a controller in the cell.
2214
- * @param {number} [responseRate]
2024
+ * @param {SettableRobotSystemMode} mode
2215
2025
  * @param {*} [options] Override http request option.
2216
2026
  * @throws {RequiredError}
2217
2027
  */
2218
- streamFreeDrive: async (cell, controller, responseRate, options = {}) => {
2028
+ setDefaultMode: async (cell, controller, mode, options = {}) => {
2219
2029
  // verify required parameter 'cell' is not null or undefined
2220
- assertParamExists('streamFreeDrive', 'cell', cell);
2030
+ assertParamExists('setDefaultMode', 'cell', cell);
2221
2031
  // verify required parameter 'controller' is not null or undefined
2222
- assertParamExists('streamFreeDrive', 'controller', controller);
2223
- const localVarPath = `/cells/{cell}/controllers/{controller}/free-drive-stream`
2032
+ assertParamExists('setDefaultMode', 'controller', controller);
2033
+ // verify required parameter 'mode' is not null or undefined
2034
+ assertParamExists('setDefaultMode', 'mode', mode);
2035
+ const localVarPath = `/cells/{cell}/controllers/{controller}/mode`
2224
2036
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
2225
2037
  .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
2226
2038
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -2229,7 +2041,7 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2229
2041
  if (configuration) {
2230
2042
  baseOptions = configuration.baseOptions;
2231
2043
  }
2232
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
2044
+ const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options };
2233
2045
  const localVarHeaderParameter = {};
2234
2046
  const localVarQueryParameter = {};
2235
2047
  // authentication BasicAuth required
@@ -2238,8 +2050,8 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2238
2050
  // authentication BearerAuth required
2239
2051
  // http bearer authentication required
2240
2052
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
2241
- if (responseRate !== undefined) {
2242
- localVarQueryParameter['response_rate'] = responseRate;
2053
+ if (mode !== undefined) {
2054
+ localVarQueryParameter['mode'] = mode;
2243
2055
  }
2244
2056
  setSearchParams(localVarUrlObj, localVarQueryParameter);
2245
2057
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
@@ -2250,19 +2062,20 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2250
2062
  };
2251
2063
  },
2252
2064
  /**
2253
- * Receive updates of the current robot system mode of a robot controller via websocket upon robot system mode change. See [setDefaultMode](setDefaultMode) for more information about the different modes.
2254
- * @summary Stream Mode Change
2065
+ * <!-- theme: danger --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (listController)[listController] endpoint to check if the robot controller supports free drive mode.
2066
+ * @summary Stream Free Drive
2255
2067
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2256
2068
  * @param {string} controller Unique identifier to address a controller in the cell.
2069
+ * @param {number} [responseRate]
2257
2070
  * @param {*} [options] Override http request option.
2258
2071
  * @throws {RequiredError}
2259
2072
  */
2260
- streamModeChange: async (cell, controller, options = {}) => {
2073
+ streamFreeDrive: async (cell, controller, responseRate, options = {}) => {
2261
2074
  // verify required parameter 'cell' is not null or undefined
2262
- assertParamExists('streamModeChange', 'cell', cell);
2075
+ assertParamExists('streamFreeDrive', 'cell', cell);
2263
2076
  // verify required parameter 'controller' is not null or undefined
2264
- assertParamExists('streamModeChange', 'controller', controller);
2265
- const localVarPath = `/cells/{cell}/controllers/{controller}/mode-stream`
2077
+ assertParamExists('streamFreeDrive', 'controller', controller);
2078
+ const localVarPath = `/cells/{cell}/controllers/{controller}/free-drive-stream`
2266
2079
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
2267
2080
  .replace(`{${"controller"}}`, encodeURIComponent(String(controller)));
2268
2081
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -2280,6 +2093,9 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2280
2093
  // authentication BearerAuth required
2281
2094
  // http bearer authentication required
2282
2095
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
2096
+ if (responseRate !== undefined) {
2097
+ localVarQueryParameter['response_rate'] = responseRate;
2098
+ }
2283
2099
  setSearchParams(localVarUrlObj, localVarQueryParameter);
2284
2100
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
2285
2101
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
@@ -2289,8 +2105,8 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2289
2105
  };
2290
2106
  },
2291
2107
  /**
2292
- * Receive updates of the state of a robot controller.
2293
- * @summary Stream State of Device
2108
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
2109
+ * @summary Stream State
2294
2110
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2295
2111
  * @param {string} controller Unique identifier to address a controller in the cell.
2296
2112
  * @param {number} [responseRate]
@@ -2333,7 +2149,7 @@ export const ControllerApiAxiosParamCreator = function (configuration) {
2333
2149
  },
2334
2150
  /**
2335
2151
  * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2336
- * @summary Update Robot Controller Configuration
2152
+ * @summary Update Robot Controller
2337
2153
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2338
2154
  * @param {string} controller Unique identifier to address a controller in the cell.
2339
2155
  * @param {RobotController} robotController
@@ -2432,9 +2248,25 @@ export const ControllerApiFp = function (configuration) {
2432
2248
  const localVarOperationServerBasePath = operationServerMap['ControllerApi.deleteRobotController']?.[localVarOperationServerIndex]?.url;
2433
2249
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2434
2250
  },
2251
+ /**
2252
+ * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
2253
+ * @summary Coordinate System
2254
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
2255
+ * @param {string} controller Unique identifier to address a controller in the cell.
2256
+ * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
2257
+ * @param {OrientationType} [orientationType]
2258
+ * @param {*} [options] Override http request option.
2259
+ * @throws {RequiredError}
2260
+ */
2261
+ async getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {
2262
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options);
2263
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
2264
+ const localVarOperationServerBasePath = operationServerMap['ControllerApi.getCoordinateSystem']?.[localVarOperationServerIndex]?.url;
2265
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2266
+ },
2435
2267
  /**
2436
2268
  * Get the current state of a robot controller.
2437
- * @summary State of Device
2269
+ * @summary State
2438
2270
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2439
2271
  * @param {string} controller Unique identifier to address a controller in the cell.
2440
2272
  * @param {*} [options] Override http request option.
@@ -2462,7 +2294,7 @@ export const ControllerApiFp = function (configuration) {
2462
2294
  },
2463
2295
  /**
2464
2296
  * Get the configuration for a robot controller.
2465
- * @summary Robot Controller Configuration
2297
+ * @summary Robot Controller
2466
2298
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2467
2299
  * @param {string} controller Unique identifier to address a controller in the cell.
2468
2300
  * @param {*} [options] Override http request option.
@@ -2474,20 +2306,6 @@ export const ControllerApiFp = function (configuration) {
2474
2306
  const localVarOperationServerBasePath = operationServerMap['ControllerApi.getRobotController']?.[localVarOperationServerIndex]?.url;
2475
2307
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2476
2308
  },
2477
- /**
2478
- * Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
2479
- * @summary Supported Motion Modes
2480
- * @param {string} cell Unique identifier addressing a cell in all API calls.
2481
- * @param {string} controller Unique identifier to address a controller in the cell.
2482
- * @param {*} [options] Override http request option.
2483
- * @throws {RequiredError}
2484
- */
2485
- async getSupportedModes(cell, controller, options) {
2486
- const localVarAxiosArgs = await localVarAxiosParamCreator.getSupportedModes(cell, controller, options);
2487
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
2488
- const localVarOperationServerBasePath = operationServerMap['ControllerApi.getSupportedModes']?.[localVarOperationServerIndex]?.url;
2489
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2490
- },
2491
2309
  /**
2492
2310
  * Receive the configuration for a virtual robot controller. Used to configure a virtual robot controller via [addRobotController](addRobotController). > **NOTE** > > The output generated by this endpoint can be too large for the site to handle, and may produce an error or incorrect output. > Use `curl` in combination with `> output.json` to capture the output, or use an API client like Postman.
2493
2311
  * @summary Virtual Robot Configuration
@@ -2504,7 +2322,7 @@ export const ControllerApiFp = function (configuration) {
2504
2322
  },
2505
2323
  /**
2506
2324
  * List all configured robot controllers.
2507
- * @summary List
2325
+ * @summary List Descriptions
2508
2326
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2509
2327
  * @param {*} [options] Override http request option.
2510
2328
  * @throws {RequiredError}
@@ -2515,6 +2333,21 @@ export const ControllerApiFp = function (configuration) {
2515
2333
  const localVarOperationServerBasePath = operationServerMap['ControllerApi.listControllers']?.[localVarOperationServerIndex]?.url;
2516
2334
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2517
2335
  },
2336
+ /**
2337
+ * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
2338
+ * @summary List Coordinate Systems
2339
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
2340
+ * @param {string} controller Unique identifier to address a controller in the cell.
2341
+ * @param {OrientationType} [orientationType]
2342
+ * @param {*} [options] Override http request option.
2343
+ * @throws {RequiredError}
2344
+ */
2345
+ async listCoordinateSystems(cell, controller, orientationType, options) {
2346
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listCoordinateSystems(cell, controller, orientationType, options);
2347
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
2348
+ const localVarOperationServerBasePath = operationServerMap['ControllerApi.listCoordinateSystems']?.[localVarOperationServerIndex]?.url;
2349
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2350
+ },
2518
2351
  /**
2519
2352
  * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2520
2353
  * @summary Set Default Mode
@@ -2531,8 +2364,8 @@ export const ControllerApiFp = function (configuration) {
2531
2364
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2532
2365
  },
2533
2366
  /**
2534
- * Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (getSupportedModes)[getSupportedModes] endpoint to check if the robot controller supports free drive mode.
2535
- * @summary Stream Free Drive Mode
2367
+ * <!-- theme: danger --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (listController)[listController] endpoint to check if the robot controller supports free drive mode.
2368
+ * @summary Stream Free Drive
2536
2369
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2537
2370
  * @param {string} controller Unique identifier to address a controller in the cell.
2538
2371
  * @param {number} [responseRate]
@@ -2546,22 +2379,8 @@ export const ControllerApiFp = function (configuration) {
2546
2379
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2547
2380
  },
2548
2381
  /**
2549
- * Receive updates of the current robot system mode of a robot controller via websocket upon robot system mode change. See [setDefaultMode](setDefaultMode) for more information about the different modes.
2550
- * @summary Stream Mode Change
2551
- * @param {string} cell Unique identifier addressing a cell in all API calls.
2552
- * @param {string} controller Unique identifier to address a controller in the cell.
2553
- * @param {*} [options] Override http request option.
2554
- * @throws {RequiredError}
2555
- */
2556
- async streamModeChange(cell, controller, options) {
2557
- const localVarAxiosArgs = await localVarAxiosParamCreator.streamModeChange(cell, controller, options);
2558
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
2559
- const localVarOperationServerBasePath = operationServerMap['ControllerApi.streamModeChange']?.[localVarOperationServerIndex]?.url;
2560
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
2561
- },
2562
- /**
2563
- * Receive updates of the state of a robot controller.
2564
- * @summary Stream State of Device
2382
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
2383
+ * @summary Stream State
2565
2384
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2566
2385
  * @param {string} controller Unique identifier to address a controller in the cell.
2567
2386
  * @param {number} [responseRate]
@@ -2576,7 +2395,7 @@ export const ControllerApiFp = function (configuration) {
2576
2395
  },
2577
2396
  /**
2578
2397
  * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2579
- * @summary Update Robot Controller Configuration
2398
+ * @summary Update Robot Controller
2580
2399
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2581
2400
  * @param {string} controller Unique identifier to address a controller in the cell.
2582
2401
  * @param {RobotController} robotController
@@ -2634,9 +2453,22 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2634
2453
  deleteRobotController(cell, controller, completionTimeout, options) {
2635
2454
  return localVarFp.deleteRobotController(cell, controller, completionTimeout, options).then((request) => request(axios, basePath));
2636
2455
  },
2456
+ /**
2457
+ * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
2458
+ * @summary Coordinate System
2459
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
2460
+ * @param {string} controller Unique identifier to address a controller in the cell.
2461
+ * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
2462
+ * @param {OrientationType} [orientationType]
2463
+ * @param {*} [options] Override http request option.
2464
+ * @throws {RequiredError}
2465
+ */
2466
+ getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {
2467
+ return localVarFp.getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options).then((request) => request(axios, basePath));
2468
+ },
2637
2469
  /**
2638
2470
  * Get the current state of a robot controller.
2639
- * @summary State of Device
2471
+ * @summary State
2640
2472
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2641
2473
  * @param {string} controller Unique identifier to address a controller in the cell.
2642
2474
  * @param {*} [options] Override http request option.
@@ -2658,7 +2490,7 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2658
2490
  },
2659
2491
  /**
2660
2492
  * Get the configuration for a robot controller.
2661
- * @summary Robot Controller Configuration
2493
+ * @summary Robot Controller
2662
2494
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2663
2495
  * @param {string} controller Unique identifier to address a controller in the cell.
2664
2496
  * @param {*} [options] Override http request option.
@@ -2667,17 +2499,6 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2667
2499
  getRobotController(cell, controller, options) {
2668
2500
  return localVarFp.getRobotController(cell, controller, options).then((request) => request(axios, basePath));
2669
2501
  },
2670
- /**
2671
- * Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
2672
- * @summary Supported Motion Modes
2673
- * @param {string} cell Unique identifier addressing a cell in all API calls.
2674
- * @param {string} controller Unique identifier to address a controller in the cell.
2675
- * @param {*} [options] Override http request option.
2676
- * @throws {RequiredError}
2677
- */
2678
- getSupportedModes(cell, controller, options) {
2679
- return localVarFp.getSupportedModes(cell, controller, options).then((request) => request(axios, basePath));
2680
- },
2681
2502
  /**
2682
2503
  * Receive the configuration for a virtual robot controller. Used to configure a virtual robot controller via [addRobotController](addRobotController). > **NOTE** > > The output generated by this endpoint can be too large for the site to handle, and may produce an error or incorrect output. > Use `curl` in combination with `> output.json` to capture the output, or use an API client like Postman.
2683
2504
  * @summary Virtual Robot Configuration
@@ -2691,7 +2512,7 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2691
2512
  },
2692
2513
  /**
2693
2514
  * List all configured robot controllers.
2694
- * @summary List
2515
+ * @summary List Descriptions
2695
2516
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2696
2517
  * @param {*} [options] Override http request option.
2697
2518
  * @throws {RequiredError}
@@ -2699,6 +2520,18 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2699
2520
  listControllers(cell, options) {
2700
2521
  return localVarFp.listControllers(cell, options).then((request) => request(axios, basePath));
2701
2522
  },
2523
+ /**
2524
+ * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
2525
+ * @summary List Coordinate Systems
2526
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
2527
+ * @param {string} controller Unique identifier to address a controller in the cell.
2528
+ * @param {OrientationType} [orientationType]
2529
+ * @param {*} [options] Override http request option.
2530
+ * @throws {RequiredError}
2531
+ */
2532
+ listCoordinateSystems(cell, controller, orientationType, options) {
2533
+ return localVarFp.listCoordinateSystems(cell, controller, orientationType, options).then((request) => request(axios, basePath));
2534
+ },
2702
2535
  /**
2703
2536
  * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2704
2537
  * @summary Set Default Mode
@@ -2712,8 +2545,8 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2712
2545
  return localVarFp.setDefaultMode(cell, controller, mode, options).then((request) => request(axios, basePath));
2713
2546
  },
2714
2547
  /**
2715
- * Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (getSupportedModes)[getSupportedModes] endpoint to check if the robot controller supports free drive mode.
2716
- * @summary Stream Free Drive Mode
2548
+ * <!-- theme: danger --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (listController)[listController] endpoint to check if the robot controller supports free drive mode.
2549
+ * @summary Stream Free Drive
2717
2550
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2718
2551
  * @param {string} controller Unique identifier to address a controller in the cell.
2719
2552
  * @param {number} [responseRate]
@@ -2724,19 +2557,8 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2724
2557
  return localVarFp.streamFreeDrive(cell, controller, responseRate, options).then((request) => request(axios, basePath));
2725
2558
  },
2726
2559
  /**
2727
- * Receive updates of the current robot system mode of a robot controller via websocket upon robot system mode change. See [setDefaultMode](setDefaultMode) for more information about the different modes.
2728
- * @summary Stream Mode Change
2729
- * @param {string} cell Unique identifier addressing a cell in all API calls.
2730
- * @param {string} controller Unique identifier to address a controller in the cell.
2731
- * @param {*} [options] Override http request option.
2732
- * @throws {RequiredError}
2733
- */
2734
- streamModeChange(cell, controller, options) {
2735
- return localVarFp.streamModeChange(cell, controller, options).then((request) => request(axios, basePath));
2736
- },
2737
- /**
2738
- * Receive updates of the state of a robot controller.
2739
- * @summary Stream State of Device
2560
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
2561
+ * @summary Stream State
2740
2562
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2741
2563
  * @param {string} controller Unique identifier to address a controller in the cell.
2742
2564
  * @param {number} [responseRate]
@@ -2748,7 +2570,7 @@ export const ControllerApiFactory = function (configuration, basePath, axios) {
2748
2570
  },
2749
2571
  /**
2750
2572
  * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2751
- * @summary Update Robot Controller Configuration
2573
+ * @summary Update Robot Controller
2752
2574
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2753
2575
  * @param {string} controller Unique identifier to address a controller in the cell.
2754
2576
  * @param {RobotController} robotController
@@ -2806,9 +2628,23 @@ export class ControllerApi extends BaseAPI {
2806
2628
  deleteRobotController(cell, controller, completionTimeout, options) {
2807
2629
  return ControllerApiFp(this.configuration).deleteRobotController(cell, controller, completionTimeout, options).then((request) => request(this.axios, this.basePath));
2808
2630
  }
2631
+ /**
2632
+ * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
2633
+ * @summary Coordinate System
2634
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
2635
+ * @param {string} controller Unique identifier to address a controller in the cell.
2636
+ * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
2637
+ * @param {OrientationType} [orientationType]
2638
+ * @param {*} [options] Override http request option.
2639
+ * @throws {RequiredError}
2640
+ * @memberof ControllerApi
2641
+ */
2642
+ getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {
2643
+ return ControllerApiFp(this.configuration).getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options).then((request) => request(this.axios, this.basePath));
2644
+ }
2809
2645
  /**
2810
2646
  * Get the current state of a robot controller.
2811
- * @summary State of Device
2647
+ * @summary State
2812
2648
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2813
2649
  * @param {string} controller Unique identifier to address a controller in the cell.
2814
2650
  * @param {*} [options] Override http request option.
@@ -2832,7 +2668,7 @@ export class ControllerApi extends BaseAPI {
2832
2668
  }
2833
2669
  /**
2834
2670
  * Get the configuration for a robot controller.
2835
- * @summary Robot Controller Configuration
2671
+ * @summary Robot Controller
2836
2672
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2837
2673
  * @param {string} controller Unique identifier to address a controller in the cell.
2838
2674
  * @param {*} [options] Override http request option.
@@ -2842,18 +2678,6 @@ export class ControllerApi extends BaseAPI {
2842
2678
  getRobotController(cell, controller, options) {
2843
2679
  return ControllerApiFp(this.configuration).getRobotController(cell, controller, options).then((request) => request(this.axios, this.basePath));
2844
2680
  }
2845
- /**
2846
- * Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
2847
- * @summary Supported Motion Modes
2848
- * @param {string} cell Unique identifier addressing a cell in all API calls.
2849
- * @param {string} controller Unique identifier to address a controller in the cell.
2850
- * @param {*} [options] Override http request option.
2851
- * @throws {RequiredError}
2852
- * @memberof ControllerApi
2853
- */
2854
- getSupportedModes(cell, controller, options) {
2855
- return ControllerApiFp(this.configuration).getSupportedModes(cell, controller, options).then((request) => request(this.axios, this.basePath));
2856
- }
2857
2681
  /**
2858
2682
  * Receive the configuration for a virtual robot controller. Used to configure a virtual robot controller via [addRobotController](addRobotController). > **NOTE** > > The output generated by this endpoint can be too large for the site to handle, and may produce an error or incorrect output. > Use `curl` in combination with `> output.json` to capture the output, or use an API client like Postman.
2859
2683
  * @summary Virtual Robot Configuration
@@ -2868,7 +2692,7 @@ export class ControllerApi extends BaseAPI {
2868
2692
  }
2869
2693
  /**
2870
2694
  * List all configured robot controllers.
2871
- * @summary List
2695
+ * @summary List Descriptions
2872
2696
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2873
2697
  * @param {*} [options] Override http request option.
2874
2698
  * @throws {RequiredError}
@@ -2878,46 +2702,47 @@ export class ControllerApi extends BaseAPI {
2878
2702
  return ControllerApiFp(this.configuration).listControllers(cell, options).then((request) => request(this.axios, this.basePath));
2879
2703
  }
2880
2704
  /**
2881
- * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2882
- * @summary Set Default Mode
2705
+ * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
2706
+ * @summary List Coordinate Systems
2883
2707
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2884
2708
  * @param {string} controller Unique identifier to address a controller in the cell.
2885
- * @param {SettableRobotSystemMode} mode
2709
+ * @param {OrientationType} [orientationType]
2886
2710
  * @param {*} [options] Override http request option.
2887
2711
  * @throws {RequiredError}
2888
2712
  * @memberof ControllerApi
2889
2713
  */
2890
- setDefaultMode(cell, controller, mode, options) {
2891
- return ControllerApiFp(this.configuration).setDefaultMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));
2714
+ listCoordinateSystems(cell, controller, orientationType, options) {
2715
+ return ControllerApiFp(this.configuration).listCoordinateSystems(cell, controller, orientationType, options).then((request) => request(this.axios, this.basePath));
2892
2716
  }
2893
2717
  /**
2894
- * Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (getSupportedModes)[getSupportedModes] endpoint to check if the robot controller supports free drive mode.
2895
- * @summary Stream Free Drive Mode
2718
+ * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2719
+ * @summary Set Default Mode
2896
2720
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2897
2721
  * @param {string} controller Unique identifier to address a controller in the cell.
2898
- * @param {number} [responseRate]
2722
+ * @param {SettableRobotSystemMode} mode
2899
2723
  * @param {*} [options] Override http request option.
2900
2724
  * @throws {RequiredError}
2901
2725
  * @memberof ControllerApi
2902
2726
  */
2903
- streamFreeDrive(cell, controller, responseRate, options) {
2904
- return ControllerApiFp(this.configuration).streamFreeDrive(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));
2727
+ setDefaultMode(cell, controller, mode, options) {
2728
+ return ControllerApiFp(this.configuration).setDefaultMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));
2905
2729
  }
2906
2730
  /**
2907
- * Receive updates of the current robot system mode of a robot controller via websocket upon robot system mode change. See [setDefaultMode](setDefaultMode) for more information about the different modes.
2908
- * @summary Stream Mode Change
2731
+ * <!-- theme: danger --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (listController)[listController] endpoint to check if the robot controller supports free drive mode.
2732
+ * @summary Stream Free Drive
2909
2733
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2910
2734
  * @param {string} controller Unique identifier to address a controller in the cell.
2735
+ * @param {number} [responseRate]
2911
2736
  * @param {*} [options] Override http request option.
2912
2737
  * @throws {RequiredError}
2913
2738
  * @memberof ControllerApi
2914
2739
  */
2915
- streamModeChange(cell, controller, options) {
2916
- return ControllerApiFp(this.configuration).streamModeChange(cell, controller, options).then((request) => request(this.axios, this.basePath));
2740
+ streamFreeDrive(cell, controller, responseRate, options) {
2741
+ return ControllerApiFp(this.configuration).streamFreeDrive(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));
2917
2742
  }
2918
2743
  /**
2919
- * Receive updates of the state of a robot controller.
2920
- * @summary Stream State of Device
2744
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller.
2745
+ * @summary Stream State
2921
2746
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2922
2747
  * @param {string} controller Unique identifier to address a controller in the cell.
2923
2748
  * @param {number} [responseRate]
@@ -2930,7 +2755,7 @@ export class ControllerApi extends BaseAPI {
2930
2755
  }
2931
2756
  /**
2932
2757
  * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2933
- * @summary Update Robot Controller Configuration
2758
+ * @summary Update Robot Controller
2934
2759
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2935
2760
  * @param {string} controller Unique identifier to address a controller in the cell.
2936
2761
  * @param {RobotController} robotController
@@ -3092,7 +2917,7 @@ export const ControllerInputsOutputsApiAxiosParamCreator = function (configurati
3092
2917
  };
3093
2918
  },
3094
2919
  /**
3095
- * Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
2920
+ * <!-- theme: danger --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3096
2921
  * @summary Stream Input/Output Values
3097
2922
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3098
2923
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3236,7 +3061,7 @@ export const ControllerInputsOutputsApiFp = function (configuration) {
3236
3061
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3237
3062
  },
3238
3063
  /**
3239
- * Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3064
+ * <!-- theme: danger --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3240
3065
  * @summary Stream Input/Output Values
3241
3066
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3242
3067
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3314,7 +3139,7 @@ export const ControllerInputsOutputsApiFactory = function (configuration, basePa
3314
3139
  return localVarFp.setOutputValues(cell, controller, setOutputValuesRequestInner, options).then((request) => request(axios, basePath));
3315
3140
  },
3316
3141
  /**
3317
- * Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3142
+ * <!-- theme: danger --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3318
3143
  * @summary Stream Input/Output Values
3319
3144
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3320
3145
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3389,7 +3214,7 @@ export class ControllerInputsOutputsApi extends BaseAPI {
3389
3214
  return ControllerInputsOutputsApiFp(this.configuration).setOutputValues(cell, controller, setOutputValuesRequestInner, options).then((request) => request(this.axios, this.basePath));
3390
3215
  }
3391
3216
  /**
3392
- * Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3217
+ * <!-- theme: danger --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > Do not request too many values simultaneously as the request is then likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. Consider that this might lead to a high amount of data transmitted.
3393
3218
  * @summary Stream Input/Output Values
3394
3219
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3395
3220
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3416,35 +3241,31 @@ export class ControllerInputsOutputsApi extends BaseAPI {
3416
3241
  }
3417
3242
  }
3418
3243
  /**
3419
- * CoordinateSystemsApi - axios parameter creator
3244
+ * InverseKinematicsApi - axios parameter creator
3420
3245
  * @export
3421
3246
  */
3422
- export const CoordinateSystemsApiAxiosParamCreator = function (configuration) {
3247
+ export const InverseKinematicsApiAxiosParamCreator = function (configuration) {
3423
3248
  return {
3424
3249
  /**
3425
- * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3426
- * @summary Description
3250
+ * Returns the reachable joint positions for a list of given poses.
3251
+ * @summary Inverse kinematics
3427
3252
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3428
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3429
- * @param {OrientationType} [orientationType]
3253
+ * @param {InverseKinematicsRequest} [inverseKinematicsRequest]
3430
3254
  * @param {*} [options] Override http request option.
3431
3255
  * @throws {RequiredError}
3432
3256
  */
3433
- getCoordinateSystem: async (cell, coordinateSystem, orientationType, options = {}) => {
3257
+ inverseKinematics: async (cell, inverseKinematicsRequest, options = {}) => {
3434
3258
  // verify required parameter 'cell' is not null or undefined
3435
- assertParamExists('getCoordinateSystem', 'cell', cell);
3436
- // verify required parameter 'coordinateSystem' is not null or undefined
3437
- assertParamExists('getCoordinateSystem', 'coordinateSystem', coordinateSystem);
3438
- const localVarPath = `/cells/{cell}/coordinate-systems/{coordinate-system}`
3439
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
3440
- .replace(`{${"coordinate-system"}}`, encodeURIComponent(String(coordinateSystem)));
3259
+ assertParamExists('inverseKinematics', 'cell', cell);
3260
+ const localVarPath = `/cells/{cell}/kinematic/inverse-kinematics`
3261
+ .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
3441
3262
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
3442
3263
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
3443
3264
  let baseOptions;
3444
3265
  if (configuration) {
3445
3266
  baseOptions = configuration.baseOptions;
3446
3267
  }
3447
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
3268
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
3448
3269
  const localVarHeaderParameter = {};
3449
3270
  const localVarQueryParameter = {};
3450
3271
  // authentication BasicAuth required
@@ -3453,284 +3274,11 @@ export const CoordinateSystemsApiAxiosParamCreator = function (configuration) {
3453
3274
  // authentication BearerAuth required
3454
3275
  // http bearer authentication required
3455
3276
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
3456
- if (orientationType !== undefined) {
3457
- localVarQueryParameter['orientation_type'] = orientationType;
3458
- }
3277
+ localVarHeaderParameter['Content-Type'] = 'application/json';
3459
3278
  setSearchParams(localVarUrlObj, localVarQueryParameter);
3460
3279
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
3461
3280
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
3462
- return {
3463
- url: toPathString(localVarUrlObj),
3464
- options: localVarRequestOptions,
3465
- };
3466
- },
3467
- /**
3468
- * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3469
- * @summary List
3470
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3471
- * @param {OrientationType} [orientationType]
3472
- * @param {*} [options] Override http request option.
3473
- * @throws {RequiredError}
3474
- */
3475
- listCoordinateSystems: async (cell, orientationType, options = {}) => {
3476
- // verify required parameter 'cell' is not null or undefined
3477
- assertParamExists('listCoordinateSystems', 'cell', cell);
3478
- const localVarPath = `/cells/{cell}/coordinate-systems`
3479
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
3480
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
3481
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
3482
- let baseOptions;
3483
- if (configuration) {
3484
- baseOptions = configuration.baseOptions;
3485
- }
3486
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
3487
- const localVarHeaderParameter = {};
3488
- const localVarQueryParameter = {};
3489
- // authentication BasicAuth required
3490
- // http basic authentication required
3491
- setBasicAuthToObject(localVarRequestOptions, configuration);
3492
- // authentication BearerAuth required
3493
- // http bearer authentication required
3494
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
3495
- if (orientationType !== undefined) {
3496
- localVarQueryParameter['orientation_type'] = orientationType;
3497
- }
3498
- setSearchParams(localVarUrlObj, localVarQueryParameter);
3499
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
3500
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
3501
- return {
3502
- url: toPathString(localVarUrlObj),
3503
- options: localVarRequestOptions,
3504
- };
3505
- },
3506
- /**
3507
- * Transform a pose to another base.
3508
- * @summary Transform
3509
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3510
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3511
- * @param {PoseInCoordinateSystem} poseInCoordinateSystem
3512
- * @param {*} [options] Override http request option.
3513
- * @throws {RequiredError}
3514
- */
3515
- transformInCoordinateSystem: async (cell, coordinateSystem, poseInCoordinateSystem, options = {}) => {
3516
- // verify required parameter 'cell' is not null or undefined
3517
- assertParamExists('transformInCoordinateSystem', 'cell', cell);
3518
- // verify required parameter 'coordinateSystem' is not null or undefined
3519
- assertParamExists('transformInCoordinateSystem', 'coordinateSystem', coordinateSystem);
3520
- // verify required parameter 'poseInCoordinateSystem' is not null or undefined
3521
- assertParamExists('transformInCoordinateSystem', 'poseInCoordinateSystem', poseInCoordinateSystem);
3522
- const localVarPath = `/cells/{cell}/coordinate-systems/{coordinate-system}/transform`
3523
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
3524
- .replace(`{${"coordinate-system"}}`, encodeURIComponent(String(coordinateSystem)));
3525
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
3526
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
3527
- let baseOptions;
3528
- if (configuration) {
3529
- baseOptions = configuration.baseOptions;
3530
- }
3531
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
3532
- const localVarHeaderParameter = {};
3533
- const localVarQueryParameter = {};
3534
- // authentication BasicAuth required
3535
- // http basic authentication required
3536
- setBasicAuthToObject(localVarRequestOptions, configuration);
3537
- // authentication BearerAuth required
3538
- // http bearer authentication required
3539
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
3540
- localVarHeaderParameter['Content-Type'] = 'application/json';
3541
- setSearchParams(localVarUrlObj, localVarQueryParameter);
3542
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
3543
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
3544
- localVarRequestOptions.data = serializeDataIfNeeded(poseInCoordinateSystem, localVarRequestOptions, configuration);
3545
- return {
3546
- url: toPathString(localVarUrlObj),
3547
- options: localVarRequestOptions,
3548
- };
3549
- },
3550
- };
3551
- };
3552
- /**
3553
- * CoordinateSystemsApi - functional programming interface
3554
- * @export
3555
- */
3556
- export const CoordinateSystemsApiFp = function (configuration) {
3557
- const localVarAxiosParamCreator = CoordinateSystemsApiAxiosParamCreator(configuration);
3558
- return {
3559
- /**
3560
- * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3561
- * @summary Description
3562
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3563
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3564
- * @param {OrientationType} [orientationType]
3565
- * @param {*} [options] Override http request option.
3566
- * @throws {RequiredError}
3567
- */
3568
- async getCoordinateSystem(cell, coordinateSystem, orientationType, options) {
3569
- const localVarAxiosArgs = await localVarAxiosParamCreator.getCoordinateSystem(cell, coordinateSystem, orientationType, options);
3570
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3571
- const localVarOperationServerBasePath = operationServerMap['CoordinateSystemsApi.getCoordinateSystem']?.[localVarOperationServerIndex]?.url;
3572
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3573
- },
3574
- /**
3575
- * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3576
- * @summary List
3577
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3578
- * @param {OrientationType} [orientationType]
3579
- * @param {*} [options] Override http request option.
3580
- * @throws {RequiredError}
3581
- */
3582
- async listCoordinateSystems(cell, orientationType, options) {
3583
- const localVarAxiosArgs = await localVarAxiosParamCreator.listCoordinateSystems(cell, orientationType, options);
3584
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3585
- const localVarOperationServerBasePath = operationServerMap['CoordinateSystemsApi.listCoordinateSystems']?.[localVarOperationServerIndex]?.url;
3586
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3587
- },
3588
- /**
3589
- * Transform a pose to another base.
3590
- * @summary Transform
3591
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3592
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3593
- * @param {PoseInCoordinateSystem} poseInCoordinateSystem
3594
- * @param {*} [options] Override http request option.
3595
- * @throws {RequiredError}
3596
- */
3597
- async transformInCoordinateSystem(cell, coordinateSystem, poseInCoordinateSystem, options) {
3598
- const localVarAxiosArgs = await localVarAxiosParamCreator.transformInCoordinateSystem(cell, coordinateSystem, poseInCoordinateSystem, options);
3599
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3600
- const localVarOperationServerBasePath = operationServerMap['CoordinateSystemsApi.transformInCoordinateSystem']?.[localVarOperationServerIndex]?.url;
3601
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
3602
- },
3603
- };
3604
- };
3605
- /**
3606
- * CoordinateSystemsApi - factory interface
3607
- * @export
3608
- */
3609
- export const CoordinateSystemsApiFactory = function (configuration, basePath, axios) {
3610
- const localVarFp = CoordinateSystemsApiFp(configuration);
3611
- return {
3612
- /**
3613
- * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3614
- * @summary Description
3615
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3616
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3617
- * @param {OrientationType} [orientationType]
3618
- * @param {*} [options] Override http request option.
3619
- * @throws {RequiredError}
3620
- */
3621
- getCoordinateSystem(cell, coordinateSystem, orientationType, options) {
3622
- return localVarFp.getCoordinateSystem(cell, coordinateSystem, orientationType, options).then((request) => request(axios, basePath));
3623
- },
3624
- /**
3625
- * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3626
- * @summary List
3627
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3628
- * @param {OrientationType} [orientationType]
3629
- * @param {*} [options] Override http request option.
3630
- * @throws {RequiredError}
3631
- */
3632
- listCoordinateSystems(cell, orientationType, options) {
3633
- return localVarFp.listCoordinateSystems(cell, orientationType, options).then((request) => request(axios, basePath));
3634
- },
3635
- /**
3636
- * Transform a pose to another base.
3637
- * @summary Transform
3638
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3639
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3640
- * @param {PoseInCoordinateSystem} poseInCoordinateSystem
3641
- * @param {*} [options] Override http request option.
3642
- * @throws {RequiredError}
3643
- */
3644
- transformInCoordinateSystem(cell, coordinateSystem, poseInCoordinateSystem, options) {
3645
- return localVarFp.transformInCoordinateSystem(cell, coordinateSystem, poseInCoordinateSystem, options).then((request) => request(axios, basePath));
3646
- },
3647
- };
3648
- };
3649
- /**
3650
- * CoordinateSystemsApi - object-oriented interface
3651
- * @export
3652
- * @class CoordinateSystemsApi
3653
- * @extends {BaseAPI}
3654
- */
3655
- export class CoordinateSystemsApi extends BaseAPI {
3656
- /**
3657
- * Request a coordinate system specification for a given identifier. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3658
- * @summary Description
3659
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3660
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3661
- * @param {OrientationType} [orientationType]
3662
- * @param {*} [options] Override http request option.
3663
- * @throws {RequiredError}
3664
- * @memberof CoordinateSystemsApi
3665
- */
3666
- getCoordinateSystem(cell, coordinateSystem, orientationType, options) {
3667
- return CoordinateSystemsApiFp(this.configuration).getCoordinateSystem(cell, coordinateSystem, orientationType, options).then((request) => request(this.axios, this.basePath));
3668
- }
3669
- /**
3670
- * Lists all specifications of coordinate systems from robot controllers. Use parameter orientation_type to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with \"On\" + the unique identifier of the robot controller.
3671
- * @summary List
3672
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3673
- * @param {OrientationType} [orientationType]
3674
- * @param {*} [options] Override http request option.
3675
- * @throws {RequiredError}
3676
- * @memberof CoordinateSystemsApi
3677
- */
3678
- listCoordinateSystems(cell, orientationType, options) {
3679
- return CoordinateSystemsApiFp(this.configuration).listCoordinateSystems(cell, orientationType, options).then((request) => request(this.axios, this.basePath));
3680
- }
3681
- /**
3682
- * Transform a pose to another base.
3683
- * @summary Transform
3684
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3685
- * @param {string} coordinateSystem Unique identifier addressing a coordinate system.
3686
- * @param {PoseInCoordinateSystem} poseInCoordinateSystem
3687
- * @param {*} [options] Override http request option.
3688
- * @throws {RequiredError}
3689
- * @memberof CoordinateSystemsApi
3690
- */
3691
- transformInCoordinateSystem(cell, coordinateSystem, poseInCoordinateSystem, options) {
3692
- return CoordinateSystemsApiFp(this.configuration).transformInCoordinateSystem(cell, coordinateSystem, poseInCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
3693
- }
3694
- }
3695
- /**
3696
- * InverseKinematicsApi - axios parameter creator
3697
- * @export
3698
- */
3699
- export const InverseKinematicsApiAxiosParamCreator = function (configuration) {
3700
- return {
3701
- /**
3702
- * Returns the reachable joint positions for a list of given poses.
3703
- * @summary Inverse kinematics
3704
- * @param {string} cell Unique identifier addressing a cell in all API calls.
3705
- * @param {InverseKinematicsRequest} [inverseKinematicsRequest]
3706
- * @param {*} [options] Override http request option.
3707
- * @throws {RequiredError}
3708
- */
3709
- inverseKinematics: async (cell, inverseKinematicsRequest, options = {}) => {
3710
- // verify required parameter 'cell' is not null or undefined
3711
- assertParamExists('inverseKinematics', 'cell', cell);
3712
- const localVarPath = `/cells/{cell}/kinematic/inverse-kinematics`
3713
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
3714
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
3715
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
3716
- let baseOptions;
3717
- if (configuration) {
3718
- baseOptions = configuration.baseOptions;
3719
- }
3720
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
3721
- const localVarHeaderParameter = {};
3722
- const localVarQueryParameter = {};
3723
- // authentication BasicAuth required
3724
- // http basic authentication required
3725
- setBasicAuthToObject(localVarRequestOptions, configuration);
3726
- // authentication BearerAuth required
3727
- // http bearer authentication required
3728
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
3729
- localVarHeaderParameter['Content-Type'] = 'application/json';
3730
- setSearchParams(localVarUrlObj, localVarQueryParameter);
3731
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
3732
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
3733
- localVarRequestOptions.data = serializeDataIfNeeded(inverseKinematicsRequest, localVarRequestOptions, configuration);
3281
+ localVarRequestOptions.data = serializeDataIfNeeded(inverseKinematicsRequest, localVarRequestOptions, configuration);
3734
3282
  return {
3735
3283
  url: toPathString(localVarUrlObj),
3736
3284
  options: localVarRequestOptions,
@@ -4209,27 +3757,29 @@ export class LicenseApi extends BaseAPI {
4209
3757
  export const MotionGroupApiAxiosParamCreator = function (configuration) {
4210
3758
  return {
4211
3759
  /**
4212
- * Activate the motion group and keeps the motion group in an active status. To activate all motion groups of a robot controller, use this endpoint. It will return all activated motion groups of that controller. When activating motion groups, it is not possible to interact with the controller in any other way. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4213
- * @summary Activate All
3760
+ * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
3761
+ * @summary State
4214
3762
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4215
- * @param {string} controller
3763
+ * @param {string} motionGroup The motion-group identifier.
3764
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
4216
3765
  * @param {*} [options] Override http request option.
4217
3766
  * @throws {RequiredError}
4218
3767
  */
4219
- activateAllMotionGroups: async (cell, controller, options = {}) => {
3768
+ getCurrentMotionGroupState: async (cell, motionGroup, responseCoordinateSystem, options = {}) => {
4220
3769
  // verify required parameter 'cell' is not null or undefined
4221
- assertParamExists('activateAllMotionGroups', 'cell', cell);
4222
- // verify required parameter 'controller' is not null or undefined
4223
- assertParamExists('activateAllMotionGroups', 'controller', controller);
4224
- const localVarPath = `/cells/{cell}/motion-groups/all`
4225
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
3770
+ assertParamExists('getCurrentMotionGroupState', 'cell', cell);
3771
+ // verify required parameter 'motionGroup' is not null or undefined
3772
+ assertParamExists('getCurrentMotionGroupState', 'motionGroup', motionGroup);
3773
+ const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/state`
3774
+ .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
3775
+ .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4226
3776
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
4227
3777
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4228
3778
  let baseOptions;
4229
3779
  if (configuration) {
4230
3780
  baseOptions = configuration.baseOptions;
4231
3781
  }
4232
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
3782
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4233
3783
  const localVarHeaderParameter = {};
4234
3784
  const localVarQueryParameter = {};
4235
3785
  // authentication BasicAuth required
@@ -4238,8 +3788,8 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4238
3788
  // authentication BearerAuth required
4239
3789
  // http bearer authentication required
4240
3790
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
4241
- if (controller !== undefined) {
4242
- localVarQueryParameter['controller'] = controller;
3791
+ if (responseCoordinateSystem !== undefined) {
3792
+ localVarQueryParameter['response_coordinate_system'] = responseCoordinateSystem;
4243
3793
  }
4244
3794
  setSearchParams(localVarUrlObj, localVarQueryParameter);
4245
3795
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
@@ -4250,27 +3800,28 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4250
3800
  };
4251
3801
  },
4252
3802
  /**
4253
- * Activate the motion group and keeps the motion group in an active status. To manually activate a motion group, use this endpoint. When activating a motion group, interacting with the controller in other ways is not possible. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4254
- * @summary Activate
3803
+ * Get the complete set of parameters that can be passed to the motion-planner (incl. safety zones, limits etc.).
3804
+ * @summary Planning Parameters
4255
3805
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4256
- * @param {string} motionGroup
3806
+ * @param {string} motionGroup The motion-group identifier.
4257
3807
  * @param {*} [options] Override http request option.
4258
3808
  * @throws {RequiredError}
4259
3809
  */
4260
- activateMotionGroup: async (cell, motionGroup, options = {}) => {
3810
+ getPlanningParameters: async (cell, motionGroup, options = {}) => {
4261
3811
  // verify required parameter 'cell' is not null or undefined
4262
- assertParamExists('activateMotionGroup', 'cell', cell);
3812
+ assertParamExists('getPlanningParameters', 'cell', cell);
4263
3813
  // verify required parameter 'motionGroup' is not null or undefined
4264
- assertParamExists('activateMotionGroup', 'motionGroup', motionGroup);
4265
- const localVarPath = `/cells/{cell}/motion-groups`
4266
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
3814
+ assertParamExists('getPlanningParameters', 'motionGroup', motionGroup);
3815
+ const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/planning-parameters`
3816
+ .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
3817
+ .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4267
3818
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
4268
3819
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4269
3820
  let baseOptions;
4270
3821
  if (configuration) {
4271
3822
  baseOptions = configuration.baseOptions;
4272
3823
  }
4273
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
3824
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4274
3825
  const localVarHeaderParameter = {};
4275
3826
  const localVarQueryParameter = {};
4276
3827
  // authentication BasicAuth required
@@ -4279,9 +3830,6 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4279
3830
  // authentication BearerAuth required
4280
3831
  // http bearer authentication required
4281
3832
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
4282
- if (motionGroup !== undefined) {
4283
- localVarQueryParameter['motion_group'] = motionGroup;
4284
- }
4285
3833
  setSearchParams(localVarUrlObj, localVarQueryParameter);
4286
3834
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4287
3835
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
@@ -4291,19 +3839,21 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4291
3839
  };
4292
3840
  },
4293
3841
  /**
4294
- * Deactivate a motion group. Activate the motion group and keeps the motion group in an active status. The robot controller streams information about all active motion groups. Deactivate motion groups that you no longer use. When deactivating motion groups, it is not possible to interact with the controller in any other way.
4295
- * @summary Deactivate
3842
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3843
+ * @summary Stream State
4296
3844
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4297
3845
  * @param {string} motionGroup The motion-group identifier.
3846
+ * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
3847
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
4298
3848
  * @param {*} [options] Override http request option.
4299
3849
  * @throws {RequiredError}
4300
3850
  */
4301
- deactivateMotionGroup: async (cell, motionGroup, options = {}) => {
3851
+ streamMotionGroupState: async (cell, motionGroup, responseRate, responseCoordinateSystem, options = {}) => {
4302
3852
  // verify required parameter 'cell' is not null or undefined
4303
- assertParamExists('deactivateMotionGroup', 'cell', cell);
3853
+ assertParamExists('streamMotionGroupState', 'cell', cell);
4304
3854
  // verify required parameter 'motionGroup' is not null or undefined
4305
- assertParamExists('deactivateMotionGroup', 'motionGroup', motionGroup);
4306
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}`
3855
+ assertParamExists('streamMotionGroupState', 'motionGroup', motionGroup);
3856
+ const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/state-stream`
4307
3857
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4308
3858
  .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4309
3859
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -4312,7 +3862,7 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4312
3862
  if (configuration) {
4313
3863
  baseOptions = configuration.baseOptions;
4314
3864
  }
4315
- const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options };
3865
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4316
3866
  const localVarHeaderParameter = {};
4317
3867
  const localVarQueryParameter = {};
4318
3868
  // authentication BasicAuth required
@@ -4321,6 +3871,12 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4321
3871
  // authentication BearerAuth required
4322
3872
  // http bearer authentication required
4323
3873
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
3874
+ if (responseRate !== undefined) {
3875
+ localVarQueryParameter['response_rate'] = responseRate;
3876
+ }
3877
+ if (responseCoordinateSystem !== undefined) {
3878
+ localVarQueryParameter['response_coordinate_system'] = responseCoordinateSystem;
3879
+ }
4324
3880
  setSearchParams(localVarUrlObj, localVarQueryParameter);
4325
3881
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4326
3882
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
@@ -4329,1576 +3885,152 @@ export const MotionGroupApiAxiosParamCreator = function (configuration) {
4329
3885
  options: localVarRequestOptions,
4330
3886
  };
4331
3887
  },
3888
+ };
3889
+ };
3890
+ /**
3891
+ * MotionGroupApi - functional programming interface
3892
+ * @export
3893
+ */
3894
+ export const MotionGroupApiFp = function (configuration) {
3895
+ const localVarAxiosParamCreator = MotionGroupApiAxiosParamCreator(configuration);
3896
+ return {
4332
3897
  /**
4333
- * List all active motion groups. A motion group is active if it is currently used by a controller.
4334
- * @summary List Active
3898
+ * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
3899
+ * @summary State
4335
3900
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3901
+ * @param {string} motionGroup The motion-group identifier.
3902
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
4336
3903
  * @param {*} [options] Override http request option.
4337
3904
  * @throws {RequiredError}
4338
3905
  */
4339
- listMotionGroups: async (cell, options = {}) => {
4340
- // verify required parameter 'cell' is not null or undefined
4341
- assertParamExists('listMotionGroups', 'cell', cell);
4342
- const localVarPath = `/cells/{cell}/motion-groups`
4343
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
4344
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4345
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4346
- let baseOptions;
4347
- if (configuration) {
4348
- baseOptions = configuration.baseOptions;
4349
- }
4350
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4351
- const localVarHeaderParameter = {};
4352
- const localVarQueryParameter = {};
4353
- // authentication BasicAuth required
4354
- // http basic authentication required
4355
- setBasicAuthToObject(localVarRequestOptions, configuration);
4356
- // authentication BearerAuth required
4357
- // http bearer authentication required
4358
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4359
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4360
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4361
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4362
- return {
4363
- url: toPathString(localVarUrlObj),
4364
- options: localVarRequestOptions,
4365
- };
4366
- },
4367
- };
4368
- };
4369
- /**
4370
- * MotionGroupApi - functional programming interface
4371
- * @export
4372
- */
4373
- export const MotionGroupApiFp = function (configuration) {
4374
- const localVarAxiosParamCreator = MotionGroupApiAxiosParamCreator(configuration);
4375
- return {
4376
- /**
4377
- * Activate the motion group and keeps the motion group in an active status. To activate all motion groups of a robot controller, use this endpoint. It will return all activated motion groups of that controller. When activating motion groups, it is not possible to interact with the controller in any other way. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4378
- * @summary Activate All
4379
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4380
- * @param {string} controller
4381
- * @param {*} [options] Override http request option.
4382
- * @throws {RequiredError}
4383
- */
4384
- async activateAllMotionGroups(cell, controller, options) {
4385
- const localVarAxiosArgs = await localVarAxiosParamCreator.activateAllMotionGroups(cell, controller, options);
4386
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4387
- const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.activateAllMotionGroups']?.[localVarOperationServerIndex]?.url;
4388
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
4389
- },
4390
- /**
4391
- * Activate the motion group and keeps the motion group in an active status. To manually activate a motion group, use this endpoint. When activating a motion group, interacting with the controller in other ways is not possible. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4392
- * @summary Activate
4393
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4394
- * @param {string} motionGroup
4395
- * @param {*} [options] Override http request option.
4396
- * @throws {RequiredError}
4397
- */
4398
- async activateMotionGroup(cell, motionGroup, options) {
4399
- const localVarAxiosArgs = await localVarAxiosParamCreator.activateMotionGroup(cell, motionGroup, options);
4400
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4401
- const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.activateMotionGroup']?.[localVarOperationServerIndex]?.url;
4402
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
4403
- },
4404
- /**
4405
- * Deactivate a motion group. Activate the motion group and keeps the motion group in an active status. The robot controller streams information about all active motion groups. Deactivate motion groups that you no longer use. When deactivating motion groups, it is not possible to interact with the controller in any other way.
4406
- * @summary Deactivate
4407
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4408
- * @param {string} motionGroup The motion-group identifier.
4409
- * @param {*} [options] Override http request option.
4410
- * @throws {RequiredError}
4411
- */
4412
- async deactivateMotionGroup(cell, motionGroup, options) {
4413
- const localVarAxiosArgs = await localVarAxiosParamCreator.deactivateMotionGroup(cell, motionGroup, options);
4414
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4415
- const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.deactivateMotionGroup']?.[localVarOperationServerIndex]?.url;
4416
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
4417
- },
4418
- /**
4419
- * List all active motion groups. A motion group is active if it is currently used by a controller.
4420
- * @summary List Active
4421
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4422
- * @param {*} [options] Override http request option.
4423
- * @throws {RequiredError}
4424
- */
4425
- async listMotionGroups(cell, options) {
4426
- const localVarAxiosArgs = await localVarAxiosParamCreator.listMotionGroups(cell, options);
4427
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4428
- const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.listMotionGroups']?.[localVarOperationServerIndex]?.url;
4429
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
4430
- },
4431
- };
4432
- };
4433
- /**
4434
- * MotionGroupApi - factory interface
4435
- * @export
4436
- */
4437
- export const MotionGroupApiFactory = function (configuration, basePath, axios) {
4438
- const localVarFp = MotionGroupApiFp(configuration);
4439
- return {
4440
- /**
4441
- * Activate the motion group and keeps the motion group in an active status. To activate all motion groups of a robot controller, use this endpoint. It will return all activated motion groups of that controller. When activating motion groups, it is not possible to interact with the controller in any other way. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4442
- * @summary Activate All
4443
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4444
- * @param {string} controller
4445
- * @param {*} [options] Override http request option.
4446
- * @throws {RequiredError}
4447
- */
4448
- activateAllMotionGroups(cell, controller, options) {
4449
- return localVarFp.activateAllMotionGroups(cell, controller, options).then((request) => request(axios, basePath));
4450
- },
4451
- /**
4452
- * Activate the motion group and keeps the motion group in an active status. To manually activate a motion group, use this endpoint. When activating a motion group, interacting with the controller in other ways is not possible. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4453
- * @summary Activate
4454
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4455
- * @param {string} motionGroup
4456
- * @param {*} [options] Override http request option.
4457
- * @throws {RequiredError}
4458
- */
4459
- activateMotionGroup(cell, motionGroup, options) {
4460
- return localVarFp.activateMotionGroup(cell, motionGroup, options).then((request) => request(axios, basePath));
4461
- },
4462
- /**
4463
- * Deactivate a motion group. Activate the motion group and keeps the motion group in an active status. The robot controller streams information about all active motion groups. Deactivate motion groups that you no longer use. When deactivating motion groups, it is not possible to interact with the controller in any other way.
4464
- * @summary Deactivate
4465
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4466
- * @param {string} motionGroup The motion-group identifier.
4467
- * @param {*} [options] Override http request option.
4468
- * @throws {RequiredError}
4469
- */
4470
- deactivateMotionGroup(cell, motionGroup, options) {
4471
- return localVarFp.deactivateMotionGroup(cell, motionGroup, options).then((request) => request(axios, basePath));
4472
- },
4473
- /**
4474
- * List all active motion groups. A motion group is active if it is currently used by a controller.
4475
- * @summary List Active
4476
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4477
- * @param {*} [options] Override http request option.
4478
- * @throws {RequiredError}
4479
- */
4480
- listMotionGroups(cell, options) {
4481
- return localVarFp.listMotionGroups(cell, options).then((request) => request(axios, basePath));
4482
- },
4483
- };
4484
- };
4485
- /**
4486
- * MotionGroupApi - object-oriented interface
4487
- * @export
4488
- * @class MotionGroupApi
4489
- * @extends {BaseAPI}
4490
- */
4491
- export class MotionGroupApi extends BaseAPI {
4492
- /**
4493
- * Activate the motion group and keeps the motion group in an active status. To activate all motion groups of a robot controller, use this endpoint. It will return all activated motion groups of that controller. When activating motion groups, it is not possible to interact with the controller in any other way. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4494
- * @summary Activate All
4495
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4496
- * @param {string} controller
4497
- * @param {*} [options] Override http request option.
4498
- * @throws {RequiredError}
4499
- * @memberof MotionGroupApi
4500
- */
4501
- activateAllMotionGroups(cell, controller, options) {
4502
- return MotionGroupApiFp(this.configuration).activateAllMotionGroups(cell, controller, options).then((request) => request(this.axios, this.basePath));
4503
- }
4504
- /**
4505
- * Activate the motion group and keeps the motion group in an active status. To manually activate a motion group, use this endpoint. When activating a motion group, interacting with the controller in other ways is not possible. To deactivate a motion group, use [deactivateMotionGroup](deactivateMotionGroup).
4506
- * @summary Activate
4507
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4508
- * @param {string} motionGroup
4509
- * @param {*} [options] Override http request option.
4510
- * @throws {RequiredError}
4511
- * @memberof MotionGroupApi
4512
- */
4513
- activateMotionGroup(cell, motionGroup, options) {
4514
- return MotionGroupApiFp(this.configuration).activateMotionGroup(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
4515
- }
4516
- /**
4517
- * Deactivate a motion group. Activate the motion group and keeps the motion group in an active status. The robot controller streams information about all active motion groups. Deactivate motion groups that you no longer use. When deactivating motion groups, it is not possible to interact with the controller in any other way.
4518
- * @summary Deactivate
4519
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4520
- * @param {string} motionGroup The motion-group identifier.
4521
- * @param {*} [options] Override http request option.
4522
- * @throws {RequiredError}
4523
- * @memberof MotionGroupApi
4524
- */
4525
- deactivateMotionGroup(cell, motionGroup, options) {
4526
- return MotionGroupApiFp(this.configuration).deactivateMotionGroup(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
4527
- }
4528
- /**
4529
- * List all active motion groups. A motion group is active if it is currently used by a controller.
4530
- * @summary List Active
4531
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4532
- * @param {*} [options] Override http request option.
4533
- * @throws {RequiredError}
4534
- * @memberof MotionGroupApi
4535
- */
4536
- listMotionGroups(cell, options) {
4537
- return MotionGroupApiFp(this.configuration).listMotionGroups(cell, options).then((request) => request(this.axios, this.basePath));
4538
- }
4539
- }
4540
- /**
4541
- * MotionGroupInfoApi - axios parameter creator
4542
- * @export
4543
- */
4544
- export const MotionGroupInfoApiAxiosParamCreator = function (configuration) {
4545
- return {
4546
- /**
4547
- * Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
4548
- * @summary Selected Payload
4549
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4550
- * @param {string} motionGroup The motion-group identifier.
4551
- * @param {*} [options] Override http request option.
4552
- * @throws {RequiredError}
4553
- */
4554
- getActivePayload: async (cell, motionGroup, options = {}) => {
4555
- // verify required parameter 'cell' is not null or undefined
4556
- assertParamExists('getActivePayload', 'cell', cell);
4557
- // verify required parameter 'motionGroup' is not null or undefined
4558
- assertParamExists('getActivePayload', 'motionGroup', motionGroup);
4559
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/payloads/current`
4560
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4561
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4562
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4563
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4564
- let baseOptions;
4565
- if (configuration) {
4566
- baseOptions = configuration.baseOptions;
4567
- }
4568
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4569
- const localVarHeaderParameter = {};
4570
- const localVarQueryParameter = {};
4571
- // authentication BasicAuth required
4572
- // http basic authentication required
4573
- setBasicAuthToObject(localVarRequestOptions, configuration);
4574
- // authentication BearerAuth required
4575
- // http bearer authentication required
4576
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4577
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4578
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4579
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4580
- return {
4581
- url: toPathString(localVarUrlObj),
4582
- options: localVarRequestOptions,
4583
- };
4584
- },
4585
- /**
4586
- * Get the internal selected TCP of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
4587
- * @summary Selected TCP
4588
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4589
- * @param {string} motionGroup The motion-group identifier.
4590
- * @param {OrientationType} [orientationType]
4591
- * @param {boolean} [useControllerOrientation]
4592
- * @param {*} [options] Override http request option.
4593
- * @throws {RequiredError}
4594
- */
4595
- getActiveTcp: async (cell, motionGroup, orientationType, useControllerOrientation, options = {}) => {
4596
- // verify required parameter 'cell' is not null or undefined
4597
- assertParamExists('getActiveTcp', 'cell', cell);
4598
- // verify required parameter 'motionGroup' is not null or undefined
4599
- assertParamExists('getActiveTcp', 'motionGroup', motionGroup);
4600
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/tcps/current`
4601
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4602
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4603
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4604
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4605
- let baseOptions;
4606
- if (configuration) {
4607
- baseOptions = configuration.baseOptions;
4608
- }
4609
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4610
- const localVarHeaderParameter = {};
4611
- const localVarQueryParameter = {};
4612
- // authentication BasicAuth required
4613
- // http basic authentication required
4614
- setBasicAuthToObject(localVarRequestOptions, configuration);
4615
- // authentication BearerAuth required
4616
- // http bearer authentication required
4617
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4618
- if (orientationType !== undefined) {
4619
- localVarQueryParameter['orientation_type'] = orientationType;
4620
- }
4621
- if (useControllerOrientation !== undefined) {
4622
- localVarQueryParameter['use_controller_orientation'] = useControllerOrientation;
4623
- }
4624
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4625
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4626
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4627
- return {
4628
- url: toPathString(localVarUrlObj),
4629
- options: localVarRequestOptions,
4630
- };
4631
- },
4632
- /**
4633
- * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
4634
- * @summary State of Device
4635
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4636
- * @param {string} motionGroup The motion-group identifier.
4637
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
4638
- * @param {*} [options] Override http request option.
4639
- * @throws {RequiredError}
4640
- */
4641
- getCurrentMotionGroupState: async (cell, motionGroup, responseCoordinateSystem, options = {}) => {
4642
- // verify required parameter 'cell' is not null or undefined
4643
- assertParamExists('getCurrentMotionGroupState', 'cell', cell);
4644
- // verify required parameter 'motionGroup' is not null or undefined
4645
- assertParamExists('getCurrentMotionGroupState', 'motionGroup', motionGroup);
4646
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/state`
4647
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4648
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4649
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4650
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4651
- let baseOptions;
4652
- if (configuration) {
4653
- baseOptions = configuration.baseOptions;
4654
- }
4655
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4656
- const localVarHeaderParameter = {};
4657
- const localVarQueryParameter = {};
4658
- // authentication BasicAuth required
4659
- // http basic authentication required
4660
- setBasicAuthToObject(localVarRequestOptions, configuration);
4661
- // authentication BearerAuth required
4662
- // http bearer authentication required
4663
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4664
- if (responseCoordinateSystem !== undefined) {
4665
- localVarQueryParameter['response_coordinate_system'] = responseCoordinateSystem;
4666
- }
4667
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4668
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4669
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4670
- return {
4671
- url: toPathString(localVarUrlObj),
4672
- options: localVarRequestOptions,
4673
- };
4674
- },
4675
- /**
4676
- * Lists options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don\'t have a blending zone concept.
4677
- * @summary Capabilities
4678
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4679
- * @param {string} motionGroup The motion-group identifier.
4680
- * @param {*} [options] Override http request option.
4681
- * @throws {RequiredError}
4682
- */
4683
- getInfoCapabilities: async (cell, motionGroup, options = {}) => {
4684
- // verify required parameter 'cell' is not null or undefined
4685
- assertParamExists('getInfoCapabilities', 'cell', cell);
4686
- // verify required parameter 'motionGroup' is not null or undefined
4687
- assertParamExists('getInfoCapabilities', 'motionGroup', motionGroup);
4688
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/info-capabilities`
4689
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4690
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4691
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4692
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4693
- let baseOptions;
4694
- if (configuration) {
4695
- baseOptions = configuration.baseOptions;
4696
- }
4697
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4698
- const localVarHeaderParameter = {};
4699
- const localVarQueryParameter = {};
4700
- // authentication BasicAuth required
4701
- // http basic authentication required
4702
- setBasicAuthToObject(localVarRequestOptions, configuration);
4703
- // authentication BearerAuth required
4704
- // http bearer authentication required
4705
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4706
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4707
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4708
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4709
- return {
4710
- url: toPathString(localVarUrlObj),
4711
- options: localVarRequestOptions,
4712
- };
4713
- },
4714
- /**
4715
- * Lists options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
4716
- * @summary Jogging Capabilities
4717
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4718
- * @param {string} motionGroup The motion-group identifier.
4719
- * @param {*} [options] Override http request option.
4720
- * @throws {RequiredError}
4721
- */
4722
- getJoggingCapabilities: async (cell, motionGroup, options = {}) => {
4723
- // verify required parameter 'cell' is not null or undefined
4724
- assertParamExists('getJoggingCapabilities', 'cell', cell);
4725
- // verify required parameter 'motionGroup' is not null or undefined
4726
- assertParamExists('getJoggingCapabilities', 'motionGroup', motionGroup);
4727
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/capability/jogging`
4728
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4729
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4730
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4731
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4732
- let baseOptions;
4733
- if (configuration) {
4734
- baseOptions = configuration.baseOptions;
4735
- }
4736
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4737
- const localVarHeaderParameter = {};
4738
- const localVarQueryParameter = {};
4739
- // authentication BasicAuth required
4740
- // http basic authentication required
4741
- setBasicAuthToObject(localVarRequestOptions, configuration);
4742
- // authentication BearerAuth required
4743
- // http bearer authentication required
4744
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4745
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4746
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4747
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4748
- return {
4749
- url: toPathString(localVarUrlObj),
4750
- options: localVarRequestOptions,
4751
- };
4752
- },
4753
- /**
4754
- * Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
4755
- * @summary Get Static Properties
4756
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4757
- * @param {string} motionGroup The motion-group identifier.
4758
- * @param {*} [options] Override http request option.
4759
- * @throws {RequiredError}
4760
- */
4761
- getMotionGroupSpecification: async (cell, motionGroup, options = {}) => {
4762
- // verify required parameter 'cell' is not null or undefined
4763
- assertParamExists('getMotionGroupSpecification', 'cell', cell);
4764
- // verify required parameter 'motionGroup' is not null or undefined
4765
- assertParamExists('getMotionGroupSpecification', 'motionGroup', motionGroup);
4766
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/specification`
4767
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4768
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4769
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4770
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4771
- let baseOptions;
4772
- if (configuration) {
4773
- baseOptions = configuration.baseOptions;
4774
- }
4775
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4776
- const localVarHeaderParameter = {};
4777
- const localVarQueryParameter = {};
4778
- // authentication BasicAuth required
4779
- // http basic authentication required
4780
- setBasicAuthToObject(localVarRequestOptions, configuration);
4781
- // authentication BearerAuth required
4782
- // http bearer authentication required
4783
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4784
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4785
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4786
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4787
- return {
4788
- url: toPathString(localVarUrlObj),
4789
- options: localVarRequestOptions,
4790
- };
4791
- },
4792
- /**
4793
- * Returns the configured mounting pose offset in relation to world coordinate system and the motion group\'s coordinate system.
4794
- * @summary Device Mounting
4795
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4796
- * @param {string} motionGroup The motion-group identifier.
4797
- * @param {*} [options] Override http request option.
4798
- * @throws {RequiredError}
4799
- */
4800
- getMounting: async (cell, motionGroup, options = {}) => {
4801
- // verify required parameter 'cell' is not null or undefined
4802
- assertParamExists('getMounting', 'cell', cell);
4803
- // verify required parameter 'motionGroup' is not null or undefined
4804
- assertParamExists('getMounting', 'motionGroup', motionGroup);
4805
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/mounting`
4806
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4807
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4808
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4809
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4810
- let baseOptions;
4811
- if (configuration) {
4812
- baseOptions = configuration.baseOptions;
4813
- }
4814
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4815
- const localVarHeaderParameter = {};
4816
- const localVarQueryParameter = {};
4817
- // authentication BasicAuth required
4818
- // http basic authentication required
4819
- setBasicAuthToObject(localVarRequestOptions, configuration);
4820
- // authentication BearerAuth required
4821
- // http bearer authentication required
4822
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4823
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4824
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4825
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4826
- return {
4827
- url: toPathString(localVarUrlObj),
4828
- options: localVarRequestOptions,
4829
- };
4830
- },
4831
- /**
4832
- * <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
4833
- * @summary Optimizer Configuration
4834
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4835
- * @param {string} motionGroup The motion-group identifier.
4836
- * @param {string} [tcp]
4837
- * @param {*} [options] Override http request option.
4838
- * @throws {RequiredError}
4839
- */
4840
- getOptimizerConfiguration: async (cell, motionGroup, tcp, options = {}) => {
4841
- // verify required parameter 'cell' is not null or undefined
4842
- assertParamExists('getOptimizerConfiguration', 'cell', cell);
4843
- // verify required parameter 'motionGroup' is not null or undefined
4844
- assertParamExists('getOptimizerConfiguration', 'motionGroup', motionGroup);
4845
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/optimizer-setup`
4846
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4847
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4848
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4849
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4850
- let baseOptions;
4851
- if (configuration) {
4852
- baseOptions = configuration.baseOptions;
4853
- }
4854
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4855
- const localVarHeaderParameter = {};
4856
- const localVarQueryParameter = {};
4857
- // authentication BasicAuth required
4858
- // http basic authentication required
4859
- setBasicAuthToObject(localVarRequestOptions, configuration);
4860
- // authentication BearerAuth required
4861
- // http bearer authentication required
4862
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4863
- if (tcp !== undefined) {
4864
- localVarQueryParameter['tcp'] = tcp;
4865
- }
4866
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4867
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4868
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4869
- return {
4870
- url: toPathString(localVarUrlObj),
4871
- options: localVarRequestOptions,
4872
- };
4873
- },
4874
- /**
4875
- * Get the safety setup and limitations of a connected motion group. Safety settings are configured per robot controller and are valid for all connected motion groups.
4876
- * @summary Safety Setup and Limitations
4877
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4878
- * @param {string} motionGroup The motion-group identifier.
4879
- * @param {*} [options] Override http request option.
4880
- * @throws {RequiredError}
4881
- */
4882
- getSafetySetup: async (cell, motionGroup, options = {}) => {
4883
- // verify required parameter 'cell' is not null or undefined
4884
- assertParamExists('getSafetySetup', 'cell', cell);
4885
- // verify required parameter 'motionGroup' is not null or undefined
4886
- assertParamExists('getSafetySetup', 'motionGroup', motionGroup);
4887
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/safety-setup`
4888
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4889
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4890
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4891
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4892
- let baseOptions;
4893
- if (configuration) {
4894
- baseOptions = configuration.baseOptions;
4895
- }
4896
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4897
- const localVarHeaderParameter = {};
4898
- const localVarQueryParameter = {};
4899
- // authentication BasicAuth required
4900
- // http basic authentication required
4901
- setBasicAuthToObject(localVarRequestOptions, configuration);
4902
- // authentication BearerAuth required
4903
- // http bearer authentication required
4904
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4905
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4906
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4907
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4908
- return {
4909
- url: toPathString(localVarUrlObj),
4910
- options: localVarRequestOptions,
4911
- };
4912
- },
4913
- /**
4914
- * Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
4915
- * @summary List Payloads
4916
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4917
- * @param {string} motionGroup The motion-group identifier.
4918
- * @param {*} [options] Override http request option.
4919
- * @throws {RequiredError}
4920
- */
4921
- listPayloads: async (cell, motionGroup, options = {}) => {
4922
- // verify required parameter 'cell' is not null or undefined
4923
- assertParamExists('listPayloads', 'cell', cell);
4924
- // verify required parameter 'motionGroup' is not null or undefined
4925
- assertParamExists('listPayloads', 'motionGroup', motionGroup);
4926
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/payloads`
4927
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4928
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4929
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4930
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4931
- let baseOptions;
4932
- if (configuration) {
4933
- baseOptions = configuration.baseOptions;
4934
- }
4935
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4936
- const localVarHeaderParameter = {};
4937
- const localVarQueryParameter = {};
4938
- // authentication BasicAuth required
4939
- // http basic authentication required
4940
- setBasicAuthToObject(localVarRequestOptions, configuration);
4941
- // authentication BearerAuth required
4942
- // http bearer authentication required
4943
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4944
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4945
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4946
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4947
- return {
4948
- url: toPathString(localVarUrlObj),
4949
- options: localVarRequestOptions,
4950
- };
4951
- },
4952
- /**
4953
- * Get all internal configured TCPs of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
4954
- * @summary List TCPs
4955
- * @param {string} cell Unique identifier addressing a cell in all API calls.
4956
- * @param {string} motionGroup The motion-group identifier.
4957
- * @param {OrientationType} [orientationType]
4958
- * @param {boolean} [useControllerOrientation]
4959
- * @param {*} [options] Override http request option.
4960
- * @throws {RequiredError}
4961
- */
4962
- listTcps: async (cell, motionGroup, orientationType, useControllerOrientation, options = {}) => {
4963
- // verify required parameter 'cell' is not null or undefined
4964
- assertParamExists('listTcps', 'cell', cell);
4965
- // verify required parameter 'motionGroup' is not null or undefined
4966
- assertParamExists('listTcps', 'motionGroup', motionGroup);
4967
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/tcps`
4968
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
4969
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
4970
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
4971
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
4972
- let baseOptions;
4973
- if (configuration) {
4974
- baseOptions = configuration.baseOptions;
4975
- }
4976
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
4977
- const localVarHeaderParameter = {};
4978
- const localVarQueryParameter = {};
4979
- // authentication BasicAuth required
4980
- // http basic authentication required
4981
- setBasicAuthToObject(localVarRequestOptions, configuration);
4982
- // authentication BearerAuth required
4983
- // http bearer authentication required
4984
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
4985
- if (orientationType !== undefined) {
4986
- localVarQueryParameter['orientation_type'] = orientationType;
4987
- }
4988
- if (useControllerOrientation !== undefined) {
4989
- localVarQueryParameter['use_controller_orientation'] = useControllerOrientation;
4990
- }
4991
- setSearchParams(localVarUrlObj, localVarQueryParameter);
4992
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
4993
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
4994
- return {
4995
- url: toPathString(localVarUrlObj),
4996
- options: localVarRequestOptions,
4997
- };
4998
- },
4999
- /**
5000
- * Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
5001
- * @summary Stream State of Device
5002
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5003
- * @param {string} motionGroup The motion-group identifier.
5004
- * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
5005
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5006
- * @param {*} [options] Override http request option.
5007
- * @throws {RequiredError}
5008
- */
5009
- streamMotionGroupState: async (cell, motionGroup, responseRate, responseCoordinateSystem, options = {}) => {
5010
- // verify required parameter 'cell' is not null or undefined
5011
- assertParamExists('streamMotionGroupState', 'cell', cell);
5012
- // verify required parameter 'motionGroup' is not null or undefined
5013
- assertParamExists('streamMotionGroupState', 'motionGroup', motionGroup);
5014
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/state-stream`
5015
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
5016
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
5017
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
5018
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
5019
- let baseOptions;
5020
- if (configuration) {
5021
- baseOptions = configuration.baseOptions;
5022
- }
5023
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
5024
- const localVarHeaderParameter = {};
5025
- const localVarQueryParameter = {};
5026
- // authentication BasicAuth required
5027
- // http basic authentication required
5028
- setBasicAuthToObject(localVarRequestOptions, configuration);
5029
- // authentication BearerAuth required
5030
- // http bearer authentication required
5031
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
5032
- if (responseRate !== undefined) {
5033
- localVarQueryParameter['response_rate'] = responseRate;
5034
- }
5035
- if (responseCoordinateSystem !== undefined) {
5036
- localVarQueryParameter['response_coordinate_system'] = responseCoordinateSystem;
5037
- }
5038
- setSearchParams(localVarUrlObj, localVarQueryParameter);
5039
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5040
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
5041
- return {
5042
- url: toPathString(localVarUrlObj),
5043
- options: localVarRequestOptions,
5044
- };
5045
- },
5046
- };
5047
- };
5048
- /**
5049
- * MotionGroupInfoApi - functional programming interface
5050
- * @export
5051
- */
5052
- export const MotionGroupInfoApiFp = function (configuration) {
5053
- const localVarAxiosParamCreator = MotionGroupInfoApiAxiosParamCreator(configuration);
5054
- return {
5055
- /**
5056
- * Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
5057
- * @summary Selected Payload
5058
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5059
- * @param {string} motionGroup The motion-group identifier.
5060
- * @param {*} [options] Override http request option.
5061
- * @throws {RequiredError}
5062
- */
5063
- async getActivePayload(cell, motionGroup, options) {
5064
- const localVarAxiosArgs = await localVarAxiosParamCreator.getActivePayload(cell, motionGroup, options);
5065
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5066
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getActivePayload']?.[localVarOperationServerIndex]?.url;
5067
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5068
- },
5069
- /**
5070
- * Get the internal selected TCP of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
5071
- * @summary Selected TCP
5072
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5073
- * @param {string} motionGroup The motion-group identifier.
5074
- * @param {OrientationType} [orientationType]
5075
- * @param {boolean} [useControllerOrientation]
5076
- * @param {*} [options] Override http request option.
5077
- * @throws {RequiredError}
5078
- */
5079
- async getActiveTcp(cell, motionGroup, orientationType, useControllerOrientation, options) {
5080
- const localVarAxiosArgs = await localVarAxiosParamCreator.getActiveTcp(cell, motionGroup, orientationType, useControllerOrientation, options);
5081
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5082
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getActiveTcp']?.[localVarOperationServerIndex]?.url;
5083
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5084
- },
5085
- /**
5086
- * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
5087
- * @summary State of Device
5088
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5089
- * @param {string} motionGroup The motion-group identifier.
5090
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
5091
- * @param {*} [options] Override http request option.
5092
- * @throws {RequiredError}
5093
- */
5094
- async getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options) {
5095
- const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options);
5096
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5097
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getCurrentMotionGroupState']?.[localVarOperationServerIndex]?.url;
5098
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5099
- },
5100
- /**
5101
- * Lists options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don\'t have a blending zone concept.
5102
- * @summary Capabilities
5103
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5104
- * @param {string} motionGroup The motion-group identifier.
5105
- * @param {*} [options] Override http request option.
5106
- * @throws {RequiredError}
5107
- */
5108
- async getInfoCapabilities(cell, motionGroup, options) {
5109
- const localVarAxiosArgs = await localVarAxiosParamCreator.getInfoCapabilities(cell, motionGroup, options);
5110
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5111
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getInfoCapabilities']?.[localVarOperationServerIndex]?.url;
5112
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5113
- },
5114
- /**
5115
- * Lists options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
5116
- * @summary Jogging Capabilities
5117
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5118
- * @param {string} motionGroup The motion-group identifier.
5119
- * @param {*} [options] Override http request option.
5120
- * @throws {RequiredError}
5121
- */
5122
- async getJoggingCapabilities(cell, motionGroup, options) {
5123
- const localVarAxiosArgs = await localVarAxiosParamCreator.getJoggingCapabilities(cell, motionGroup, options);
5124
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5125
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getJoggingCapabilities']?.[localVarOperationServerIndex]?.url;
5126
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5127
- },
5128
- /**
5129
- * Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
5130
- * @summary Get Static Properties
5131
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5132
- * @param {string} motionGroup The motion-group identifier.
5133
- * @param {*} [options] Override http request option.
5134
- * @throws {RequiredError}
5135
- */
5136
- async getMotionGroupSpecification(cell, motionGroup, options) {
5137
- const localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupSpecification(cell, motionGroup, options);
5138
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5139
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getMotionGroupSpecification']?.[localVarOperationServerIndex]?.url;
5140
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5141
- },
5142
- /**
5143
- * Returns the configured mounting pose offset in relation to world coordinate system and the motion group\'s coordinate system.
5144
- * @summary Device Mounting
5145
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5146
- * @param {string} motionGroup The motion-group identifier.
5147
- * @param {*} [options] Override http request option.
5148
- * @throws {RequiredError}
5149
- */
5150
- async getMounting(cell, motionGroup, options) {
5151
- const localVarAxiosArgs = await localVarAxiosParamCreator.getMounting(cell, motionGroup, options);
5152
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5153
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getMounting']?.[localVarOperationServerIndex]?.url;
5154
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5155
- },
5156
- /**
5157
- * <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
5158
- * @summary Optimizer Configuration
5159
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5160
- * @param {string} motionGroup The motion-group identifier.
5161
- * @param {string} [tcp]
5162
- * @param {*} [options] Override http request option.
5163
- * @throws {RequiredError}
5164
- */
5165
- async getOptimizerConfiguration(cell, motionGroup, tcp, options) {
5166
- const localVarAxiosArgs = await localVarAxiosParamCreator.getOptimizerConfiguration(cell, motionGroup, tcp, options);
5167
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5168
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getOptimizerConfiguration']?.[localVarOperationServerIndex]?.url;
5169
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5170
- },
5171
- /**
5172
- * Get the safety setup and limitations of a connected motion group. Safety settings are configured per robot controller and are valid for all connected motion groups.
5173
- * @summary Safety Setup and Limitations
5174
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5175
- * @param {string} motionGroup The motion-group identifier.
5176
- * @param {*} [options] Override http request option.
5177
- * @throws {RequiredError}
5178
- */
5179
- async getSafetySetup(cell, motionGroup, options) {
5180
- const localVarAxiosArgs = await localVarAxiosParamCreator.getSafetySetup(cell, motionGroup, options);
5181
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5182
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.getSafetySetup']?.[localVarOperationServerIndex]?.url;
5183
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5184
- },
5185
- /**
5186
- * Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
5187
- * @summary List Payloads
5188
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5189
- * @param {string} motionGroup The motion-group identifier.
5190
- * @param {*} [options] Override http request option.
5191
- * @throws {RequiredError}
5192
- */
5193
- async listPayloads(cell, motionGroup, options) {
5194
- const localVarAxiosArgs = await localVarAxiosParamCreator.listPayloads(cell, motionGroup, options);
5195
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5196
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.listPayloads']?.[localVarOperationServerIndex]?.url;
5197
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5198
- },
5199
- /**
5200
- * Get all internal configured TCPs of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
5201
- * @summary List TCPs
5202
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5203
- * @param {string} motionGroup The motion-group identifier.
5204
- * @param {OrientationType} [orientationType]
5205
- * @param {boolean} [useControllerOrientation]
5206
- * @param {*} [options] Override http request option.
5207
- * @throws {RequiredError}
5208
- */
5209
- async listTcps(cell, motionGroup, orientationType, useControllerOrientation, options) {
5210
- const localVarAxiosArgs = await localVarAxiosParamCreator.listTcps(cell, motionGroup, orientationType, useControllerOrientation, options);
5211
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5212
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.listTcps']?.[localVarOperationServerIndex]?.url;
5213
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5214
- },
5215
- /**
5216
- * Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
5217
- * @summary Stream State of Device
5218
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5219
- * @param {string} motionGroup The motion-group identifier.
5220
- * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
5221
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5222
- * @param {*} [options] Override http request option.
5223
- * @throws {RequiredError}
5224
- */
5225
- async streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options) {
5226
- const localVarAxiosArgs = await localVarAxiosParamCreator.streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options);
5227
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5228
- const localVarOperationServerBasePath = operationServerMap['MotionGroupInfoApi.streamMotionGroupState']?.[localVarOperationServerIndex]?.url;
5229
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5230
- },
5231
- };
5232
- };
5233
- /**
5234
- * MotionGroupInfoApi - factory interface
5235
- * @export
5236
- */
5237
- export const MotionGroupInfoApiFactory = function (configuration, basePath, axios) {
5238
- const localVarFp = MotionGroupInfoApiFp(configuration);
5239
- return {
5240
- /**
5241
- * Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
5242
- * @summary Selected Payload
5243
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5244
- * @param {string} motionGroup The motion-group identifier.
5245
- * @param {*} [options] Override http request option.
5246
- * @throws {RequiredError}
5247
- */
5248
- getActivePayload(cell, motionGroup, options) {
5249
- return localVarFp.getActivePayload(cell, motionGroup, options).then((request) => request(axios, basePath));
5250
- },
5251
- /**
5252
- * Get the internal selected TCP of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
5253
- * @summary Selected TCP
5254
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5255
- * @param {string} motionGroup The motion-group identifier.
5256
- * @param {OrientationType} [orientationType]
5257
- * @param {boolean} [useControllerOrientation]
5258
- * @param {*} [options] Override http request option.
5259
- * @throws {RequiredError}
5260
- */
5261
- getActiveTcp(cell, motionGroup, orientationType, useControllerOrientation, options) {
5262
- return localVarFp.getActiveTcp(cell, motionGroup, orientationType, useControllerOrientation, options).then((request) => request(axios, basePath));
5263
- },
5264
- /**
5265
- * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
5266
- * @summary State of Device
5267
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5268
- * @param {string} motionGroup The motion-group identifier.
5269
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
5270
- * @param {*} [options] Override http request option.
5271
- * @throws {RequiredError}
5272
- */
5273
- getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options) {
5274
- return localVarFp.getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options).then((request) => request(axios, basePath));
5275
- },
5276
- /**
5277
- * Lists options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don\'t have a blending zone concept.
5278
- * @summary Capabilities
5279
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5280
- * @param {string} motionGroup The motion-group identifier.
5281
- * @param {*} [options] Override http request option.
5282
- * @throws {RequiredError}
5283
- */
5284
- getInfoCapabilities(cell, motionGroup, options) {
5285
- return localVarFp.getInfoCapabilities(cell, motionGroup, options).then((request) => request(axios, basePath));
5286
- },
5287
- /**
5288
- * Lists options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
5289
- * @summary Jogging Capabilities
5290
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5291
- * @param {string} motionGroup The motion-group identifier.
5292
- * @param {*} [options] Override http request option.
5293
- * @throws {RequiredError}
5294
- */
5295
- getJoggingCapabilities(cell, motionGroup, options) {
5296
- return localVarFp.getJoggingCapabilities(cell, motionGroup, options).then((request) => request(axios, basePath));
5297
- },
5298
- /**
5299
- * Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
5300
- * @summary Get Static Properties
5301
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5302
- * @param {string} motionGroup The motion-group identifier.
5303
- * @param {*} [options] Override http request option.
5304
- * @throws {RequiredError}
5305
- */
5306
- getMotionGroupSpecification(cell, motionGroup, options) {
5307
- return localVarFp.getMotionGroupSpecification(cell, motionGroup, options).then((request) => request(axios, basePath));
5308
- },
5309
- /**
5310
- * Returns the configured mounting pose offset in relation to world coordinate system and the motion group\'s coordinate system.
5311
- * @summary Device Mounting
5312
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5313
- * @param {string} motionGroup The motion-group identifier.
5314
- * @param {*} [options] Override http request option.
5315
- * @throws {RequiredError}
5316
- */
5317
- getMounting(cell, motionGroup, options) {
5318
- return localVarFp.getMounting(cell, motionGroup, options).then((request) => request(axios, basePath));
5319
- },
5320
- /**
5321
- * <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
5322
- * @summary Optimizer Configuration
5323
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5324
- * @param {string} motionGroup The motion-group identifier.
5325
- * @param {string} [tcp]
5326
- * @param {*} [options] Override http request option.
5327
- * @throws {RequiredError}
5328
- */
5329
- getOptimizerConfiguration(cell, motionGroup, tcp, options) {
5330
- return localVarFp.getOptimizerConfiguration(cell, motionGroup, tcp, options).then((request) => request(axios, basePath));
5331
- },
5332
- /**
5333
- * Get the safety setup and limitations of a connected motion group. Safety settings are configured per robot controller and are valid for all connected motion groups.
5334
- * @summary Safety Setup and Limitations
5335
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5336
- * @param {string} motionGroup The motion-group identifier.
5337
- * @param {*} [options] Override http request option.
5338
- * @throws {RequiredError}
5339
- */
5340
- getSafetySetup(cell, motionGroup, options) {
5341
- return localVarFp.getSafetySetup(cell, motionGroup, options).then((request) => request(axios, basePath));
5342
- },
5343
- /**
5344
- * Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
5345
- * @summary List Payloads
5346
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5347
- * @param {string} motionGroup The motion-group identifier.
5348
- * @param {*} [options] Override http request option.
5349
- * @throws {RequiredError}
5350
- */
5351
- listPayloads(cell, motionGroup, options) {
5352
- return localVarFp.listPayloads(cell, motionGroup, options).then((request) => request(axios, basePath));
5353
- },
5354
- /**
5355
- * Get all internal configured TCPs of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
5356
- * @summary List TCPs
5357
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5358
- * @param {string} motionGroup The motion-group identifier.
5359
- * @param {OrientationType} [orientationType]
5360
- * @param {boolean} [useControllerOrientation]
5361
- * @param {*} [options] Override http request option.
5362
- * @throws {RequiredError}
5363
- */
5364
- listTcps(cell, motionGroup, orientationType, useControllerOrientation, options) {
5365
- return localVarFp.listTcps(cell, motionGroup, orientationType, useControllerOrientation, options).then((request) => request(axios, basePath));
5366
- },
5367
- /**
5368
- * Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
5369
- * @summary Stream State of Device
5370
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5371
- * @param {string} motionGroup The motion-group identifier.
5372
- * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
5373
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5374
- * @param {*} [options] Override http request option.
5375
- * @throws {RequiredError}
5376
- */
5377
- streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options) {
5378
- return localVarFp.streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(axios, basePath));
5379
- },
5380
- };
5381
- };
5382
- /**
5383
- * MotionGroupInfoApi - object-oriented interface
5384
- * @export
5385
- * @class MotionGroupInfoApi
5386
- * @extends {BaseAPI}
5387
- */
5388
- export class MotionGroupInfoApi extends BaseAPI {
5389
- /**
5390
- * Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
5391
- * @summary Selected Payload
5392
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5393
- * @param {string} motionGroup The motion-group identifier.
5394
- * @param {*} [options] Override http request option.
5395
- * @throws {RequiredError}
5396
- * @memberof MotionGroupInfoApi
5397
- */
5398
- getActivePayload(cell, motionGroup, options) {
5399
- return MotionGroupInfoApiFp(this.configuration).getActivePayload(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5400
- }
5401
- /**
5402
- * Get the internal selected TCP of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
5403
- * @summary Selected TCP
5404
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5405
- * @param {string} motionGroup The motion-group identifier.
5406
- * @param {OrientationType} [orientationType]
5407
- * @param {boolean} [useControllerOrientation]
5408
- * @param {*} [options] Override http request option.
5409
- * @throws {RequiredError}
5410
- * @memberof MotionGroupInfoApi
5411
- */
5412
- getActiveTcp(cell, motionGroup, orientationType, useControllerOrientation, options) {
5413
- return MotionGroupInfoApiFp(this.configuration).getActiveTcp(cell, motionGroup, orientationType, useControllerOrientation, options).then((request) => request(this.axios, this.basePath));
5414
- }
5415
- /**
5416
- * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
5417
- * @summary State of Device
5418
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5419
- * @param {string} motionGroup The motion-group identifier.
5420
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
5421
- * @param {*} [options] Override http request option.
5422
- * @throws {RequiredError}
5423
- * @memberof MotionGroupInfoApi
5424
- */
5425
- getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options) {
5426
- return MotionGroupInfoApiFp(this.configuration).getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
5427
- }
5428
- /**
5429
- * Lists options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don\'t have a blending zone concept.
5430
- * @summary Capabilities
5431
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5432
- * @param {string} motionGroup The motion-group identifier.
5433
- * @param {*} [options] Override http request option.
5434
- * @throws {RequiredError}
5435
- * @memberof MotionGroupInfoApi
5436
- */
5437
- getInfoCapabilities(cell, motionGroup, options) {
5438
- return MotionGroupInfoApiFp(this.configuration).getInfoCapabilities(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5439
- }
5440
- /**
5441
- * Lists options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
5442
- * @summary Jogging Capabilities
5443
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5444
- * @param {string} motionGroup The motion-group identifier.
5445
- * @param {*} [options] Override http request option.
5446
- * @throws {RequiredError}
5447
- * @memberof MotionGroupInfoApi
5448
- */
5449
- getJoggingCapabilities(cell, motionGroup, options) {
5450
- return MotionGroupInfoApiFp(this.configuration).getJoggingCapabilities(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5451
- }
5452
- /**
5453
- * Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
5454
- * @summary Get Static Properties
5455
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5456
- * @param {string} motionGroup The motion-group identifier.
5457
- * @param {*} [options] Override http request option.
5458
- * @throws {RequiredError}
5459
- * @memberof MotionGroupInfoApi
5460
- */
5461
- getMotionGroupSpecification(cell, motionGroup, options) {
5462
- return MotionGroupInfoApiFp(this.configuration).getMotionGroupSpecification(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5463
- }
5464
- /**
5465
- * Returns the configured mounting pose offset in relation to world coordinate system and the motion group\'s coordinate system.
5466
- * @summary Device Mounting
5467
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5468
- * @param {string} motionGroup The motion-group identifier.
5469
- * @param {*} [options] Override http request option.
5470
- * @throws {RequiredError}
5471
- * @memberof MotionGroupInfoApi
5472
- */
5473
- getMounting(cell, motionGroup, options) {
5474
- return MotionGroupInfoApiFp(this.configuration).getMounting(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5475
- }
5476
- /**
5477
- * <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
5478
- * @summary Optimizer Configuration
5479
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5480
- * @param {string} motionGroup The motion-group identifier.
5481
- * @param {string} [tcp]
5482
- * @param {*} [options] Override http request option.
5483
- * @throws {RequiredError}
5484
- * @memberof MotionGroupInfoApi
5485
- */
5486
- getOptimizerConfiguration(cell, motionGroup, tcp, options) {
5487
- return MotionGroupInfoApiFp(this.configuration).getOptimizerConfiguration(cell, motionGroup, tcp, options).then((request) => request(this.axios, this.basePath));
5488
- }
5489
- /**
5490
- * Get the safety setup and limitations of a connected motion group. Safety settings are configured per robot controller and are valid for all connected motion groups.
5491
- * @summary Safety Setup and Limitations
5492
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5493
- * @param {string} motionGroup The motion-group identifier.
5494
- * @param {*} [options] Override http request option.
5495
- * @throws {RequiredError}
5496
- * @memberof MotionGroupInfoApi
5497
- */
5498
- getSafetySetup(cell, motionGroup, options) {
5499
- return MotionGroupInfoApiFp(this.configuration).getSafetySetup(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5500
- }
5501
- /**
5502
- * Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
5503
- * @summary List Payloads
5504
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5505
- * @param {string} motionGroup The motion-group identifier.
5506
- * @param {*} [options] Override http request option.
5507
- * @throws {RequiredError}
5508
- * @memberof MotionGroupInfoApi
5509
- */
5510
- listPayloads(cell, motionGroup, options) {
5511
- return MotionGroupInfoApiFp(this.configuration).listPayloads(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5512
- }
5513
- /**
5514
- * Get all internal configured TCPs of a connected device. Use parameter orientation_type to get the orientation part of the transformation offset returned in the requested orientation notation. If parameter orientation_type is not set, the orientation part of the transformation offset is returned in rotation vector notation. If use_controller_orientation is set to true the orientation type used on the robot controller is used and the may specified orientation_type is ignored. This can be useful for visualization purposes in the client application due to equivalent numbers with robot control panel visualization.
5515
- * @summary List TCPs
5516
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5517
- * @param {string} motionGroup The motion-group identifier.
5518
- * @param {OrientationType} [orientationType]
5519
- * @param {boolean} [useControllerOrientation]
5520
- * @param {*} [options] Override http request option.
5521
- * @throws {RequiredError}
5522
- * @memberof MotionGroupInfoApi
5523
- */
5524
- listTcps(cell, motionGroup, orientationType, useControllerOrientation, options) {
5525
- return MotionGroupInfoApiFp(this.configuration).listTcps(cell, motionGroup, orientationType, useControllerOrientation, options).then((request) => request(this.axios, this.basePath));
5526
- }
5527
- /**
5528
- * Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
5529
- * @summary Stream State of Device
5530
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5531
- * @param {string} motionGroup The motion-group identifier.
5532
- * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
5533
- * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5534
- * @param {*} [options] Override http request option.
5535
- * @throws {RequiredError}
5536
- * @memberof MotionGroupInfoApi
5537
- */
5538
- streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options) {
5539
- return MotionGroupInfoApiFp(this.configuration).streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
5540
- }
5541
- }
5542
- /**
5543
- * MotionGroupKinematicsApi - axios parameter creator
5544
- * @export
5545
- */
5546
- export const MotionGroupKinematicsApiAxiosParamCreator = function (configuration) {
5547
- return {
5548
- /**
5549
- * Calculate the joint positions of a motion group in order to move its TCP to a specific pose (Inverse Kinematic Solutions). All solutions are within the configured joint limits of the robot and not in a singular position of the robot. Return all joint positions as list of distinct joint positions in [rad] with their respective inverse feedback. Will be empty when unreachable, e.g. outside joint position limits, singular. Does not include multiple solutions where the robot links are in the same postition. Those can occur when single joints are allowed to move in a range larger than 360 degrees.
5550
- * @summary All Joint Positions from TCP Pose
5551
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5552
- * @param {string} motionGroup The motion-group identifier.
5553
- * @param {AllJointPositionsRequest} allJointPositionsRequest
5554
- * @param {*} [options] Override http request option.
5555
- * @throws {RequiredError}
5556
- */
5557
- calculateAllInverseKinematic: async (cell, motionGroup, allJointPositionsRequest, options = {}) => {
5558
- // verify required parameter 'cell' is not null or undefined
5559
- assertParamExists('calculateAllInverseKinematic', 'cell', cell);
5560
- // verify required parameter 'motionGroup' is not null or undefined
5561
- assertParamExists('calculateAllInverseKinematic', 'motionGroup', motionGroup);
5562
- // verify required parameter 'allJointPositionsRequest' is not null or undefined
5563
- assertParamExists('calculateAllInverseKinematic', 'allJointPositionsRequest', allJointPositionsRequest);
5564
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/kinematic/calculate-all-joint-positions`
5565
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
5566
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
5567
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
5568
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
5569
- let baseOptions;
5570
- if (configuration) {
5571
- baseOptions = configuration.baseOptions;
5572
- }
5573
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
5574
- const localVarHeaderParameter = {};
5575
- const localVarQueryParameter = {};
5576
- // authentication BasicAuth required
5577
- // http basic authentication required
5578
- setBasicAuthToObject(localVarRequestOptions, configuration);
5579
- // authentication BearerAuth required
5580
- // http bearer authentication required
5581
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
5582
- localVarHeaderParameter['Content-Type'] = 'application/json';
5583
- setSearchParams(localVarUrlObj, localVarQueryParameter);
5584
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5585
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
5586
- localVarRequestOptions.data = serializeDataIfNeeded(allJointPositionsRequest, localVarRequestOptions, configuration);
5587
- return {
5588
- url: toPathString(localVarUrlObj),
5589
- options: localVarRequestOptions,
5590
- };
5591
- },
5592
- /**
5593
- * Calculates the TCP pose from a joint position sample using the forward kinematics of the motion-group.
5594
- * @summary TCP Pose from Joint Position
5595
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5596
- * @param {string} motionGroup The motion-group identifier.
5597
- * @param {TcpPoseRequest} tcpPoseRequest
5598
- * @param {*} [options] Override http request option.
5599
- * @throws {RequiredError}
5600
- */
5601
- calculateForwardKinematic: async (cell, motionGroup, tcpPoseRequest, options = {}) => {
5602
- // verify required parameter 'cell' is not null or undefined
5603
- assertParamExists('calculateForwardKinematic', 'cell', cell);
5604
- // verify required parameter 'motionGroup' is not null or undefined
5605
- assertParamExists('calculateForwardKinematic', 'motionGroup', motionGroup);
5606
- // verify required parameter 'tcpPoseRequest' is not null or undefined
5607
- assertParamExists('calculateForwardKinematic', 'tcpPoseRequest', tcpPoseRequest);
5608
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/kinematic/calculate-tcp-pose`
5609
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
5610
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
5611
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
5612
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
5613
- let baseOptions;
5614
- if (configuration) {
5615
- baseOptions = configuration.baseOptions;
5616
- }
5617
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
5618
- const localVarHeaderParameter = {};
5619
- const localVarQueryParameter = {};
5620
- // authentication BasicAuth required
5621
- // http basic authentication required
5622
- setBasicAuthToObject(localVarRequestOptions, configuration);
5623
- // authentication BearerAuth required
5624
- // http bearer authentication required
5625
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
5626
- localVarHeaderParameter['Content-Type'] = 'application/json';
5627
- setSearchParams(localVarUrlObj, localVarQueryParameter);
5628
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5629
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
5630
- localVarRequestOptions.data = serializeDataIfNeeded(tcpPoseRequest, localVarRequestOptions, configuration);
5631
- return {
5632
- url: toPathString(localVarUrlObj),
5633
- options: localVarRequestOptions,
5634
- };
5635
- },
5636
- /**
5637
- * Calculate the joint positions the motion-group needs to apply for its TCP to be in a specified pose (Inverse Kinematic Solution). If multiple solutions are found, the one nearest to the given specified joint position is picked. * For all supported robot models, except the Fanuc CRX line, the returned joint position is guaranteed to have the same configuration (often referred to as ELBOW_UP, WRIST_DOWN, SHOULDER_RIGHT, f.e.) as the specified reference joint position. If the position limit of any single joint allows it to be in a range larger than 2 PI, the respective joint value in the result will be as close as possible to its reference value. * For the Fanuc CRX line the solution is selected to have the smallest distance measured by the norm of its difference to the reference joint position. The returned joint position is guaranteed to be within the joint limits and not in a singular position of the robot.
5638
- * @summary Nearest Joint Position from TCP Pose
5639
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5640
- * @param {string} motionGroup The motion-group identifier.
5641
- * @param {JointPositionRequest} jointPositionRequest
5642
- * @param {*} [options] Override http request option.
5643
- * @throws {RequiredError}
5644
- */
5645
- calculateInverseKinematic: async (cell, motionGroup, jointPositionRequest, options = {}) => {
5646
- // verify required parameter 'cell' is not null or undefined
5647
- assertParamExists('calculateInverseKinematic', 'cell', cell);
5648
- // verify required parameter 'motionGroup' is not null or undefined
5649
- assertParamExists('calculateInverseKinematic', 'motionGroup', motionGroup);
5650
- // verify required parameter 'jointPositionRequest' is not null or undefined
5651
- assertParamExists('calculateInverseKinematic', 'jointPositionRequest', jointPositionRequest);
5652
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/kinematic/calculate-joint-position`
5653
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
5654
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
5655
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
5656
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
5657
- let baseOptions;
5658
- if (configuration) {
5659
- baseOptions = configuration.baseOptions;
5660
- }
5661
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
5662
- const localVarHeaderParameter = {};
5663
- const localVarQueryParameter = {};
5664
- // authentication BasicAuth required
5665
- // http basic authentication required
5666
- setBasicAuthToObject(localVarRequestOptions, configuration);
5667
- // authentication BearerAuth required
5668
- // http bearer authentication required
5669
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
5670
- localVarHeaderParameter['Content-Type'] = 'application/json';
5671
- setSearchParams(localVarUrlObj, localVarQueryParameter);
5672
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5673
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
5674
- localVarRequestOptions.data = serializeDataIfNeeded(jointPositionRequest, localVarRequestOptions, configuration);
5675
- return {
5676
- url: toPathString(localVarUrlObj),
5677
- options: localVarRequestOptions,
5678
- };
5679
- },
5680
- /**
5681
- * Get the kinematic endpoints provided for the specified motion-group.
5682
- * @summary Capabilities
5683
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5684
- * @param {string} motionGroup The motion-group identifier.
5685
- * @param {*} [options] Override http request option.
5686
- * @throws {RequiredError}
5687
- */
5688
- getKinematicCapabilities: async (cell, motionGroup, options = {}) => {
5689
- // verify required parameter 'cell' is not null or undefined
5690
- assertParamExists('getKinematicCapabilities', 'cell', cell);
5691
- // verify required parameter 'motionGroup' is not null or undefined
5692
- assertParamExists('getKinematicCapabilities', 'motionGroup', motionGroup);
5693
- const localVarPath = `/cells/{cell}/motion-groups/{motion-group}/kinematic-capabilities`
5694
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
5695
- .replace(`{${"motion-group"}}`, encodeURIComponent(String(motionGroup)));
5696
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
5697
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
5698
- let baseOptions;
5699
- if (configuration) {
5700
- baseOptions = configuration.baseOptions;
5701
- }
5702
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
5703
- const localVarHeaderParameter = {};
5704
- const localVarQueryParameter = {};
5705
- // authentication BasicAuth required
5706
- // http basic authentication required
5707
- setBasicAuthToObject(localVarRequestOptions, configuration);
5708
- // authentication BearerAuth required
5709
- // http bearer authentication required
5710
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
5711
- setSearchParams(localVarUrlObj, localVarQueryParameter);
5712
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5713
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
5714
- return {
5715
- url: toPathString(localVarUrlObj),
5716
- options: localVarRequestOptions,
5717
- };
5718
- },
5719
- };
5720
- };
5721
- /**
5722
- * MotionGroupKinematicsApi - functional programming interface
5723
- * @export
5724
- */
5725
- export const MotionGroupKinematicsApiFp = function (configuration) {
5726
- const localVarAxiosParamCreator = MotionGroupKinematicsApiAxiosParamCreator(configuration);
5727
- return {
5728
- /**
5729
- * Calculate the joint positions of a motion group in order to move its TCP to a specific pose (Inverse Kinematic Solutions). All solutions are within the configured joint limits of the robot and not in a singular position of the robot. Return all joint positions as list of distinct joint positions in [rad] with their respective inverse feedback. Will be empty when unreachable, e.g. outside joint position limits, singular. Does not include multiple solutions where the robot links are in the same postition. Those can occur when single joints are allowed to move in a range larger than 360 degrees.
5730
- * @summary All Joint Positions from TCP Pose
5731
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5732
- * @param {string} motionGroup The motion-group identifier.
5733
- * @param {AllJointPositionsRequest} allJointPositionsRequest
5734
- * @param {*} [options] Override http request option.
5735
- * @throws {RequiredError}
5736
- */
5737
- async calculateAllInverseKinematic(cell, motionGroup, allJointPositionsRequest, options) {
5738
- const localVarAxiosArgs = await localVarAxiosParamCreator.calculateAllInverseKinematic(cell, motionGroup, allJointPositionsRequest, options);
5739
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5740
- const localVarOperationServerBasePath = operationServerMap['MotionGroupKinematicsApi.calculateAllInverseKinematic']?.[localVarOperationServerIndex]?.url;
5741
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5742
- },
5743
- /**
5744
- * Calculates the TCP pose from a joint position sample using the forward kinematics of the motion-group.
5745
- * @summary TCP Pose from Joint Position
5746
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5747
- * @param {string} motionGroup The motion-group identifier.
5748
- * @param {TcpPoseRequest} tcpPoseRequest
5749
- * @param {*} [options] Override http request option.
5750
- * @throws {RequiredError}
5751
- */
5752
- async calculateForwardKinematic(cell, motionGroup, tcpPoseRequest, options) {
5753
- const localVarAxiosArgs = await localVarAxiosParamCreator.calculateForwardKinematic(cell, motionGroup, tcpPoseRequest, options);
3906
+ async getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options) {
3907
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options);
5754
3908
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5755
- const localVarOperationServerBasePath = operationServerMap['MotionGroupKinematicsApi.calculateForwardKinematic']?.[localVarOperationServerIndex]?.url;
3909
+ const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.getCurrentMotionGroupState']?.[localVarOperationServerIndex]?.url;
5756
3910
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5757
3911
  },
5758
3912
  /**
5759
- * Calculate the joint positions the motion-group needs to apply for its TCP to be in a specified pose (Inverse Kinematic Solution). If multiple solutions are found, the one nearest to the given specified joint position is picked. * For all supported robot models, except the Fanuc CRX line, the returned joint position is guaranteed to have the same configuration (often referred to as ELBOW_UP, WRIST_DOWN, SHOULDER_RIGHT, f.e.) as the specified reference joint position. If the position limit of any single joint allows it to be in a range larger than 2 PI, the respective joint value in the result will be as close as possible to its reference value. * For the Fanuc CRX line the solution is selected to have the smallest distance measured by the norm of its difference to the reference joint position. The returned joint position is guaranteed to be within the joint limits and not in a singular position of the robot.
5760
- * @summary Nearest Joint Position from TCP Pose
3913
+ * Get the complete set of parameters that can be passed to the motion-planner (incl. safety zones, limits etc.).
3914
+ * @summary Planning Parameters
5761
3915
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5762
3916
  * @param {string} motionGroup The motion-group identifier.
5763
- * @param {JointPositionRequest} jointPositionRequest
5764
3917
  * @param {*} [options] Override http request option.
5765
3918
  * @throws {RequiredError}
5766
3919
  */
5767
- async calculateInverseKinematic(cell, motionGroup, jointPositionRequest, options) {
5768
- const localVarAxiosArgs = await localVarAxiosParamCreator.calculateInverseKinematic(cell, motionGroup, jointPositionRequest, options);
3920
+ async getPlanningParameters(cell, motionGroup, options) {
3921
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getPlanningParameters(cell, motionGroup, options);
5769
3922
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5770
- const localVarOperationServerBasePath = operationServerMap['MotionGroupKinematicsApi.calculateInverseKinematic']?.[localVarOperationServerIndex]?.url;
3923
+ const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.getPlanningParameters']?.[localVarOperationServerIndex]?.url;
5771
3924
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5772
3925
  },
5773
3926
  /**
5774
- * Get the kinematic endpoints provided for the specified motion-group.
5775
- * @summary Capabilities
3927
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3928
+ * @summary Stream State
5776
3929
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5777
3930
  * @param {string} motionGroup The motion-group identifier.
3931
+ * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
3932
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5778
3933
  * @param {*} [options] Override http request option.
5779
3934
  * @throws {RequiredError}
5780
3935
  */
5781
- async getKinematicCapabilities(cell, motionGroup, options) {
5782
- const localVarAxiosArgs = await localVarAxiosParamCreator.getKinematicCapabilities(cell, motionGroup, options);
3936
+ async streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options) {
3937
+ const localVarAxiosArgs = await localVarAxiosParamCreator.streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options);
5783
3938
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
5784
- const localVarOperationServerBasePath = operationServerMap['MotionGroupKinematicsApi.getKinematicCapabilities']?.[localVarOperationServerIndex]?.url;
3939
+ const localVarOperationServerBasePath = operationServerMap['MotionGroupApi.streamMotionGroupState']?.[localVarOperationServerIndex]?.url;
5785
3940
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
5786
3941
  },
5787
3942
  };
5788
3943
  };
5789
3944
  /**
5790
- * MotionGroupKinematicsApi - factory interface
3945
+ * MotionGroupApi - factory interface
5791
3946
  * @export
5792
3947
  */
5793
- export const MotionGroupKinematicsApiFactory = function (configuration, basePath, axios) {
5794
- const localVarFp = MotionGroupKinematicsApiFp(configuration);
3948
+ export const MotionGroupApiFactory = function (configuration, basePath, axios) {
3949
+ const localVarFp = MotionGroupApiFp(configuration);
5795
3950
  return {
5796
3951
  /**
5797
- * Calculate the joint positions of a motion group in order to move its TCP to a specific pose (Inverse Kinematic Solutions). All solutions are within the configured joint limits of the robot and not in a singular position of the robot. Return all joint positions as list of distinct joint positions in [rad] with their respective inverse feedback. Will be empty when unreachable, e.g. outside joint position limits, singular. Does not include multiple solutions where the robot links are in the same postition. Those can occur when single joints are allowed to move in a range larger than 360 degrees.
5798
- * @summary All Joint Positions from TCP Pose
5799
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5800
- * @param {string} motionGroup The motion-group identifier.
5801
- * @param {AllJointPositionsRequest} allJointPositionsRequest
5802
- * @param {*} [options] Override http request option.
5803
- * @throws {RequiredError}
5804
- */
5805
- calculateAllInverseKinematic(cell, motionGroup, allJointPositionsRequest, options) {
5806
- return localVarFp.calculateAllInverseKinematic(cell, motionGroup, allJointPositionsRequest, options).then((request) => request(axios, basePath));
5807
- },
5808
- /**
5809
- * Calculates the TCP pose from a joint position sample using the forward kinematics of the motion-group.
5810
- * @summary TCP Pose from Joint Position
3952
+ * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
3953
+ * @summary State
5811
3954
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5812
3955
  * @param {string} motionGroup The motion-group identifier.
5813
- * @param {TcpPoseRequest} tcpPoseRequest
3956
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
5814
3957
  * @param {*} [options] Override http request option.
5815
3958
  * @throws {RequiredError}
5816
3959
  */
5817
- calculateForwardKinematic(cell, motionGroup, tcpPoseRequest, options) {
5818
- return localVarFp.calculateForwardKinematic(cell, motionGroup, tcpPoseRequest, options).then((request) => request(axios, basePath));
3960
+ getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options) {
3961
+ return localVarFp.getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options).then((request) => request(axios, basePath));
5819
3962
  },
5820
3963
  /**
5821
- * Calculate the joint positions the motion-group needs to apply for its TCP to be in a specified pose (Inverse Kinematic Solution). If multiple solutions are found, the one nearest to the given specified joint position is picked. * For all supported robot models, except the Fanuc CRX line, the returned joint position is guaranteed to have the same configuration (often referred to as ELBOW_UP, WRIST_DOWN, SHOULDER_RIGHT, f.e.) as the specified reference joint position. If the position limit of any single joint allows it to be in a range larger than 2 PI, the respective joint value in the result will be as close as possible to its reference value. * For the Fanuc CRX line the solution is selected to have the smallest distance measured by the norm of its difference to the reference joint position. The returned joint position is guaranteed to be within the joint limits and not in a singular position of the robot.
5822
- * @summary Nearest Joint Position from TCP Pose
3964
+ * Get the complete set of parameters that can be passed to the motion-planner (incl. safety zones, limits etc.).
3965
+ * @summary Planning Parameters
5823
3966
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5824
3967
  * @param {string} motionGroup The motion-group identifier.
5825
- * @param {JointPositionRequest} jointPositionRequest
5826
3968
  * @param {*} [options] Override http request option.
5827
3969
  * @throws {RequiredError}
5828
3970
  */
5829
- calculateInverseKinematic(cell, motionGroup, jointPositionRequest, options) {
5830
- return localVarFp.calculateInverseKinematic(cell, motionGroup, jointPositionRequest, options).then((request) => request(axios, basePath));
3971
+ getPlanningParameters(cell, motionGroup, options) {
3972
+ return localVarFp.getPlanningParameters(cell, motionGroup, options).then((request) => request(axios, basePath));
5831
3973
  },
5832
3974
  /**
5833
- * Get the kinematic endpoints provided for the specified motion-group.
5834
- * @summary Capabilities
3975
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3976
+ * @summary Stream State
5835
3977
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5836
3978
  * @param {string} motionGroup The motion-group identifier.
3979
+ * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
3980
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5837
3981
  * @param {*} [options] Override http request option.
5838
3982
  * @throws {RequiredError}
5839
3983
  */
5840
- getKinematicCapabilities(cell, motionGroup, options) {
5841
- return localVarFp.getKinematicCapabilities(cell, motionGroup, options).then((request) => request(axios, basePath));
3984
+ streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options) {
3985
+ return localVarFp.streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(axios, basePath));
5842
3986
  },
5843
3987
  };
5844
3988
  };
5845
3989
  /**
5846
- * MotionGroupKinematicsApi - object-oriented interface
3990
+ * MotionGroupApi - object-oriented interface
5847
3991
  * @export
5848
- * @class MotionGroupKinematicsApi
3992
+ * @class MotionGroupApi
5849
3993
  * @extends {BaseAPI}
5850
3994
  */
5851
- export class MotionGroupKinematicsApi extends BaseAPI {
5852
- /**
5853
- * Calculate the joint positions of a motion group in order to move its TCP to a specific pose (Inverse Kinematic Solutions). All solutions are within the configured joint limits of the robot and not in a singular position of the robot. Return all joint positions as list of distinct joint positions in [rad] with their respective inverse feedback. Will be empty when unreachable, e.g. outside joint position limits, singular. Does not include multiple solutions where the robot links are in the same postition. Those can occur when single joints are allowed to move in a range larger than 360 degrees.
5854
- * @summary All Joint Positions from TCP Pose
5855
- * @param {string} cell Unique identifier addressing a cell in all API calls.
5856
- * @param {string} motionGroup The motion-group identifier.
5857
- * @param {AllJointPositionsRequest} allJointPositionsRequest
5858
- * @param {*} [options] Override http request option.
5859
- * @throws {RequiredError}
5860
- * @memberof MotionGroupKinematicsApi
5861
- */
5862
- calculateAllInverseKinematic(cell, motionGroup, allJointPositionsRequest, options) {
5863
- return MotionGroupKinematicsApiFp(this.configuration).calculateAllInverseKinematic(cell, motionGroup, allJointPositionsRequest, options).then((request) => request(this.axios, this.basePath));
5864
- }
3995
+ export class MotionGroupApi extends BaseAPI {
5865
3996
  /**
5866
- * Calculates the TCP pose from a joint position sample using the forward kinematics of the motion-group.
5867
- * @summary TCP Pose from Joint Position
3997
+ * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
3998
+ * @summary State
5868
3999
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5869
4000
  * @param {string} motionGroup The motion-group identifier.
5870
- * @param {TcpPoseRequest} tcpPoseRequest
4001
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
5871
4002
  * @param {*} [options] Override http request option.
5872
4003
  * @throws {RequiredError}
5873
- * @memberof MotionGroupKinematicsApi
4004
+ * @memberof MotionGroupApi
5874
4005
  */
5875
- calculateForwardKinematic(cell, motionGroup, tcpPoseRequest, options) {
5876
- return MotionGroupKinematicsApiFp(this.configuration).calculateForwardKinematic(cell, motionGroup, tcpPoseRequest, options).then((request) => request(this.axios, this.basePath));
4006
+ getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options) {
4007
+ return MotionGroupApiFp(this.configuration).getCurrentMotionGroupState(cell, motionGroup, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
5877
4008
  }
5878
4009
  /**
5879
- * Calculate the joint positions the motion-group needs to apply for its TCP to be in a specified pose (Inverse Kinematic Solution). If multiple solutions are found, the one nearest to the given specified joint position is picked. * For all supported robot models, except the Fanuc CRX line, the returned joint position is guaranteed to have the same configuration (often referred to as ELBOW_UP, WRIST_DOWN, SHOULDER_RIGHT, f.e.) as the specified reference joint position. If the position limit of any single joint allows it to be in a range larger than 2 PI, the respective joint value in the result will be as close as possible to its reference value. * For the Fanuc CRX line the solution is selected to have the smallest distance measured by the norm of its difference to the reference joint position. The returned joint position is guaranteed to be within the joint limits and not in a singular position of the robot.
5880
- * @summary Nearest Joint Position from TCP Pose
4010
+ * Get the complete set of parameters that can be passed to the motion-planner (incl. safety zones, limits etc.).
4011
+ * @summary Planning Parameters
5881
4012
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5882
4013
  * @param {string} motionGroup The motion-group identifier.
5883
- * @param {JointPositionRequest} jointPositionRequest
5884
4014
  * @param {*} [options] Override http request option.
5885
4015
  * @throws {RequiredError}
5886
- * @memberof MotionGroupKinematicsApi
4016
+ * @memberof MotionGroupApi
5887
4017
  */
5888
- calculateInverseKinematic(cell, motionGroup, jointPositionRequest, options) {
5889
- return MotionGroupKinematicsApiFp(this.configuration).calculateInverseKinematic(cell, motionGroup, jointPositionRequest, options).then((request) => request(this.axios, this.basePath));
4018
+ getPlanningParameters(cell, motionGroup, options) {
4019
+ return MotionGroupApiFp(this.configuration).getPlanningParameters(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
5890
4020
  }
5891
4021
  /**
5892
- * Get the kinematic endpoints provided for the specified motion-group.
5893
- * @summary Capabilities
4022
+ * <!-- theme: danger --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
4023
+ * @summary Stream State
5894
4024
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5895
4025
  * @param {string} motionGroup The motion-group identifier.
4026
+ * @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\&#39;s step rate as well. Minimal response rate is the step rate of controller.
4027
+ * @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system.
5896
4028
  * @param {*} [options] Override http request option.
5897
4029
  * @throws {RequiredError}
5898
- * @memberof MotionGroupKinematicsApi
4030
+ * @memberof MotionGroupApi
5899
4031
  */
5900
- getKinematicCapabilities(cell, motionGroup, options) {
5901
- return MotionGroupKinematicsApiFp(this.configuration).getKinematicCapabilities(cell, motionGroup, options).then((request) => request(this.axios, this.basePath));
4032
+ streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options) {
4033
+ return MotionGroupApiFp(this.configuration).streamMotionGroupState(cell, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
5902
4034
  }
5903
4035
  }
5904
4036
  /**
@@ -7301,45 +5433,6 @@ export const StoreCollisionComponentsApiAxiosParamCreator = function (configurat
7301
5433
  options: localVarRequestOptions,
7302
5434
  };
7303
5435
  },
7304
- /**
7305
- * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
7306
- * @summary Get Default Link Chain
7307
- * @param {string} cell Unique identifier addressing a cell in all API calls.
7308
- * @param {MotionGroupModel} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
7309
- * @param {*} [options] Override http request option.
7310
- * @throws {RequiredError}
7311
- */
7312
- getDefaultLinkChain: async (cell, motionGroupModel, options = {}) => {
7313
- // verify required parameter 'cell' is not null or undefined
7314
- assertParamExists('getDefaultLinkChain', 'cell', cell);
7315
- // verify required parameter 'motionGroupModel' is not null or undefined
7316
- assertParamExists('getDefaultLinkChain', 'motionGroupModel', motionGroupModel);
7317
- const localVarPath = `/cells/{cell}/store/collision/default-link-chains/{motion-group-model}`
7318
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
7319
- .replace(`{${"motion-group-model"}}`, encodeURIComponent(String(motionGroupModel)));
7320
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
7321
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
7322
- let baseOptions;
7323
- if (configuration) {
7324
- baseOptions = configuration.baseOptions;
7325
- }
7326
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
7327
- const localVarHeaderParameter = {};
7328
- const localVarQueryParameter = {};
7329
- // authentication BasicAuth required
7330
- // http basic authentication required
7331
- setBasicAuthToObject(localVarRequestOptions, configuration);
7332
- // authentication BearerAuth required
7333
- // http bearer authentication required
7334
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
7335
- setSearchParams(localVarUrlObj, localVarQueryParameter);
7336
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
7337
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
7338
- return {
7339
- url: toPathString(localVarUrlObj),
7340
- options: localVarRequestOptions,
7341
- };
7342
- },
7343
5436
  /**
7344
5437
  * Returns the collider.
7345
5438
  * @summary Get Collider
@@ -7745,20 +5838,6 @@ export const StoreCollisionComponentsApiFp = function (configuration) {
7745
5838
  const localVarOperationServerBasePath = operationServerMap['StoreCollisionComponentsApi.deleteStoredCollisionTool']?.[localVarOperationServerIndex]?.url;
7746
5839
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
7747
5840
  },
7748
- /**
7749
- * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
7750
- * @summary Get Default Link Chain
7751
- * @param {string} cell Unique identifier addressing a cell in all API calls.
7752
- * @param {MotionGroupModel} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
7753
- * @param {*} [options] Override http request option.
7754
- * @throws {RequiredError}
7755
- */
7756
- async getDefaultLinkChain(cell, motionGroupModel, options) {
7757
- const localVarAxiosArgs = await localVarAxiosParamCreator.getDefaultLinkChain(cell, motionGroupModel, options);
7758
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
7759
- const localVarOperationServerBasePath = operationServerMap['StoreCollisionComponentsApi.getDefaultLinkChain']?.[localVarOperationServerIndex]?.url;
7760
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
7761
- },
7762
5841
  /**
7763
5842
  * Returns the collider.
7764
5843
  * @summary Get Collider
@@ -7927,17 +6006,6 @@ export const StoreCollisionComponentsApiFactory = function (configuration, baseP
7927
6006
  deleteStoredCollisionTool(cell, tool, options) {
7928
6007
  return localVarFp.deleteStoredCollisionTool(cell, tool, options).then((request) => request(axios, basePath));
7929
6008
  },
7930
- /**
7931
- * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
7932
- * @summary Get Default Link Chain
7933
- * @param {string} cell Unique identifier addressing a cell in all API calls.
7934
- * @param {MotionGroupModel} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
7935
- * @param {*} [options] Override http request option.
7936
- * @throws {RequiredError}
7937
- */
7938
- getDefaultLinkChain(cell, motionGroupModel, options) {
7939
- return localVarFp.getDefaultLinkChain(cell, motionGroupModel, options).then((request) => request(axios, basePath));
7940
- },
7941
6009
  /**
7942
6010
  * Returns the collider.
7943
6011
  * @summary Get Collider
@@ -8082,18 +6150,6 @@ export class StoreCollisionComponentsApi extends BaseAPI {
8082
6150
  deleteStoredCollisionTool(cell, tool, options) {
8083
6151
  return StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollisionTool(cell, tool, options).then((request) => request(this.axios, this.basePath));
8084
6152
  }
8085
- /**
8086
- * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
8087
- * @summary Get Default Link Chain
8088
- * @param {string} cell Unique identifier addressing a cell in all API calls.
8089
- * @param {MotionGroupModel} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
8090
- * @param {*} [options] Override http request option.
8091
- * @throws {RequiredError}
8092
- * @memberof StoreCollisionComponentsApi
8093
- */
8094
- getDefaultLinkChain(cell, motionGroupModel, options) {
8095
- return StoreCollisionComponentsApiFp(this.configuration).getDefaultLinkChain(cell, motionGroupModel, options).then((request) => request(this.axios, this.basePath));
8096
- }
8097
6153
  /**
8098
6154
  * Returns the collider.
8099
6155
  * @summary Get Collider
@@ -9966,13 +8022,13 @@ export class SystemApi extends BaseAPI {
9966
8022
  }
9967
8023
  }
9968
8024
  /**
9969
- * TrajectoryExecutionApi - axios parameter creator
8025
+ * TrajectoryCachingApi - axios parameter creator
9970
8026
  * @export
9971
8027
  */
9972
- export const TrajectoryExecutionApiAxiosParamCreator = function (configuration) {
8028
+ export const TrajectoryCachingApiAxiosParamCreator = function (configuration) {
9973
8029
  return {
9974
8030
  /**
9975
- * Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Move motion group to trajectory using the [executeToTrajectory](executeToTrajectory) endpoint. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
8031
+ * <!-- theme: info --> > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
9976
8032
  * @summary Add Trajectory
9977
8033
  * @param {string} cell Unique identifier addressing a cell in all API calls.
9978
8034
  * @param {AddTrajectoryRequest} addTrajectoryRequest
@@ -10047,68 +8103,19 @@ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration)
10047
8103
  };
10048
8104
  },
10049
8105
  /**
10050
- * Delete a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories. Trajectories are removed automatically if the motion group or the corresponding controller is disconnected.
10051
- * @summary Delete Trajectory
10052
- * @param {string} cell Unique identifier addressing a cell in all API calls.
10053
- * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10054
- * @param {*} [options] Override http request option.
10055
- * @throws {RequiredError}
10056
- */
10057
- deleteTrajectory: async (cell, trajectory, options = {}) => {
10058
- // verify required parameter 'cell' is not null or undefined
10059
- assertParamExists('deleteTrajectory', 'cell', cell);
10060
- // verify required parameter 'trajectory' is not null or undefined
10061
- assertParamExists('deleteTrajectory', 'trajectory', trajectory);
10062
- const localVarPath = `/cells/{cell}/trajectories/{trajectory}`
10063
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
10064
- .replace(`{${"trajectory"}}`, encodeURIComponent(String(trajectory)));
10065
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
10066
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
10067
- let baseOptions;
10068
- if (configuration) {
10069
- baseOptions = configuration.baseOptions;
10070
- }
10071
- const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options };
10072
- const localVarHeaderParameter = {};
10073
- const localVarQueryParameter = {};
10074
- // authentication BasicAuth required
10075
- // http basic authentication required
10076
- setBasicAuthToObject(localVarRequestOptions, configuration);
10077
- // authentication BearerAuth required
10078
- // http bearer authentication required
10079
- await setBearerAuthToObject(localVarHeaderParameter, configuration);
10080
- setSearchParams(localVarUrlObj, localVarQueryParameter);
10081
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
10082
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
10083
- return {
10084
- url: toPathString(localVarUrlObj),
10085
- options: localVarRequestOptions,
10086
- };
10087
- },
10088
- /**
10089
- * Request to move the motion group via joint point-to-point to a given location on a trajectory. To start moving along a trajectory from an arbitrary location, the current joint positions must match the joint positions of the trajectory at the given location. > **Note:** To abort the movement, the connection needs to be closed.
10090
- * @summary Move to Trajectory
8106
+ * Delete a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories. Trajectories are removed automatically if the motion group or the corresponding controller is disconnected.
8107
+ * @summary Delete Trajectory
10091
8108
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10092
8109
  * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10093
- * @param {number} locationOnTrajectory
10094
- * @param {Array<number>} [overrideJointVelocityLimits] The joint velocity limits for the p2p movement to a previously added trajectory.
10095
- * @param {Array<number>} [overrideJointAccelerationLimits] The joint acceleration limits for the p2p movement to a previously added trajectory.
10096
- * @param {number} [overrideTcpVelocityLimit] Maximum allowed TCP velocity in [mm/s].
10097
- * @param {number} [overrideTcpAccelerationLimit] Maximum allowed TCP acceleration in [mm/s^2].
10098
- * @param {number} [overrideTcpOrientationVelocityLimit] Maximum allowed TCP rotation velocity in [rad/s].
10099
- * @param {number} [overrideTcpOrientationAccelerationLimit] Maximum allowed TCP rotation acceleration in [rad/s^2].
10100
- * @param {string} [responsesCoordinateSystem]
10101
8110
  * @param {*} [options] Override http request option.
10102
8111
  * @throws {RequiredError}
10103
8112
  */
10104
- executeToTrajectory: async (cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options = {}) => {
8113
+ deleteTrajectory: async (cell, trajectory, options = {}) => {
10105
8114
  // verify required parameter 'cell' is not null or undefined
10106
- assertParamExists('executeToTrajectory', 'cell', cell);
8115
+ assertParamExists('deleteTrajectory', 'cell', cell);
10107
8116
  // verify required parameter 'trajectory' is not null or undefined
10108
- assertParamExists('executeToTrajectory', 'trajectory', trajectory);
10109
- // verify required parameter 'locationOnTrajectory' is not null or undefined
10110
- assertParamExists('executeToTrajectory', 'locationOnTrajectory', locationOnTrajectory);
10111
- const localVarPath = `/cells/{cell}/trajectories/{trajectory}/execution/to-trajectory`
8117
+ assertParamExists('deleteTrajectory', 'trajectory', trajectory);
8118
+ const localVarPath = `/cells/{cell}/trajectories/{trajectory}`
10112
8119
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
10113
8120
  .replace(`{${"trajectory"}}`, encodeURIComponent(String(trajectory)));
10114
8121
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -10117,7 +8124,7 @@ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration)
10117
8124
  if (configuration) {
10118
8125
  baseOptions = configuration.baseOptions;
10119
8126
  }
10120
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
8127
+ const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options };
10121
8128
  const localVarHeaderParameter = {};
10122
8129
  const localVarQueryParameter = {};
10123
8130
  // authentication BasicAuth required
@@ -10126,30 +8133,6 @@ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration)
10126
8133
  // authentication BearerAuth required
10127
8134
  // http bearer authentication required
10128
8135
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
10129
- if (locationOnTrajectory !== undefined) {
10130
- localVarQueryParameter['location_on_trajectory'] = locationOnTrajectory;
10131
- }
10132
- if (overrideJointVelocityLimits) {
10133
- localVarQueryParameter['override_joint_velocity_limits'] = overrideJointVelocityLimits;
10134
- }
10135
- if (overrideJointAccelerationLimits) {
10136
- localVarQueryParameter['override_joint_acceleration_limits'] = overrideJointAccelerationLimits;
10137
- }
10138
- if (overrideTcpVelocityLimit !== undefined) {
10139
- localVarQueryParameter['override_tcp_velocity_limit'] = overrideTcpVelocityLimit;
10140
- }
10141
- if (overrideTcpAccelerationLimit !== undefined) {
10142
- localVarQueryParameter['override_tcp_acceleration_limit'] = overrideTcpAccelerationLimit;
10143
- }
10144
- if (overrideTcpOrientationVelocityLimit !== undefined) {
10145
- localVarQueryParameter['override_tcp_orientation_velocity_limit'] = overrideTcpOrientationVelocityLimit;
10146
- }
10147
- if (overrideTcpOrientationAccelerationLimit !== undefined) {
10148
- localVarQueryParameter['override_tcp_orientation_acceleration_limit'] = overrideTcpOrientationAccelerationLimit;
10149
- }
10150
- if (responsesCoordinateSystem !== undefined) {
10151
- localVarQueryParameter['responses_coordinate_system'] = responsesCoordinateSystem;
10152
- }
10153
8136
  setSearchParams(localVarUrlObj, localVarQueryParameter);
10154
8137
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
10155
8138
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
@@ -10159,20 +8142,21 @@ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration)
10159
8142
  };
10160
8143
  },
10161
8144
  /**
10162
- * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
10163
- * @summary Execute Trajectory
8145
+ * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
8146
+ * @summary Get Trajectory
10164
8147
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10165
- * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
8148
+ * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10166
8149
  * @param {*} [options] Override http request option.
10167
8150
  * @throws {RequiredError}
10168
8151
  */
10169
- executeTrajectory: async (cell, executeTrajectoryRequest, options = {}) => {
8152
+ getTrajectory: async (cell, trajectory, options = {}) => {
10170
8153
  // verify required parameter 'cell' is not null or undefined
10171
- assertParamExists('executeTrajectory', 'cell', cell);
10172
- // verify required parameter 'executeTrajectoryRequest' is not null or undefined
10173
- assertParamExists('executeTrajectory', 'executeTrajectoryRequest', executeTrajectoryRequest);
10174
- const localVarPath = `/cells/{cell}/execution/trajectory`
10175
- .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
8154
+ assertParamExists('getTrajectory', 'cell', cell);
8155
+ // verify required parameter 'trajectory' is not null or undefined
8156
+ assertParamExists('getTrajectory', 'trajectory', trajectory);
8157
+ const localVarPath = `/cells/{cell}/trajectories/{trajectory}`
8158
+ .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
8159
+ .replace(`{${"trajectory"}}`, encodeURIComponent(String(trajectory)));
10176
8160
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
10177
8161
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
10178
8162
  let baseOptions;
@@ -10188,11 +8172,9 @@ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration)
10188
8172
  // authentication BearerAuth required
10189
8173
  // http bearer authentication required
10190
8174
  await setBearerAuthToObject(localVarHeaderParameter, configuration);
10191
- localVarHeaderParameter['Content-Type'] = 'application/json';
10192
8175
  setSearchParams(localVarUrlObj, localVarQueryParameter);
10193
8176
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
10194
8177
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
10195
- localVarRequestOptions.data = serializeDataIfNeeded(executeTrajectoryRequest, localVarRequestOptions, configuration);
10196
8178
  return {
10197
8179
  url: toPathString(localVarUrlObj),
10198
8180
  options: localVarRequestOptions,
@@ -10236,14 +8218,14 @@ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration)
10236
8218
  };
10237
8219
  };
10238
8220
  /**
10239
- * TrajectoryExecutionApi - functional programming interface
8221
+ * TrajectoryCachingApi - functional programming interface
10240
8222
  * @export
10241
8223
  */
10242
- export const TrajectoryExecutionApiFp = function (configuration) {
10243
- const localVarAxiosParamCreator = TrajectoryExecutionApiAxiosParamCreator(configuration);
8224
+ export const TrajectoryCachingApiFp = function (configuration) {
8225
+ const localVarAxiosParamCreator = TrajectoryCachingApiAxiosParamCreator(configuration);
10244
8226
  return {
10245
8227
  /**
10246
- * Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Move motion group to trajectory using the [executeToTrajectory](executeToTrajectory) endpoint. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
8228
+ * <!-- theme: info --> > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
10247
8229
  * @summary Add Trajectory
10248
8230
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10249
8231
  * @param {AddTrajectoryRequest} addTrajectoryRequest
@@ -10253,7 +8235,7 @@ export const TrajectoryExecutionApiFp = function (configuration) {
10253
8235
  async addTrajectory(cell, addTrajectoryRequest, options) {
10254
8236
  const localVarAxiosArgs = await localVarAxiosParamCreator.addTrajectory(cell, addTrajectoryRequest, options);
10255
8237
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10256
- const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.addTrajectory']?.[localVarOperationServerIndex]?.url;
8238
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryCachingApi.addTrajectory']?.[localVarOperationServerIndex]?.url;
10257
8239
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10258
8240
  },
10259
8241
  /**
@@ -10266,7 +8248,7 @@ export const TrajectoryExecutionApiFp = function (configuration) {
10266
8248
  async clearTrajectories(cell, options) {
10267
8249
  const localVarAxiosArgs = await localVarAxiosParamCreator.clearTrajectories(cell, options);
10268
8250
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10269
- const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.clearTrajectories']?.[localVarOperationServerIndex]?.url;
8251
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryCachingApi.clearTrajectories']?.[localVarOperationServerIndex]?.url;
10270
8252
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10271
8253
  },
10272
8254
  /**
@@ -10280,43 +8262,21 @@ export const TrajectoryExecutionApiFp = function (configuration) {
10280
8262
  async deleteTrajectory(cell, trajectory, options) {
10281
8263
  const localVarAxiosArgs = await localVarAxiosParamCreator.deleteTrajectory(cell, trajectory, options);
10282
8264
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10283
- const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.deleteTrajectory']?.[localVarOperationServerIndex]?.url;
8265
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryCachingApi.deleteTrajectory']?.[localVarOperationServerIndex]?.url;
10284
8266
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10285
8267
  },
10286
8268
  /**
10287
- * Request to move the motion group via joint point-to-point to a given location on a trajectory. To start moving along a trajectory from an arbitrary location, the current joint positions must match the joint positions of the trajectory at the given location. > **Note:** To abort the movement, the connection needs to be closed.
10288
- * @summary Move to Trajectory
8269
+ * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
8270
+ * @summary Get Trajectory
10289
8271
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10290
8272
  * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10291
- * @param {number} locationOnTrajectory
10292
- * @param {Array<number>} [overrideJointVelocityLimits] The joint velocity limits for the p2p movement to a previously added trajectory.
10293
- * @param {Array<number>} [overrideJointAccelerationLimits] The joint acceleration limits for the p2p movement to a previously added trajectory.
10294
- * @param {number} [overrideTcpVelocityLimit] Maximum allowed TCP velocity in [mm/s].
10295
- * @param {number} [overrideTcpAccelerationLimit] Maximum allowed TCP acceleration in [mm/s^2].
10296
- * @param {number} [overrideTcpOrientationVelocityLimit] Maximum allowed TCP rotation velocity in [rad/s].
10297
- * @param {number} [overrideTcpOrientationAccelerationLimit] Maximum allowed TCP rotation acceleration in [rad/s^2].
10298
- * @param {string} [responsesCoordinateSystem]
10299
- * @param {*} [options] Override http request option.
10300
- * @throws {RequiredError}
10301
- */
10302
- async executeToTrajectory(cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options) {
10303
- const localVarAxiosArgs = await localVarAxiosParamCreator.executeToTrajectory(cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options);
10304
- const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10305
- const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.executeToTrajectory']?.[localVarOperationServerIndex]?.url;
10306
- return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10307
- },
10308
- /**
10309
- * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
10310
- * @summary Execute Trajectory
10311
- * @param {string} cell Unique identifier addressing a cell in all API calls.
10312
- * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
10313
8273
  * @param {*} [options] Override http request option.
10314
8274
  * @throws {RequiredError}
10315
8275
  */
10316
- async executeTrajectory(cell, executeTrajectoryRequest, options) {
10317
- const localVarAxiosArgs = await localVarAxiosParamCreator.executeTrajectory(cell, executeTrajectoryRequest, options);
8276
+ async getTrajectory(cell, trajectory, options) {
8277
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getTrajectory(cell, trajectory, options);
10318
8278
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10319
- const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.executeTrajectory']?.[localVarOperationServerIndex]?.url;
8279
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryCachingApi.getTrajectory']?.[localVarOperationServerIndex]?.url;
10320
8280
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10321
8281
  },
10322
8282
  /**
@@ -10329,20 +8289,20 @@ export const TrajectoryExecutionApiFp = function (configuration) {
10329
8289
  async listTrajectories(cell, options) {
10330
8290
  const localVarAxiosArgs = await localVarAxiosParamCreator.listTrajectories(cell, options);
10331
8291
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10332
- const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.listTrajectories']?.[localVarOperationServerIndex]?.url;
8292
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryCachingApi.listTrajectories']?.[localVarOperationServerIndex]?.url;
10333
8293
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10334
8294
  },
10335
8295
  };
10336
8296
  };
10337
8297
  /**
10338
- * TrajectoryExecutionApi - factory interface
8298
+ * TrajectoryCachingApi - factory interface
10339
8299
  * @export
10340
8300
  */
10341
- export const TrajectoryExecutionApiFactory = function (configuration, basePath, axios) {
10342
- const localVarFp = TrajectoryExecutionApiFp(configuration);
8301
+ export const TrajectoryCachingApiFactory = function (configuration, basePath, axios) {
8302
+ const localVarFp = TrajectoryCachingApiFp(configuration);
10343
8303
  return {
10344
8304
  /**
10345
- * Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Move motion group to trajectory using the [executeToTrajectory](executeToTrajectory) endpoint. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
8305
+ * <!-- theme: info --> > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
10346
8306
  * @summary Add Trajectory
10347
8307
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10348
8308
  * @param {AddTrajectoryRequest} addTrajectoryRequest
@@ -10374,34 +8334,15 @@ export const TrajectoryExecutionApiFactory = function (configuration, basePath,
10374
8334
  return localVarFp.deleteTrajectory(cell, trajectory, options).then((request) => request(axios, basePath));
10375
8335
  },
10376
8336
  /**
10377
- * Request to move the motion group via joint point-to-point to a given location on a trajectory. To start moving along a trajectory from an arbitrary location, the current joint positions must match the joint positions of the trajectory at the given location. > **Note:** To abort the movement, the connection needs to be closed.
10378
- * @summary Move to Trajectory
8337
+ * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
8338
+ * @summary Get Trajectory
10379
8339
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10380
8340
  * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10381
- * @param {number} locationOnTrajectory
10382
- * @param {Array<number>} [overrideJointVelocityLimits] The joint velocity limits for the p2p movement to a previously added trajectory.
10383
- * @param {Array<number>} [overrideJointAccelerationLimits] The joint acceleration limits for the p2p movement to a previously added trajectory.
10384
- * @param {number} [overrideTcpVelocityLimit] Maximum allowed TCP velocity in [mm/s].
10385
- * @param {number} [overrideTcpAccelerationLimit] Maximum allowed TCP acceleration in [mm/s^2].
10386
- * @param {number} [overrideTcpOrientationVelocityLimit] Maximum allowed TCP rotation velocity in [rad/s].
10387
- * @param {number} [overrideTcpOrientationAccelerationLimit] Maximum allowed TCP rotation acceleration in [rad/s^2].
10388
- * @param {string} [responsesCoordinateSystem]
10389
- * @param {*} [options] Override http request option.
10390
- * @throws {RequiredError}
10391
- */
10392
- executeToTrajectory(cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options) {
10393
- return localVarFp.executeToTrajectory(cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options).then((request) => request(axios, basePath));
10394
- },
10395
- /**
10396
- * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
10397
- * @summary Execute Trajectory
10398
- * @param {string} cell Unique identifier addressing a cell in all API calls.
10399
- * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
10400
8341
  * @param {*} [options] Override http request option.
10401
8342
  * @throws {RequiredError}
10402
8343
  */
10403
- executeTrajectory(cell, executeTrajectoryRequest, options) {
10404
- return localVarFp.executeTrajectory(cell, executeTrajectoryRequest, options).then((request) => request(axios, basePath));
8344
+ getTrajectory(cell, trajectory, options) {
8345
+ return localVarFp.getTrajectory(cell, trajectory, options).then((request) => request(axios, basePath));
10405
8346
  },
10406
8347
  /**
10407
8348
  * List currently cached trajectories. Use [addTrajectory](addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them. Trajectories are removed if the corresponding motion group or controller disconnects.
@@ -10416,23 +8357,23 @@ export const TrajectoryExecutionApiFactory = function (configuration, basePath,
10416
8357
  };
10417
8358
  };
10418
8359
  /**
10419
- * TrajectoryExecutionApi - object-oriented interface
8360
+ * TrajectoryCachingApi - object-oriented interface
10420
8361
  * @export
10421
- * @class TrajectoryExecutionApi
8362
+ * @class TrajectoryCachingApi
10422
8363
  * @extends {BaseAPI}
10423
8364
  */
10424
- export class TrajectoryExecutionApi extends BaseAPI {
8365
+ export class TrajectoryCachingApi extends BaseAPI {
10425
8366
  /**
10426
- * Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Move motion group to trajectory using the [executeToTrajectory](executeToTrajectory) endpoint. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
8367
+ * <!-- theme: info --> > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
10427
8368
  * @summary Add Trajectory
10428
8369
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10429
8370
  * @param {AddTrajectoryRequest} addTrajectoryRequest
10430
8371
  * @param {*} [options] Override http request option.
10431
8372
  * @throws {RequiredError}
10432
- * @memberof TrajectoryExecutionApi
8373
+ * @memberof TrajectoryCachingApi
10433
8374
  */
10434
8375
  addTrajectory(cell, addTrajectoryRequest, options) {
10435
- return TrajectoryExecutionApiFp(this.configuration).addTrajectory(cell, addTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));
8376
+ return TrajectoryCachingApiFp(this.configuration).addTrajectory(cell, addTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));
10436
8377
  }
10437
8378
  /**
10438
8379
  * Clear the trajectory cache.
@@ -10440,10 +8381,10 @@ export class TrajectoryExecutionApi extends BaseAPI {
10440
8381
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10441
8382
  * @param {*} [options] Override http request option.
10442
8383
  * @throws {RequiredError}
10443
- * @memberof TrajectoryExecutionApi
8384
+ * @memberof TrajectoryCachingApi
10444
8385
  */
10445
8386
  clearTrajectories(cell, options) {
10446
- return TrajectoryExecutionApiFp(this.configuration).clearTrajectories(cell, options).then((request) => request(this.axios, this.basePath));
8387
+ return TrajectoryCachingApiFp(this.configuration).clearTrajectories(cell, options).then((request) => request(this.axios, this.basePath));
10447
8388
  }
10448
8389
  /**
10449
8390
  * Delete a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories. Trajectories are removed automatically if the motion group or the corresponding controller is disconnected.
@@ -10452,53 +8393,144 @@ export class TrajectoryExecutionApi extends BaseAPI {
10452
8393
  * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10453
8394
  * @param {*} [options] Override http request option.
10454
8395
  * @throws {RequiredError}
10455
- * @memberof TrajectoryExecutionApi
8396
+ * @memberof TrajectoryCachingApi
10456
8397
  */
10457
8398
  deleteTrajectory(cell, trajectory, options) {
10458
- return TrajectoryExecutionApiFp(this.configuration).deleteTrajectory(cell, trajectory, options).then((request) => request(this.axios, this.basePath));
8399
+ return TrajectoryCachingApiFp(this.configuration).deleteTrajectory(cell, trajectory, options).then((request) => request(this.axios, this.basePath));
10459
8400
  }
10460
8401
  /**
10461
- * Request to move the motion group via joint point-to-point to a given location on a trajectory. To start moving along a trajectory from an arbitrary location, the current joint positions must match the joint positions of the trajectory at the given location. > **Note:** To abort the movement, the connection needs to be closed.
10462
- * @summary Move to Trajectory
8402
+ * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
8403
+ * @summary Get Trajectory
10463
8404
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10464
8405
  * @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory.
10465
- * @param {number} locationOnTrajectory
10466
- * @param {Array<number>} [overrideJointVelocityLimits] The joint velocity limits for the p2p movement to a previously added trajectory.
10467
- * @param {Array<number>} [overrideJointAccelerationLimits] The joint acceleration limits for the p2p movement to a previously added trajectory.
10468
- * @param {number} [overrideTcpVelocityLimit] Maximum allowed TCP velocity in [mm/s].
10469
- * @param {number} [overrideTcpAccelerationLimit] Maximum allowed TCP acceleration in [mm/s^2].
10470
- * @param {number} [overrideTcpOrientationVelocityLimit] Maximum allowed TCP rotation velocity in [rad/s].
10471
- * @param {number} [overrideTcpOrientationAccelerationLimit] Maximum allowed TCP rotation acceleration in [rad/s^2].
10472
- * @param {string} [responsesCoordinateSystem]
10473
8406
  * @param {*} [options] Override http request option.
10474
8407
  * @throws {RequiredError}
10475
- * @memberof TrajectoryExecutionApi
8408
+ * @memberof TrajectoryCachingApi
10476
8409
  */
10477
- executeToTrajectory(cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options) {
10478
- return TrajectoryExecutionApiFp(this.configuration).executeToTrajectory(cell, trajectory, locationOnTrajectory, overrideJointVelocityLimits, overrideJointAccelerationLimits, overrideTcpVelocityLimit, overrideTcpAccelerationLimit, overrideTcpOrientationVelocityLimit, overrideTcpOrientationAccelerationLimit, responsesCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
8410
+ getTrajectory(cell, trajectory, options) {
8411
+ return TrajectoryCachingApiFp(this.configuration).getTrajectory(cell, trajectory, options).then((request) => request(this.axios, this.basePath));
10479
8412
  }
10480
8413
  /**
10481
- * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
10482
- * @summary Execute Trajectory
8414
+ * List currently cached trajectories. Use [addTrajectory](addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them. Trajectories are removed if the corresponding motion group or controller disconnects.
8415
+ * @summary List Trajectories
10483
8416
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10484
- * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
10485
8417
  * @param {*} [options] Override http request option.
10486
8418
  * @throws {RequiredError}
10487
- * @memberof TrajectoryExecutionApi
8419
+ * @memberof TrajectoryCachingApi
10488
8420
  */
10489
- executeTrajectory(cell, executeTrajectoryRequest, options) {
10490
- return TrajectoryExecutionApiFp(this.configuration).executeTrajectory(cell, executeTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));
8421
+ listTrajectories(cell, options) {
8422
+ return TrajectoryCachingApiFp(this.configuration).listTrajectories(cell, options).then((request) => request(this.axios, this.basePath));
10491
8423
  }
8424
+ }
8425
+ /**
8426
+ * TrajectoryExecutionApi - axios parameter creator
8427
+ * @export
8428
+ */
8429
+ export const TrajectoryExecutionApiAxiosParamCreator = function (configuration) {
8430
+ return {
8431
+ /**
8432
+ * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
8433
+ * @summary Execute Trajectory
8434
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8435
+ * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
8436
+ * @param {*} [options] Override http request option.
8437
+ * @throws {RequiredError}
8438
+ */
8439
+ executeTrajectory: async (cell, executeTrajectoryRequest, options = {}) => {
8440
+ // verify required parameter 'cell' is not null or undefined
8441
+ assertParamExists('executeTrajectory', 'cell', cell);
8442
+ // verify required parameter 'executeTrajectoryRequest' is not null or undefined
8443
+ assertParamExists('executeTrajectory', 'executeTrajectoryRequest', executeTrajectoryRequest);
8444
+ const localVarPath = `/cells/{cell}/execution/trajectory`
8445
+ .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
8446
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
8447
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
8448
+ let baseOptions;
8449
+ if (configuration) {
8450
+ baseOptions = configuration.baseOptions;
8451
+ }
8452
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
8453
+ const localVarHeaderParameter = {};
8454
+ const localVarQueryParameter = {};
8455
+ // authentication BasicAuth required
8456
+ // http basic authentication required
8457
+ setBasicAuthToObject(localVarRequestOptions, configuration);
8458
+ // authentication BearerAuth required
8459
+ // http bearer authentication required
8460
+ await setBearerAuthToObject(localVarHeaderParameter, configuration);
8461
+ localVarHeaderParameter['Content-Type'] = 'application/json';
8462
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
8463
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
8464
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
8465
+ localVarRequestOptions.data = serializeDataIfNeeded(executeTrajectoryRequest, localVarRequestOptions, configuration);
8466
+ return {
8467
+ url: toPathString(localVarUrlObj),
8468
+ options: localVarRequestOptions,
8469
+ };
8470
+ },
8471
+ };
8472
+ };
8473
+ /**
8474
+ * TrajectoryExecutionApi - functional programming interface
8475
+ * @export
8476
+ */
8477
+ export const TrajectoryExecutionApiFp = function (configuration) {
8478
+ const localVarAxiosParamCreator = TrajectoryExecutionApiAxiosParamCreator(configuration);
8479
+ return {
8480
+ /**
8481
+ * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
8482
+ * @summary Execute Trajectory
8483
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8484
+ * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
8485
+ * @param {*} [options] Override http request option.
8486
+ * @throws {RequiredError}
8487
+ */
8488
+ async executeTrajectory(cell, executeTrajectoryRequest, options) {
8489
+ const localVarAxiosArgs = await localVarAxiosParamCreator.executeTrajectory(cell, executeTrajectoryRequest, options);
8490
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
8491
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryExecutionApi.executeTrajectory']?.[localVarOperationServerIndex]?.url;
8492
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
8493
+ },
8494
+ };
8495
+ };
8496
+ /**
8497
+ * TrajectoryExecutionApi - factory interface
8498
+ * @export
8499
+ */
8500
+ export const TrajectoryExecutionApiFactory = function (configuration, basePath, axios) {
8501
+ const localVarFp = TrajectoryExecutionApiFp(configuration);
8502
+ return {
8503
+ /**
8504
+ * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
8505
+ * @summary Execute Trajectory
8506
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8507
+ * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
8508
+ * @param {*} [options] Override http request option.
8509
+ * @throws {RequiredError}
8510
+ */
8511
+ executeTrajectory(cell, executeTrajectoryRequest, options) {
8512
+ return localVarFp.executeTrajectory(cell, executeTrajectoryRequest, options).then((request) => request(axios, basePath));
8513
+ },
8514
+ };
8515
+ };
8516
+ /**
8517
+ * TrajectoryExecutionApi - object-oriented interface
8518
+ * @export
8519
+ * @class TrajectoryExecutionApi
8520
+ * @extends {BaseAPI}
8521
+ */
8522
+ export class TrajectoryExecutionApi extends BaseAPI {
10492
8523
  /**
10493
- * List currently cached trajectories. Use [addTrajectory](addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them. Trajectories are removed if the corresponding motion group or controller disconnects.
10494
- * @summary List Trajectories
8524
+ * <!-- theme: danger --> > Websocket endpoint Provides execution control over a previously planned trajectory. Enables the caller to attach input/output actions to the trajectory. Understanding the concept of location: The location or path parameter specifies the exact position along a trajectory. The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g. line, p2p, etc. See [planMotion](planMotion). Each integer value of the location corresponds to one motion command, e.g. 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with InitializeMovementRequest. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send InitializeMovementRequest to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time and not unlocked anymore. To execute another trajectory, a new connection must be established. #### 2. Send StartMovementRequest to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send PauseMovementRequest before the movement has reached its end location. - Change the movement\'s velocity with PlaybackSpeedRequest after initializing the movement with InitializeMovementRequest. ### Responses - InitializeMovementResponse is sent to signal the success or failure of the InitializeMovementRequest. - Movement responses are streamed after a StartMovementRequest successfully started the movement. Movement responses are streamed in a rate that is defined as the multiple of the controller step-rate closest to but not exceeding the rate configured by InitializeMovementRequest. - Standstill reponse is sent once the movement has finished or has come to a standstill due to a pause. - PauseMovementResponse is sent to signal the success of the PauseMovementRequest. It does not signal the end of the movement. End of movement is signaled by Standstill reponse . - PlaybackSpeedResponse is sent to signal the success of the PlaybackSpeedRequest. - MovementError with error details is sent in case of an unexpected error, e.g. controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending PauseMovementRequest and StartMovementRequest. - Send PlaybackSpeedRequest before StartMovementRequest to reduce the velocity of the movement before it starts. - Send PlaybackSpeedRequest repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send PlaybackSpeedRequest with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending StartMovementRequest after the movement has finished.
8525
+ * @summary Execute Trajectory
10495
8526
  * @param {string} cell Unique identifier addressing a cell in all API calls.
8527
+ * @param {ExecuteTrajectoryRequest} executeTrajectoryRequest
10496
8528
  * @param {*} [options] Override http request option.
10497
8529
  * @throws {RequiredError}
10498
8530
  * @memberof TrajectoryExecutionApi
10499
8531
  */
10500
- listTrajectories(cell, options) {
10501
- return TrajectoryExecutionApiFp(this.configuration).listTrajectories(cell, options).then((request) => request(this.axios, this.basePath));
8532
+ executeTrajectory(cell, executeTrajectoryRequest, options) {
8533
+ return TrajectoryExecutionApiFp(this.configuration).executeTrajectory(cell, executeTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));
10502
8534
  }
10503
8535
  }
10504
8536
  /**
@@ -10507,6 +8539,45 @@ export class TrajectoryExecutionApi extends BaseAPI {
10507
8539
  */
10508
8540
  export const TrajectoryPlanningApiAxiosParamCreator = function (configuration) {
10509
8541
  return {
8542
+ /**
8543
+ * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
8544
+ * @summary Get Default Link Chain
8545
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8546
+ * @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
8547
+ * @param {*} [options] Override http request option.
8548
+ * @throws {RequiredError}
8549
+ */
8550
+ getDefaultLinkChain: async (cell, motionGroupModel, options = {}) => {
8551
+ // verify required parameter 'cell' is not null or undefined
8552
+ assertParamExists('getDefaultLinkChain', 'cell', cell);
8553
+ // verify required parameter 'motionGroupModel' is not null or undefined
8554
+ assertParamExists('getDefaultLinkChain', 'motionGroupModel', motionGroupModel);
8555
+ const localVarPath = `/cells/{cell}/store/collision/default-link-chains/{motion-group-model}`
8556
+ .replace(`{${"cell"}}`, encodeURIComponent(String(cell)))
8557
+ .replace(`{${"motion-group-model"}}`, encodeURIComponent(String(motionGroupModel)));
8558
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
8559
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
8560
+ let baseOptions;
8561
+ if (configuration) {
8562
+ baseOptions = configuration.baseOptions;
8563
+ }
8564
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
8565
+ const localVarHeaderParameter = {};
8566
+ const localVarQueryParameter = {};
8567
+ // authentication BasicAuth required
8568
+ // http basic authentication required
8569
+ setBasicAuthToObject(localVarRequestOptions, configuration);
8570
+ // authentication BearerAuth required
8571
+ // http bearer authentication required
8572
+ await setBearerAuthToObject(localVarHeaderParameter, configuration);
8573
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
8574
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
8575
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
8576
+ return {
8577
+ url: toPathString(localVarUrlObj),
8578
+ options: localVarRequestOptions,
8579
+ };
8580
+ },
10510
8581
  /**
10511
8582
  * Returns motion group models that are supported for planning.
10512
8583
  * @summary Motion Group Models for Planning
@@ -10514,9 +8585,9 @@ export const TrajectoryPlanningApiAxiosParamCreator = function (configuration) {
10514
8585
  * @param {*} [options] Override http request option.
10515
8586
  * @throws {RequiredError}
10516
8587
  */
10517
- getPlanningMotionGroupModels: async (cell, options = {}) => {
8588
+ getMotionGroupModelsForPlanning: async (cell, options = {}) => {
10518
8589
  // verify required parameter 'cell' is not null or undefined
10519
- assertParamExists('getPlanningMotionGroupModels', 'cell', cell);
8590
+ assertParamExists('getMotionGroupModelsForPlanning', 'cell', cell);
10520
8591
  const localVarPath = `/cells/{cell}/motion-planning/motion-group-models`
10521
8592
  .replace(`{${"cell"}}`, encodeURIComponent(String(cell)));
10522
8593
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -10543,7 +8614,7 @@ export const TrajectoryPlanningApiAxiosParamCreator = function (configuration) {
10543
8614
  };
10544
8615
  },
10545
8616
  /**
10546
- * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Validate the planned trajectory and load it into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the cached trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
8617
+ * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
10547
8618
  * @summary Plan Trajectory
10548
8619
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10549
8620
  * @param {PlanTrajectoryRequest} [planTrajectoryRequest]
@@ -10589,6 +8660,20 @@ export const TrajectoryPlanningApiAxiosParamCreator = function (configuration) {
10589
8660
  export const TrajectoryPlanningApiFp = function (configuration) {
10590
8661
  const localVarAxiosParamCreator = TrajectoryPlanningApiAxiosParamCreator(configuration);
10591
8662
  return {
8663
+ /**
8664
+ * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
8665
+ * @summary Get Default Link Chain
8666
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8667
+ * @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
8668
+ * @param {*} [options] Override http request option.
8669
+ * @throws {RequiredError}
8670
+ */
8671
+ async getDefaultLinkChain(cell, motionGroupModel, options) {
8672
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getDefaultLinkChain(cell, motionGroupModel, options);
8673
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
8674
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryPlanningApi.getDefaultLinkChain']?.[localVarOperationServerIndex]?.url;
8675
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
8676
+ },
10592
8677
  /**
10593
8678
  * Returns motion group models that are supported for planning.
10594
8679
  * @summary Motion Group Models for Planning
@@ -10596,14 +8681,14 @@ export const TrajectoryPlanningApiFp = function (configuration) {
10596
8681
  * @param {*} [options] Override http request option.
10597
8682
  * @throws {RequiredError}
10598
8683
  */
10599
- async getPlanningMotionGroupModels(cell, options) {
10600
- const localVarAxiosArgs = await localVarAxiosParamCreator.getPlanningMotionGroupModels(cell, options);
8684
+ async getMotionGroupModelsForPlanning(cell, options) {
8685
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupModelsForPlanning(cell, options);
10601
8686
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
10602
- const localVarOperationServerBasePath = operationServerMap['TrajectoryPlanningApi.getPlanningMotionGroupModels']?.[localVarOperationServerIndex]?.url;
8687
+ const localVarOperationServerBasePath = operationServerMap['TrajectoryPlanningApi.getMotionGroupModelsForPlanning']?.[localVarOperationServerIndex]?.url;
10603
8688
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
10604
8689
  },
10605
8690
  /**
10606
- * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Validate the planned trajectory and load it into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the cached trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
8691
+ * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
10607
8692
  * @summary Plan Trajectory
10608
8693
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10609
8694
  * @param {PlanTrajectoryRequest} [planTrajectoryRequest]
@@ -10625,6 +8710,17 @@ export const TrajectoryPlanningApiFp = function (configuration) {
10625
8710
  export const TrajectoryPlanningApiFactory = function (configuration, basePath, axios) {
10626
8711
  const localVarFp = TrajectoryPlanningApiFp(configuration);
10627
8712
  return {
8713
+ /**
8714
+ * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
8715
+ * @summary Get Default Link Chain
8716
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8717
+ * @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
8718
+ * @param {*} [options] Override http request option.
8719
+ * @throws {RequiredError}
8720
+ */
8721
+ getDefaultLinkChain(cell, motionGroupModel, options) {
8722
+ return localVarFp.getDefaultLinkChain(cell, motionGroupModel, options).then((request) => request(axios, basePath));
8723
+ },
10628
8724
  /**
10629
8725
  * Returns motion group models that are supported for planning.
10630
8726
  * @summary Motion Group Models for Planning
@@ -10632,11 +8728,11 @@ export const TrajectoryPlanningApiFactory = function (configuration, basePath, a
10632
8728
  * @param {*} [options] Override http request option.
10633
8729
  * @throws {RequiredError}
10634
8730
  */
10635
- getPlanningMotionGroupModels(cell, options) {
10636
- return localVarFp.getPlanningMotionGroupModels(cell, options).then((request) => request(axios, basePath));
8731
+ getMotionGroupModelsForPlanning(cell, options) {
8732
+ return localVarFp.getMotionGroupModelsForPlanning(cell, options).then((request) => request(axios, basePath));
10637
8733
  },
10638
8734
  /**
10639
- * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Validate the planned trajectory and load it into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the cached trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
8735
+ * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
10640
8736
  * @summary Plan Trajectory
10641
8737
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10642
8738
  * @param {PlanTrajectoryRequest} [planTrajectoryRequest]
@@ -10655,6 +8751,18 @@ export const TrajectoryPlanningApiFactory = function (configuration, basePath, a
10655
8751
  * @extends {BaseAPI}
10656
8752
  */
10657
8753
  export class TrajectoryPlanningApi extends BaseAPI {
8754
+ /**
8755
+ * Returns the default collision link chain for a given motion group model. See [getPlanningMotionGroupModels](getPlanningMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Use the `stored_link_chain` or `link_chain` field in [storeCollisionScene](storeCollisionScene) to attach additional shapes to the link reference frames. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
8756
+ * @summary Get Default Link Chain
8757
+ * @param {string} cell Unique identifier addressing a cell in all API calls.
8758
+ * @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g. &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration).
8759
+ * @param {*} [options] Override http request option.
8760
+ * @throws {RequiredError}
8761
+ * @memberof TrajectoryPlanningApi
8762
+ */
8763
+ getDefaultLinkChain(cell, motionGroupModel, options) {
8764
+ return TrajectoryPlanningApiFp(this.configuration).getDefaultLinkChain(cell, motionGroupModel, options).then((request) => request(this.axios, this.basePath));
8765
+ }
10658
8766
  /**
10659
8767
  * Returns motion group models that are supported for planning.
10660
8768
  * @summary Motion Group Models for Planning
@@ -10663,11 +8771,11 @@ export class TrajectoryPlanningApi extends BaseAPI {
10663
8771
  * @throws {RequiredError}
10664
8772
  * @memberof TrajectoryPlanningApi
10665
8773
  */
10666
- getPlanningMotionGroupModels(cell, options) {
10667
- return TrajectoryPlanningApiFp(this.configuration).getPlanningMotionGroupModels(cell, options).then((request) => request(this.axios, this.basePath));
8774
+ getMotionGroupModelsForPlanning(cell, options) {
8775
+ return TrajectoryPlanningApiFp(this.configuration).getMotionGroupModelsForPlanning(cell, options).then((request) => request(this.axios, this.basePath));
10668
8776
  }
10669
8777
  /**
10670
- * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Validate the planned trajectory and load it into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the cached trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
8778
+ * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the [PlanTrajectoryResponse](PlanTrajectoryResponse) will contain the joint trajectory up until the error, e.g. all samples until a collision occurs. EXCEPTION: If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
10671
8779
  * @summary Plan Trajectory
10672
8780
  * @param {string} cell Unique identifier addressing a cell in all API calls.
10673
8781
  * @param {PlanTrajectoryRequest} [planTrajectoryRequest]
@@ -11243,7 +9351,7 @@ export class VirtualRobotApi extends BaseAPI {
11243
9351
  export const VirtualRobotBehaviorApiAxiosParamCreator = function (configuration) {
11244
9352
  return {
11245
9353
  /**
11246
- * This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
9354
+ * <!-- theme: danger --> > Websocket endpoint This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
11247
9355
  * @summary Stream Joint Configuration
11248
9356
  * @param {string} cell Unique identifier addressing a cell in all API calls.
11249
9357
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -11386,7 +9494,7 @@ export const VirtualRobotBehaviorApiFp = function (configuration) {
11386
9494
  const localVarAxiosParamCreator = VirtualRobotBehaviorApiAxiosParamCreator(configuration);
11387
9495
  return {
11388
9496
  /**
11389
- * This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
9497
+ * <!-- theme: danger --> > Websocket endpoint This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
11390
9498
  * @summary Stream Joint Configuration
11391
9499
  * @param {string} cell Unique identifier addressing a cell in all API calls.
11392
9500
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -11441,7 +9549,7 @@ export const VirtualRobotBehaviorApiFactory = function (configuration, basePath,
11441
9549
  const localVarFp = VirtualRobotBehaviorApiFp(configuration);
11442
9550
  return {
11443
9551
  /**
11444
- * This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
9552
+ * <!-- theme: danger --> > Websocket endpoint This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
11445
9553
  * @summary Stream Joint Configuration
11446
9554
  * @param {string} cell Unique identifier addressing a cell in all API calls.
11447
9555
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -11487,7 +9595,7 @@ export const VirtualRobotBehaviorApiFactory = function (configuration, basePath,
11487
9595
  */
11488
9596
  export class VirtualRobotBehaviorApi extends BaseAPI {
11489
9597
  /**
11490
- * This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
9598
+ * <!-- theme: danger --> > Websocket endpoint This stream provides the commanded joint state and sets a motion groups joint configuration, e.g. to move a motion group. The concept is that an application is using the Motion Service to move a motion group. The Motion Service is commanding the desired joint configuration of a motion group. Physical motion groups move to this joint configuration. With physical motion groups, this takes some time and only works if possible. And you have the *actual* joint state - the current real motion group configuration. Again, this stream is providing *commanded* joint state! It is __not__ providing the *actual* joint state! (Please file a request - if you need a stream of the *actual* joint state) When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configurations. CAUTION: Incoming joint configurations are not visualized and their velocity limits are not checked. we don\'t even check limits! Possible use cases are: 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion group. The stream only sends data to the robot controller if a motion is executed. If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic Freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
11491
9599
  * @summary Stream Joint Configuration
11492
9600
  * @param {string} cell Unique identifier addressing a cell in all API calls.
11493
9601
  * @param {string} controller Unique identifier to address a controller in the cell.