@wandelbots/nova-api 25.9.0-dev.13 → 25.9.0-dev.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/v2/index.cjs CHANGED
@@ -131,7 +131,7 @@ const createRequestFunction = function(axiosArgs, globalAxios$2, BASE_PATH$1, co
131
131
  //#region v2/api.ts
132
132
  const AbbControllerKindEnum = { AbbController: "AbbController" };
133
133
  /**
134
- * ## BEHAVIOR_AUTOMATIC This is the default behavior. The motion groups of the controller take commanded joint configuration as actual joint state. Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the virtual robot will act like a physical one, e.g. with a cycle time of 8ms to respond to a new joint state command. ## BEHAVIOR_AUTOMATIC_NOT_COMPLY_WITH_CYCLETIME Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the robot will respond as fast as possible, limited only by software execution speed. Because of that the execution of a movement requires less time than with BEHAVIOR_AUTOMATIC. ## BEHAVIOR_EXTERNAL_SOURCE The external client is the only source of actual joint state changes. This mode is used to enable third party software indicating the current joint state via [externalJointsStream](externalJointsStream).
134
+ * ## BEHAVIOR_AUTOMATIC This is the default behavior. The motion groups of the controller take commanded joint configuration as actual joint state. Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the virtual robot will act like a physical one, e.g., with a cycle time of 8ms to respond to a new joint state command. ## BEHAVIOR_AUTOMATIC_NOT_COMPLY_WITH_CYCLETIME Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the robot will respond as fast as possible, limited only by software execution speed. Because of that the execution of a movement requires less time than with BEHAVIOR_AUTOMATIC. ## BEHAVIOR_EXTERNAL_SOURCE The external client is the only source of actual joint state changes. This mode is used to enable third party software indicating the current joint state via [externalJointsStream](externalJointsStream).
135
135
  * @export
136
136
  * @enum {string}
137
137
  */
@@ -342,7 +342,7 @@ const PlaneShapeTypeEnum = { Plane: "plane" };
342
342
  const PlaybackSpeedRequestMessageTypeEnum = { PlaybackSpeedRequest: "PlaybackSpeedRequest" };
343
343
  const PlaybackSpeedResponseKindEnum = { PlaybackSpeedReceived: "PLAYBACK_SPEED_RECEIVED" };
344
344
  /**
345
- * The direction of the input/output variable, indicating whether it is an input or output for the PROFINET device, e.g. NOVA\'s PROFINET service.
345
+ * The direction of the input/output variable, indicating whether it is an input or output for the PROFINET device, e.g., NOVA\'s PROFINET service.
346
346
  * @export
347
347
  * @enum {string}
348
348
  */
@@ -902,7 +902,7 @@ const ApplicationApiFactory = function(configuration, basePath, axios$1) {
902
902
  */
903
903
  var ApplicationApi = class extends BaseAPI {
904
904
  /**
905
- * Install a basic, containerized web application to the cell to control robots with a customized frontend. Prerequisites: A Docker hub account or similar container registry account, with valid credentials. After adding the application to the cell, open the application on the Wandelbots NOVA home screen. Read [build your application](/docs/docs/development/) for more information. <!-- theme: none --> > #### Predefined Environment Variables > - `NOVA_API`: The API endpoint accessible from within the application container. > - `NATS_BROKER`: The NATS broker endpoint accessible from within the application container. > - `BASE_PATH`: The application\'s root path, accessible at http://$host/$BASE_PATH > - `CELL_NAME`: The name of the cell hosting the deployed application.
905
+ * Install a basic, containerized web application to the cell to control robots with a customized frontend. #### Prerequisites - A Docker hub account or similar container registry account, with valid credentials. #### Workflow After adding the application to the cell, open the application on the Wandelbots NOVA home screen. Read [build your application](https://docs.wandelbots.io/latest/developing-introduction) for more information. #### Predefined environment variables <!-- theme: NOTE --> > **NOTE** > - `NOVA_API`: The API endpoint accessible from within the application container. > - `NATS_BROKER`: The NATS broker endpoint accessible from within the application container. > - `BASE_PATH`: The application\'s root path, accessible at http://$host/$BASE_PATH > - `CELL_NAME`: The name of the cell hosting the deployed application.
906
906
  * @summary Add Application
907
907
  * @param {string} cell Unique identifier addressing a cell in all API calls.
908
908
  * @param {App} app
@@ -940,7 +940,7 @@ var ApplicationApi = class extends BaseAPI {
940
940
  return ApplicationApiFp(this.configuration).deleteApp(cell, app, completionTimeout, options).then((request) => request(this.axios, this.basePath));
941
941
  }
942
942
  /**
943
- * Get the configuration for an active GUI application in the cell. To update the configuration of a GUI application in the cell, use this configuration with the \'Update Configuration\' endpoint.
943
+ * Get the configuration for an active GUI application in the cell. To update the configuration of a GUI application in the cell, use this configuration with [updateApp](updateApp).
944
944
  * @summary Configuration
945
945
  * @param {string} cell Unique identifier addressing a cell in all API calls.
946
946
  * @param {string} app
@@ -952,7 +952,7 @@ var ApplicationApi = class extends BaseAPI {
952
952
  return ApplicationApiFp(this.configuration).getApp(cell, app, options).then((request) => request(this.axios, this.basePath));
953
953
  }
954
954
  /**
955
- * List all GUI applications that have been added to a cell. with the \'Add Application\' endpoint. If the cell does not contain GUI applications, the list is returned empty.
955
+ * List all GUI applications that have been added to a cell with [addApp](addApp). If the cell does not contain GUI applications, the list is returned empty.
956
956
  * @summary List Applications
957
957
  * @param {string} cell Unique identifier addressing a cell in all API calls.
958
958
  * @param {*} [options] Override http request option.
@@ -1511,7 +1511,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1511
1511
  return BUSInputsOutputsApiFp(this.configuration).addBusIOService(cell, busIOType, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1512
1512
  }
1513
1513
  /**
1514
- * Adds an input/output variable to or updates an input/output variable on the PROFINET device, e.g. NOVA\'s PROFINET service. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. The NOVA\'s PROFINET service\'s configuration can be viewed via [listProfinetIOs](listProfinetIOs). For the PROFINET controller, e.g. a connected PLC, refer to the corresponding third party software, e.g. TIA portal).
1514
+ * Adds an input/output variable to or updates an input/output variable on the PROFINET device, e.g., NOVA\'s PROFINET service. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. - The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. - The NOVA\'s PROFINET service\'s configuration can be viewed via [listProfinetIOs](listProfinetIOs). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding third party software, e.g., TIA portal).
1515
1515
  * @summary Add PROFINET Input/Output
1516
1516
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1517
1517
  * @param {string} io Unique identifier to address an Input/Output in the cell.
@@ -1536,7 +1536,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1536
1536
  return BUSInputsOutputsApiFp(this.configuration).clearBusIOService(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1537
1537
  }
1538
1538
  /**
1539
- * Removes an input/output variable configuration from the PROFINET device, e.g. NOVA\'s PROFINET service.
1539
+ * Removes an input/output variable configuration from the PROFINET device, e.g., NOVA\'s PROFINET service.
1540
1540
  * @summary Remove PROFINET Input/Ouptut
1541
1541
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1542
1542
  * @param {string} io Unique identifier to address an Input/Output in the cell.
@@ -1593,7 +1593,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1593
1593
  return BUSInputsOutputsApiFp(this.configuration).getProfinetDescription(cell, options).then((request) => request(this.axios, this.basePath));
1594
1594
  }
1595
1595
  /**
1596
- * Get input/output variable configuration of the PROFINET device, e.g. NOVA\'s PROFINET service as file. You can specify byte offsets for the input and output variable addresses to get an XML tagmap that is ready to paste to the third party software, e.g. TIA portal.
1596
+ * Get input/output variable configuration of the PROFINET device, e.g., NOVA\'s PROFINET service as file. You can specify byte offsets for the input and output variable addresses to get an XML tagmap that is ready to paste to the third party software, e.g., TIA portal.
1597
1597
  * @summary PROFINET Inputs/Outputs to File
1598
1598
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1599
1599
  * @param {number} [inputOffset]
@@ -1606,7 +1606,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1606
1606
  return BUSInputsOutputsApiFp(this.configuration).getProfinetIOsFromFile(cell, inputOffset, outputOffset, options).then((request) => request(this.axios, this.basePath));
1607
1607
  }
1608
1608
  /**
1609
- * List all input/output descriptions for configured BUS services. The input/output descriptions contain information such as the name, the type and the unit. The input/output direction is given in perspective of the BUS service.
1609
+ * List all input/output descriptions for configured BUS services. The input/output descriptions contain information like name, type and unit. The input/output direction is given in perspective of the BUS service.
1610
1610
  * @summary List Descriptions
1611
1611
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1612
1612
  * @param {*} [options] Override http request option.
@@ -1617,7 +1617,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1617
1617
  return BUSInputsOutputsApiFp(this.configuration).listBusIODescriptions(cell, options).then((request) => request(this.axios, this.basePath));
1618
1618
  }
1619
1619
  /**
1620
- * List descriptions for all configured input/output variables of the PROFINET service. The input/output descriptions contain information such as the name, the type and the unit. The input/output direction is given in perspective of the PROFINET Device, e.g. the configured PROFINET service. The byte and bit addresses are the locations in the PROFINET input/output process image the variable points to. The PROFINET controller as well as NOVA\'s PROFINET service use an input/output variable configuration to interpret the bits of the input and output process image. The NOVA PROFINET service\'s configuration is modified via [addProfinetIO](addProfinetIO) and [setProfinetIOsFromFile](setProfinetIOsFromFile). For the PROFINET controller, e.g. a connected PLC, refer to the corresponding third party software, e.g. TIA portal.
1620
+ * List descriptions for all configured input/output variables of the PROFINET service. The input/output descriptions contain information like name, type and unit. The input/output direction is given in perspective of the PROFINET Device, e.g., the configured PROFINET service. - The byte and bit addresses are the locations in the PROFINET input/output process image the variable points to. - The PROFINET controller as well as NOVA\'s PROFINET service use an input/output variable configuration to interpret the bits of the input and output process image. - The NOVA PROFINET service\'s configuration is modified via [addProfinetIO](addProfinetIO) and [setProfinetIOsFromFile](setProfinetIOsFromFile). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding third party software, e.g., TIA portal.
1621
1621
  * @summary List PROFINET Input/Output Configuration
1622
1622
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1623
1623
  * @param {*} [options] Override http request option.
@@ -1640,7 +1640,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1640
1640
  return BUSInputsOutputsApiFp(this.configuration).setBusIOValues(cell, iOValue, options).then((request) => request(this.axios, this.basePath));
1641
1641
  }
1642
1642
  /**
1643
- * Sets input/output variable configuration on the PROFINET device (i.e. NOVA\'s PROFINET service) from XML file. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. The NOVA\'s PROFINET service\'s configuration can be viewed via [listProfinetIOs](listProfinetIOs). For the PROFINET controller, e.g. a connected PLC, refer to the corresponding engineering system, e.g. TIA portal. You can export the variable configuration of the PROFINET controller as XML file from your engineering system, e.g. TIA portal. The endpoint is built so that the perspective of input and output (PROFINET Device\'s input is PROFINET Controller\'s output) is internally handled (PROFINET device input is PROFINET controller output), meaning that you can paste the exported XML file here without modifying.
1643
+ * Sets input/output variable configuration on the PROFINET device (i.e. NOVA\'s PROFINET service) from XML file. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. - The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. - The NOVA\'s PROFINET service\'s configuration can be viewed via [listProfinetIOs](listProfinetIOs). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding engineering system, e.g., TIA portal. #### Export variables You can export the variable configuration of the PROFINET controller as XML file from your engineering system, e.g., TIA portal. - The endpoint is built so that the perspective of input and output (PROFINET Device\'s input is PROFINET Controller\'s output) is internally handled (PROFINET device input is PROFINET controller output), meaning that you can paste the exported XML file here without modifying.
1644
1644
  * @summary Set PROFINET Inputs/Outputs from File
1645
1645
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1646
1646
  * @param {ProfinetInputOutputConfig} profinetInputOutputConfig
@@ -1957,7 +1957,7 @@ var CellApi = class extends BaseAPI {
1957
1957
  return CellApiFp(this.configuration).deleteCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1958
1958
  }
1959
1959
  /**
1960
- * Deploy an entire cell with all its resources. A cell can be used to deploy a robot controller, one or more robots, as well as custom applications. Refer to the [Wandelbots NOVA documentation](docs/wandelbots-nova-api/#create-a-cell) for more information.
1960
+ * Deploy an entire cell with all its resources. A cell can be used to deploy a robot controller, one or more robots, as well as custom applications. Refer to the [Wandelbots NOVA documentation](https://docs.wandelbots.io/latest/setup-cell) for more information.
1961
1961
  * @summary Add Cell
1962
1962
  * @param {Cell} cell
1963
1963
  * @param {number} [completionTimeout]
@@ -1969,7 +1969,7 @@ var CellApi = class extends BaseAPI {
1969
1969
  return CellApiFp(this.configuration).deployCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1970
1970
  }
1971
1971
  /**
1972
- * List all cell resources. > **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.
1972
+ * List all cell resources.
1973
1973
  * @summary Configuration
1974
1974
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1975
1975
  * @param {*} [options] Override http request option.
@@ -2593,7 +2593,7 @@ const ControllerApiFactory = function(configuration, basePath, axios$1) {
2593
2593
  */
2594
2594
  var ControllerApi = class extends BaseAPI {
2595
2595
  /**
2596
- * Add a robot controller to the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2596
+ * Add a robot controller to the cell.
2597
2597
  * @summary Add Robot Controller
2598
2598
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2599
2599
  * @param {RobotController} robotController
@@ -2606,7 +2606,7 @@ var ControllerApi = class extends BaseAPI {
2606
2606
  return ControllerApiFp(this.configuration).addRobotController(cell, robotController, completionTimeout, options).then((request) => request(this.axios, this.basePath));
2607
2607
  }
2608
2608
  /**
2609
- * Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with the \'Add Robot Controller\' endpoint. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2609
+ * Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with [addRobotController](addRobotController).
2610
2610
  * @summary Clear Robot Controllers
2611
2611
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2612
2612
  * @param {number} [completionTimeout]
@@ -2618,7 +2618,7 @@ var ControllerApi = class extends BaseAPI {
2618
2618
  return ControllerApiFp(this.configuration).clearRobotControllers(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
2619
2619
  }
2620
2620
  /**
2621
- * Delete a robot controller from the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2621
+ * Delete a robot controller from the cell.
2622
2622
  * @summary Delete Robot Controller
2623
2623
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2624
2624
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2643,7 +2643,7 @@ var ControllerApi = class extends BaseAPI {
2643
2643
  return ControllerApiFp(this.configuration).getControllerDescription(cell, controller, options).then((request) => request(this.axios, this.basePath));
2644
2644
  }
2645
2645
  /**
2646
- * 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.
2646
+ * 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.
2647
2647
  * @summary Coordinate System
2648
2648
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2649
2649
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2681,7 +2681,7 @@ var ControllerApi = class extends BaseAPI {
2681
2681
  return ControllerApiFp(this.configuration).getRobotController(cell, controller, options).then((request) => request(this.axios, this.basePath));
2682
2682
  }
2683
2683
  /**
2684
- * Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the Virtual configuration variant of [addRobotController](addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration which is not required when providing a complete configuration. > **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.
2684
+ * Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the Virtual configuration variant of [addRobotController](addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration which is not required when providing a complete configuration.
2685
2685
  * @summary Virtual Controller Configuration
2686
2686
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2687
2687
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2693,7 +2693,7 @@ var ControllerApi = class extends BaseAPI {
2693
2693
  return ControllerApiFp(this.configuration).getVirtualControllerConfiguration(cell, controller, options).then((request) => request(this.axios, this.basePath));
2694
2694
  }
2695
2695
  /**
2696
- * 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.
2696
+ * 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.
2697
2697
  * @summary List Coordinate Systems
2698
2698
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2699
2699
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2717,7 +2717,7 @@ var ControllerApi = class extends BaseAPI {
2717
2717
  return ControllerApiFp(this.configuration).listRobotControllers(cell, options).then((request) => request(this.axios, this.basePath));
2718
2718
  }
2719
2719
  /**
2720
- * 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** > > `setDefaultMode` enables the robot controller to stay in control mode to keep the motors activated. > This allows for faster execution of sequential movements as no mode switches are required. > **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.
2720
+ * 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 to 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** > > `setDefaultMode` enables the robot controller to stay in control mode to keep the motors activated. > This allows for faster execution of sequential movements as no mode switches are required. > **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.
2721
2721
  * @summary Set Default Mode
2722
2722
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2723
2723
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2730,7 +2730,7 @@ var ControllerApi = class extends BaseAPI {
2730
2730
  return ControllerApiFp(this.configuration).setDefaultMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));
2731
2731
  }
2732
2732
  /**
2733
- * <!-- 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.
2733
+ * <!-- theme: success --> > 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, > - 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 cobots. Use [listRobotControllers](listRobotControllers) to check if the robot controller supports free drive mode.
2734
2734
  * @summary Stream Free Drive
2735
2735
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2736
2736
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2743,7 +2743,7 @@ var ControllerApi = class extends BaseAPI {
2743
2743
  return ControllerApiFp(this.configuration).streamFreeDrive(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));
2744
2744
  }
2745
2745
  /**
2746
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates.
2746
+ * <!-- theme: success --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates.
2747
2747
  * @summary Stream State
2748
2748
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2749
2749
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2757,7 +2757,7 @@ var ControllerApi = class extends BaseAPI {
2757
2757
  return ControllerApiFp(this.configuration).streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(this.axios, this.basePath));
2758
2758
  }
2759
2759
  /**
2760
- * 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.
2760
+ * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller.
2761
2761
  * @summary Update Robot Controller
2762
2762
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2763
2763
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3002,7 +3002,7 @@ const ControllerInputsOutputsApiFactory = function(configuration, basePath, axio
3002
3002
  */
3003
3003
  var ControllerInputsOutputsApi = class extends BaseAPI {
3004
3004
  /**
3005
- * Lists the input/output descriptions of the robot controller. The input/output descriptions contain information such as the name of the input/output, the input/output type and the input/output unit. The set of available inputs/outputs is defined by the robot controller. Each input/output has a unique identifier. If no identifiers are specified in the request, the full list of available inputs/outputs is retrieved by this endpoint. Except when a filter (direction, value_type, group) is applied. Then only the inputs/outputs matching the filter are returned.
3005
+ * Lists the input/output descriptions of the robot controller. The input/output descriptions contain information like name, type and unit.\\ Available inputs/outputs are defined by the robot controller\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned.
3006
3006
  * @summary List Descriptions
3007
3007
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3008
3008
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3031,7 +3031,7 @@ var ControllerInputsOutputsApi = class extends BaseAPI {
3031
3031
  return ControllerInputsOutputsApiFp(this.configuration).listIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));
3032
3032
  }
3033
3033
  /**
3034
- * Set the values of outputs. All available output identifiers and possible value ranges can be requested via [listIODescriptions](listIODescriptions). The call will return once the values have been set on and accepted by the robot. This might take up to 200 milliseconds. > **NOTE** > > Do not call this endpoint while another request is still in progress. The second call will fail.
3034
+ * Set the values of outputs. All available output identifiers and possible value ranges can be requested via [listIODescriptions](listIODescriptions). The call will return once the values have been set on and accepted by the robot. This can take up to 200 milliseconds. > **NOTE** > > Do not call this endpoint while another request is still in progress. The second call will fail.
3035
3035
  * @summary Set Output Values
3036
3036
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3037
3037
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3044,7 +3044,7 @@ var ControllerInputsOutputsApi = class extends BaseAPI {
3044
3044
  return ControllerInputsOutputsApiFp(this.configuration).setOutputValues(cell, controller, iOValue, options).then((request) => request(this.axios, this.basePath));
3045
3045
  }
3046
3046
  /**
3047
- * <!-- 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.
3047
+ * <!-- theme: success --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > If you request many values simultaneously, the request is 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. This can lead to a high amount of data transmitted.
3048
3048
  * @summary Stream Input/Output Values
3049
3049
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3050
3050
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3057,7 +3057,7 @@ var ControllerInputsOutputsApi = class extends BaseAPI {
3057
3057
  return ControllerInputsOutputsApiFp(this.configuration).streamIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));
3058
3058
  }
3059
3059
  /**
3060
- * Wait until an input/output reaches a certain value. This call returns as soon as the condition is met or the request fails. The comparison_type value is used to define how the current value of the input/output is compared with given value. Only set the value that corresponds to the value_type of the input/output, see (listIODescriptions)[listIODescriptions] for more information. Examples: If you want to wait until an analog input (\"AI_1\") is less than 10, you would set io to \"AI_1\" comparison_type to COMPARISON_LESS and only value to 10. If you want to wait until an analog input (\"AI_2\") is greater than 5.0, you would set io to \"AI_2\" comparison_type to COMPARISON_GREATER and only value to 5.0. If you want to wait until a digital input (\"DI_3\") is true, you would set io to \"DI_3\" comparison_type to COMPARISON_EQUAL and only value to true.
3060
+ * Wait until an input/output reaches a certain value. This call returns as soon as the condition is met or the request fails. The `comparison_type` value is used to define how the current value of the input/output is compared with given value. Only set the value that corresponds to the `value_type` of the input/output. See [listIODescriptions](listIODescriptions) for more information. **Examples** 1. Wait until analog input `AI_1` < 10: ``` io: \"AI_1\" comparison_type: \"COMPARISON_LESS\" value: 10 ``` 2. Wait until analog input `AI_2` > 5.0: ``` io: \"AI_2\" comparison_type: \"COMPARISON_GREATER\" value: 5.0 ``` 3. Wait until digital input `DI_3` is true: ``` io: \"DI_3\" comparison_type: \"COMPARISON_EQUAL\" value: true ```
3061
3061
  * @summary Wait For
3062
3062
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3063
3063
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3138,7 +3138,7 @@ const JoggingApiFactory = function(configuration, basePath, axios$1) {
3138
3138
  */
3139
3139
  var JoggingApi = class extends BaseAPI {
3140
3140
  /**
3141
- * <!-- theme: danger --> > Websocket endpoint Provides execution control over a dynamically adaptable jogging motion for a motion group. Jogging describes controlling a motion group by sending real-time commands to move either its joints or the TCP (Tool Center Point). The commands contain target velocities that may change at any time during execution, so the resulting motion cannot be computed upfront. ### Preconditions The motion group is not moved by any other endpoint. ### Requests #### 1. Send InitializeJoggingRequest to configure the jogging. Sets robot controller mode to control mode. Sets rate and coordinate system for the jogging response. #### 2. Send JointVelocityRequest or TcpVelocityRequest to start the jogging motion. #### 3. Change or stop the jogging motion - Change the jogging direction and/or velocity during the jogging motion with JointVelocityRequest or TcpVelocityRequest. - To stop the jogging motion, send zero velocities via either request. ### Responses - InitializeJoggingResponse is sent to signal the success or failure of the InitializeJoggingRequest. - Jogging responses are streamed continuously after an InitializeJoggingRequest is processed. Jogging responses contain the robot controller state and the state of the jogging control. - JoggingErrorResponse with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - In the JoggingResponse, verify that the robot control is in the desired state, e.g. standstill, with JoggingState. - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops.
3141
+ * <!-- theme: success --> > Websocket endpoint Provides execution control over a dynamically adaptable jogging motion for a motion group. Jogging describes controlling a motion group by sending real-time commands to move either its joints or the TCP. The commands contain target velocities that may change at any time during execution, so the resulting motion cannot be computed upfront. ### Preconditions The motion group is not moved by any other endpoint. ### Requests #### 1. Send `InitializeJoggingRequest` to configure the jogging. - Sets the robot controller mode to control mode. - Sets rate and coordinate system for the jogging response. #### 2. Send `JointVelocityRequest` or `TcpVelocityRequest` to start the jogging motion. #### 3. Change or stop the jogging motion - Change the jogging direction and/or velocity during the jogging motion with `JointVelocityRequest` or `TcpVelocityRequest`. - To stop the jogging motion, send zero velocities via either request. ### Responses - `InitializeJoggingResponse` is sent to signal the success or failure of the `InitializeJoggingRequest`. - Jogging responses are streamed continuously after an `InitializeJoggingRequest` is processed. Jogging responses contain the robot controller state and the state of the jogging control. - `JoggingErrorResponse` with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - In the `JoggingResponse`, verify that the robot control is in the desired state, e.g., standstill, with JoggingState. - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops.
3142
3142
  * @summary Execute Jogging
3143
3143
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3144
3144
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3479,7 +3479,7 @@ var LicenseApi = class extends BaseAPI {
3479
3479
  return LicenseApiFp(this.configuration).deactivateLicense(options).then((request) => request(this.axios, this.basePath));
3480
3480
  }
3481
3481
  /**
3482
- * Get information on the license used with the Wandelbots NOVA instance, e.g. licensed product, expiration date, license status.
3482
+ * Get information on the license used with the Wandelbots NOVA instance, e.g., licensed product, expiration date, license status.
3483
3483
  * @summary Get license
3484
3484
  * @param {*} [options] Override http request option.
3485
3485
  * @throws {RequiredError}
@@ -3489,7 +3489,7 @@ var LicenseApi = class extends BaseAPI {
3489
3489
  return LicenseApiFp(this.configuration).getLicense(options).then((request) => request(this.axios, this.basePath));
3490
3490
  }
3491
3491
  /**
3492
- * Get the license status. If `valid`, Wandelbots NOVA can be used. If `expired`, the license has to be renewed in order to use Wandelbots NOVA.
3492
+ * Get the license status. - If `valid`, Wandelbots NOVA can be used. - If `expired`, the license has to be renewed in order to use Wandelbots NOVA.
3493
3493
  * @summary Get license status
3494
3494
  * @param {*} [options] Override http request option.
3495
3495
  * @throws {RequiredError}
@@ -3664,7 +3664,7 @@ var MotionGroupApi = class extends BaseAPI {
3664
3664
  return MotionGroupApiFp(this.configuration).getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
3665
3665
  }
3666
3666
  /**
3667
- * Get the set of parameters that describe the motion group and its configuration including safety zones, limits, etc. This data might change upon connection to the robot.
3667
+ * Get the set of parameters that describe the motion group and its configuration including safety zones, limits, etc. This data can change upon connection to the robot.
3668
3668
  * @summary Description
3669
3669
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3670
3670
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3677,7 +3677,7 @@ var MotionGroupApi = class extends BaseAPI {
3677
3677
  return MotionGroupApiFp(this.configuration).getMotionGroupDescription(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));
3678
3678
  }
3679
3679
  /**
3680
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3680
+ * <!-- theme: success --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3681
3681
  * @summary Stream State
3682
3682
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3683
3683
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3802,7 +3802,7 @@ var MotionGroupModelsApi = class extends BaseAPI {
3802
3802
  * Returns the default collision link chain for a given motion group model. See [getMotionGroupModels](getMotionGroupModels) 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. Attach additional shapes to the link reference frames by extending the link dictionaries before further use. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
3803
3803
  * @summary Get Collision Model
3804
3804
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3805
- * @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).
3805
+ * @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).
3806
3806
  * @param {*} [options] Override http request option.
3807
3807
  * @throws {RequiredError}
3808
3808
  * @memberof MotionGroupModelsApi
@@ -4643,7 +4643,7 @@ var StoreCollisionComponentsApi = class extends BaseAPI {
4643
4643
  return StoreCollisionComponentsApiFp(this.configuration).listStoredCollisionTools(cell, options).then((request) => request(this.axios, this.basePath));
4644
4644
  }
4645
4645
  /**
4646
- * Stores collider. If the collider does not exist, it will be created. If the collider exists, it will be updated.
4646
+ * Stores collider. - If the collider does not exist, it will be created. - If the collider exists, it will be updated.
4647
4647
  * @summary Store Collider
4648
4648
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4649
4649
  * @param {string} collider Unique identifier addressing a collider.
@@ -4656,7 +4656,7 @@ var StoreCollisionComponentsApi = class extends BaseAPI {
4656
4656
  return StoreCollisionComponentsApiFp(this.configuration).storeCollider(cell, collider, collider2, options).then((request) => request(this.axios, this.basePath));
4657
4657
  }
4658
4658
  /**
4659
- * Stores link chain. If the link chain does not exist, it will be created. If the link chain exists, it will be updated.
4659
+ * Stores link chain. - If the link chain does not exist, it will be created. - If the link chain exists, it will be updated.
4660
4660
  * @summary Store Link Chain
4661
4661
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4662
4662
  * @param {string} linkChain Unique identifier addressing a collision link chain.
@@ -4669,7 +4669,7 @@ var StoreCollisionComponentsApi = class extends BaseAPI {
4669
4669
  return StoreCollisionComponentsApiFp(this.configuration).storeCollisionLinkChain(cell, linkChain, collider, options).then((request) => request(this.axios, this.basePath));
4670
4670
  }
4671
4671
  /**
4672
- * Stores the tool. If the tool does not exist, it will be created. If the tool exists, it will be updated.
4672
+ * Stores the tool. - If the tool does not exist, it will be created. - If the tool exists, it will be updated.
4673
4673
  * @summary Store Tool
4674
4674
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4675
4675
  * @param {string} tool Unique identifier addressing a collision tool.
@@ -4901,7 +4901,7 @@ var StoreCollisionSetupsApi = class extends BaseAPI {
4901
4901
  return StoreCollisionSetupsApiFp(this.configuration).listStoredCollisionSetups(cell, options).then((request) => request(this.axios, this.basePath));
4902
4902
  }
4903
4903
  /**
4904
- * Stores collision setup. If the collision setup does not exist, it will be created. If the collision setup exists, it will be updated.
4904
+ * Stores collision setup. - If the collision setup does not exist, it will be created. - If the collision setup exists, it will be updated.
4905
4905
  * @summary Store Collision Setup
4906
4906
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4907
4907
  * @param {string} setup Identifier of the collision setup
@@ -5196,7 +5196,7 @@ var StoreObjectApi = class extends BaseAPI {
5196
5196
  return StoreObjectApiFp(this.configuration).deleteObject(cell, key, options).then((request) => request(this.axios, this.basePath));
5197
5197
  }
5198
5198
  /**
5199
- * Get the object. This request returns the object and any metadata attached to it.
5199
+ * Returns content and metadata of a stored object.
5200
5200
  * @summary Get Object
5201
5201
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5202
5202
  * @param {string} key
@@ -5208,7 +5208,7 @@ var StoreObjectApi = class extends BaseAPI {
5208
5208
  return StoreObjectApiFp(this.configuration).getObject(cell, key, options).then((request) => request(this.axios, this.basePath));
5209
5209
  }
5210
5210
  /**
5211
- * Get object metadata. Objects can be large. Therefore this request only returns metadata without fetching the object\'s content.
5211
+ * Returns metadata. Object content is not returned.
5212
5212
  * @summary Get Object Metadata
5213
5213
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5214
5214
  * @param {string} key
@@ -5231,7 +5231,7 @@ var StoreObjectApi = class extends BaseAPI {
5231
5231
  return StoreObjectApiFp(this.configuration).listAllObjectKeys(cell, options).then((request) => request(this.axios, this.basePath));
5232
5232
  }
5233
5233
  /**
5234
- * Store any data as an object. Using a key which already contains an object will override the previously stored object. Use [getObjectMetadata](getObjectMetadata) to verify that the key does not contain objects. Optional: Specify metadata as a dictionary with names and values.
5234
+ * Store any data as an object. Using a key which already contains an object will override the previously stored object. Use [getObjectMetadata](getObjectMetadata) to verify that the key does not contain objects. #### Optional Specify metadata as a dictionary with names and values.
5235
5235
  * @summary Store Object
5236
5236
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5237
5237
  * @param {string} key
@@ -5920,7 +5920,7 @@ const TrajectoryCachingApiFactory = function(configuration, basePath, axios$1) {
5920
5920
  */
5921
5921
  var TrajectoryCachingApi = class extends BaseAPI {
5922
5922
  /**
5923
- * <!-- 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.
5923
+ * Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. <!-- theme: info --> > #### NOTE > > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. 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.
5924
5924
  * @summary Add Trajectory
5925
5925
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5926
5926
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -5945,7 +5945,7 @@ var TrajectoryCachingApi = class extends BaseAPI {
5945
5945
  return TrajectoryCachingApiFp(this.configuration).clearTrajectories(cell, controller, options).then((request) => request(this.axios, this.basePath));
5946
5946
  }
5947
5947
  /**
5948
- * 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.
5948
+ * 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.
5949
5949
  * @summary Delete Trajectory
5950
5950
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5951
5951
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -5958,7 +5958,7 @@ var TrajectoryCachingApi = class extends BaseAPI {
5958
5958
  return TrajectoryCachingApiFp(this.configuration).deleteTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));
5959
5959
  }
5960
5960
  /**
5961
- * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
5961
+ * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
5962
5962
  * @summary Get Trajectory
5963
5963
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5964
5964
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -5971,7 +5971,7 @@ var TrajectoryCachingApi = class extends BaseAPI {
5971
5971
  return TrajectoryCachingApiFp(this.configuration).getTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));
5972
5972
  }
5973
5973
  /**
5974
- * 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.
5974
+ * 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.
5975
5975
  * @summary List Trajectories
5976
5976
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5977
5977
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6051,7 +6051,7 @@ const TrajectoryExecutionApiFactory = function(configuration, basePath, axios$1)
6051
6051
  */
6052
6052
  var TrajectoryExecutionApi = class extends BaseAPI {
6053
6053
  /**
6054
- * <!-- 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.
6054
+ * <!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time 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 response 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 response. - `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.
6055
6055
  * @summary Execute Trajectory
6056
6056
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6057
6057
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6186,7 +6186,7 @@ var TrajectoryPlanningApi = class extends BaseAPI {
6186
6186
  return TrajectoryPlanningApiFp(this.configuration).planCollisionFree(cell, planCollisionFreeRequest, options).then((request) => request(this.axios, this.basePath));
6187
6187
  }
6188
6188
  /**
6189
- * 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.
6189
+ * 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 response will contain the joint trajectory up until the error, e.g., all samples until a collision occurs. <!-- theme: info --> > #### 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.
6190
6190
  * @summary Plan Trajectory
6191
6191
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6192
6192
  * @param {PlanTrajectoryRequest} [planTrajectoryRequest]
@@ -6814,7 +6814,7 @@ const VirtualControllerApiFactory = function(configuration, basePath, axios$1) {
6814
6814
  */
6815
6815
  var VirtualControllerApi = class extends BaseAPI {
6816
6816
  /**
6817
- * Adds a coordinate system to the robot controller. **Important notes:** - When a new coordinate system is added/removed, the **virtual robot is restarted** in the background in order to apply the new configuration. - During this restart: - Robot visualization may temporarily disappear or appear outdated in the UI. - coordinate system changes are not immediately visible in visualizations. - All existing connections to the virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. - The API call itself does **not wait until the restart and re-synchronization are complete**. This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
6817
+ * Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
6818
6818
  * @summary Add Coordinate Systems
6819
6819
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6820
6820
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6828,7 +6828,7 @@ var VirtualControllerApi = class extends BaseAPI {
6828
6828
  return VirtualControllerApiFp(this.configuration).addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options).then((request) => request(this.axios, this.basePath));
6829
6829
  }
6830
6830
  /**
6831
- * Adds a new TCP (Tool Center Point) or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange\'s coordinate system. > **NOTE** > Ensure the TCP\'s position is within the robot\'s reach. Refer to the robot\'s documentation or data sheet for details like joint limits or reach. **Important notes:** - Adding or updating a TCP triggers a **virtual robot restart** to apply the new configuration. - During this restart: - The robot visualization in the UI may temporarily disappear. - The TCP visualization may not immediately appear, or may look outdated during the first test/rerun. - All active connections to the virtual robot are closed and then re-established. This creates a delay before the TCP is available in both the UI and robot programs. - The API call itself does **not wait until the restart and synchronization are complete**. Even if the request succeeds, the new or updated TCP may not yet be visible in the GUI or available for use.
6831
+ * Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange\'s coordinate system. > **NOTE** > > Ensure the TCP\'s position is within the robot\'s reach. Refer to the robot\'s documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
6832
6832
  * @summary Add TCP
6833
6833
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6834
6834
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6843,7 +6843,7 @@ var VirtualControllerApi = class extends BaseAPI {
6843
6843
  return VirtualControllerApiFp(this.configuration).addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options).then((request) => request(this.axios, this.basePath));
6844
6844
  }
6845
6845
  /**
6846
- * Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. **Important notes:** - When a new coordinate system is added/removed, the **virtual robot is restarted** in the background in order to apply the new configuration. - During this restart: - Robot visualization may temporarily disappear or appear outdated in the UI. - coordinate system changes are not immediately visible in visualizations. - All existing connections to the virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. - The API call itself does **not wait until the restart and re-synchronization are complete**. This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
6846
+ * Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
6847
6847
  * @summary Delete Coordinate System
6848
6848
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6849
6849
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6857,7 +6857,7 @@ var VirtualControllerApi = class extends BaseAPI {
6857
6857
  return VirtualControllerApiFp(this.configuration).deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options).then((request) => request(this.axios, this.basePath));
6858
6858
  }
6859
6859
  /**
6860
- * Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. **Important notes:** - Removing or updating a TCP triggers a **virtual robot restart** to apply the new configuration. - During this restart: - The robot visualization in the UI may temporarily disappear. - The TCP visualization may not immediately appear, or may look outdated during the first test/rerun. - All active connections to the virtual robot are closed and then re-established. This creates a delay before the TCP is available in both the UI and robot programs. - The API call itself does **not wait until the restart and synchronization are complete**. Even if the request succeeds, the new or updated TCP may not yet be visible in the GUI or available for use.
6860
+ * Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
6861
6861
  * @summary Remove TCP
6862
6862
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6863
6863
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6871,7 +6871,7 @@ var VirtualControllerApi = class extends BaseAPI {
6871
6871
  return VirtualControllerApiFp(this.configuration).deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options).then((request) => request(this.axios, this.basePath));
6872
6872
  }
6873
6873
  /**
6874
- * Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state regardless of the controller type. There the Emergency Stop state is visible as the `safety_state`. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
6874
+ * Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
6875
6875
  * @summary Get Emergency Stop State
6876
6876
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6877
6877
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6908,7 +6908,7 @@ var VirtualControllerApi = class extends BaseAPI {
6908
6908
  return VirtualControllerApiFp(this.configuration).getMotionGroups(cell, controller, options).then((request) => request(this.axios, this.basePath));
6909
6909
  }
6910
6910
  /**
6911
- * Requests the Operation Mode of the virtual robot controller. To get the Operation Mode regardless of the controller type use [getCurrentMotionGroupState](getCurrentMotionGroupState). **Note:** The Operating Mode can only change be changed via API when using virtual robot controllers.
6911
+ * Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
6912
6912
  * @summary Get Operation Mode
6913
6913
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6914
6914
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6920,7 +6920,7 @@ var VirtualControllerApi = class extends BaseAPI {
6920
6920
  return VirtualControllerApiFp(this.configuration).getOperationMode(cell, controller, options).then((request) => request(this.axios, this.basePath));
6921
6921
  }
6922
6922
  /**
6923
- * Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
6923
+ * Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
6924
6924
  * @summary Get Mounting
6925
6925
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6926
6926
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6945,7 +6945,7 @@ var VirtualControllerApi = class extends BaseAPI {
6945
6945
  return VirtualControllerApiFp(this.configuration).listVirtualControllerCoordinateSystems(cell, controller, options).then((request) => request(this.axios, this.basePath));
6946
6946
  }
6947
6947
  /**
6948
- * Lists TCPs of the motion group. An empty TCP list is valid, for example for external axes.
6948
+ * Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
6949
6949
  * @summary List TCPs
6950
6950
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6951
6951
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6958,7 +6958,7 @@ var VirtualControllerApi = class extends BaseAPI {
6958
6958
  return VirtualControllerApiFp(this.configuration).listVirtualControllerTcps(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));
6959
6959
  }
6960
6960
  /**
6961
- * Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state regardless of the controller type. There the Emergency Stop state is visible as the `safety_state`. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
6961
+ * Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
6962
6962
  * @summary Push or Release Emergency Stop
6963
6963
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6964
6964
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6971,7 +6971,7 @@ var VirtualControllerApi = class extends BaseAPI {
6971
6971
  return VirtualControllerApiFp(this.configuration).setEmergencyStop(cell, controller, active, options).then((request) => request(this.axios, this.basePath));
6972
6972
  }
6973
6973
  /**
6974
- * Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. We recommend to only use the endpoint when the motion group is in monitor mode. In case the motion group is controlled, currently jogging or planning motions, the values are overridden by the controller or an error may occur.
6974
+ * Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
6975
6975
  * @summary Set Motion Group State
6976
6976
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6977
6977
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6985,7 +6985,7 @@ var VirtualControllerApi = class extends BaseAPI {
6985
6985
  return VirtualControllerApiFp(this.configuration).setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options).then((request) => request(this.axios, this.basePath));
6986
6986
  }
6987
6987
  /**
6988
- * Changes the Operation Mode of the virtual robot controller to the specified value. To get the Operation Mode regardless of the controller type use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The Operating Mode can only change be changed via API when using virtual robot controllers.
6988
+ * Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
6989
6989
  * @summary Set Operation Mode
6990
6990
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6991
6991
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6998,7 +6998,7 @@ var VirtualControllerApi = class extends BaseAPI {
6998
6998
  return VirtualControllerApiFp(this.configuration).setOperationMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));
6999
6999
  }
7000
7000
  /**
7001
- * Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system\'s origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. **Important notes:** - Changing the mounting configuration is treated as a setup change. - When the mounting is set to a new coordinate system, the **virtual robot restarts** in the background to apply the new configuration. - During this process: - Robot visualization may temporarily disappear or not reflect the new mounting immediately. - Motion group state and coordinate system alignment may not be instantly updated in the UI. - All connections to the virtual robot are closed and then re-established, which can cause a short delay before the system is ready again. - The API call itself does **not wait until the restart and synchronization are complete**. A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
7001
+ * Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system\'s origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
7002
7002
  * @summary Set Mounting
7003
7003
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7004
7004
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7198,7 +7198,7 @@ const VirtualControllerBehaviorApiFactory = function(configuration, basePath, ax
7198
7198
  */
7199
7199
  var VirtualControllerBehaviorApi = class extends BaseAPI {
7200
7200
  /**
7201
- * <!-- theme: danger --> > Websocket endpoint This stream sends the commanded state (joint positions, velocities, accelerations, torques) for each motion group of the virtual controller and sets the joint configuration. Moving motion groups on virtual controllers can be executed by using Trajectory Planning and Trajectory Execution. Trajectory Execution commands the desired joint configuration to each 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! > **NOTE** > > This stream provides *commanded* joint states, it **doesn\'t provide actual joint states**. When the virtual controller receives joint commands the joint configuration is immediately adapted to match the incoming joint configuration. > **CAUTION** > > Incoming joint configurations are not visualized and their velocity limits are not checked. 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 groups. 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.
7201
+ * <!-- theme: success --> > Websocket endpoint Sends the **commanded** state, e.g., joint positions, velocities, accelerations, torques, for each motion group of the virtual controller and sets the joint configuration. Use [planTrajectory](planTrajectory) and [executeTrajectory](executeTrajectory) to move motion groups on virtual controllers. Learn more about the [movement behavior of virtual controllers in comparison to physical controllers](executeTrajectory#movement-behavior). > **NOTE** > > Incoming joint configurations are not visualized and their velocity limits are not checked. #### Use cases 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 groups.\\ 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.
7202
7202
  * @summary Stream Joint Configuration
7203
7203
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7204
7204
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7223,7 +7223,7 @@ var VirtualControllerBehaviorApi = class extends BaseAPI {
7223
7223
  return VirtualControllerBehaviorApiFp(this.configuration).getCycleTime(cell, controller, options).then((request) => request(this.axios, this.basePath));
7224
7224
  }
7225
7225
  /**
7226
- * Get the current virtual controller behavior - please see the setter [setVirtualControllerBehavior](setVirtualControllerBehavior) and the enum for details.
7226
+ * Get the current virtual controller behavior. See [setVirtualControllerBehavior](setVirtualControllerBehavior) and the body for details.
7227
7227
  * @summary Get Behavior
7228
7228
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7229
7229
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7235,7 +7235,7 @@ var VirtualControllerBehaviorApi = class extends BaseAPI {
7235
7235
  return VirtualControllerBehaviorApiFp(this.configuration).getVirtualControllerBehavior(cell, controller, options).then((request) => request(this.axios, this.basePath));
7236
7236
  }
7237
7237
  /**
7238
- * Set virtual controller behavior.
7238
+ * Set virtual controller behavior. See query parameters for details.
7239
7239
  * @summary Set Behavior
7240
7240
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7241
7241
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7415,7 +7415,7 @@ var VirtualControllerInputsOutputsApi = class extends BaseAPI {
7415
7415
  return VirtualControllerInputsOutputsApiFp(this.configuration).listIOs(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));
7416
7416
  }
7417
7417
  /**
7418
- * Lists the input/output descriptions of the virtual robot controller. The input/output descriptions contain information like name, type and unit. Available inputs/outputs are defined by the virtual robot controller. Each input/output has a unique identifier. If no identifiers are specified in the request, all available inputs/outputs are retrieved by this endpoint. Exception: When a filter (e.g., direction, value_type, group) is applied, only matching inputs/outputs are returned.
7418
+ * Lists the input/output descriptions of the virtual robot controller. The input/output descriptions contain information like name, type and unit.\\ Available inputs/outputs are defined by the virtual robot controller.\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned.
7419
7419
  * @summary List Descriptions
7420
7420
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7421
7421
  * @param {string} controller Unique identifier to address a controller in the cell.