@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.js CHANGED
@@ -129,7 +129,7 @@ const createRequestFunction = function(axiosArgs, globalAxios$1, BASE_PATH$1, co
129
129
  //#region v2/api.ts
130
130
  const AbbControllerKindEnum = { AbbController: "AbbController" };
131
131
  /**
132
- * ## 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).
132
+ * ## 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).
133
133
  * @export
134
134
  * @enum {string}
135
135
  */
@@ -340,7 +340,7 @@ const PlaneShapeTypeEnum = { Plane: "plane" };
340
340
  const PlaybackSpeedRequestMessageTypeEnum = { PlaybackSpeedRequest: "PlaybackSpeedRequest" };
341
341
  const PlaybackSpeedResponseKindEnum = { PlaybackSpeedReceived: "PLAYBACK_SPEED_RECEIVED" };
342
342
  /**
343
- * 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.
343
+ * 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.
344
344
  * @export
345
345
  * @enum {string}
346
346
  */
@@ -900,7 +900,7 @@ const ApplicationApiFactory = function(configuration, basePath, axios) {
900
900
  */
901
901
  var ApplicationApi = class extends BaseAPI {
902
902
  /**
903
- * 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.
903
+ * 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.
904
904
  * @summary Add Application
905
905
  * @param {string} cell Unique identifier addressing a cell in all API calls.
906
906
  * @param {App} app
@@ -938,7 +938,7 @@ var ApplicationApi = class extends BaseAPI {
938
938
  return ApplicationApiFp(this.configuration).deleteApp(cell, app, completionTimeout, options).then((request) => request(this.axios, this.basePath));
939
939
  }
940
940
  /**
941
- * 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.
941
+ * 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).
942
942
  * @summary Configuration
943
943
  * @param {string} cell Unique identifier addressing a cell in all API calls.
944
944
  * @param {string} app
@@ -950,7 +950,7 @@ var ApplicationApi = class extends BaseAPI {
950
950
  return ApplicationApiFp(this.configuration).getApp(cell, app, options).then((request) => request(this.axios, this.basePath));
951
951
  }
952
952
  /**
953
- * 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.
953
+ * 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.
954
954
  * @summary List Applications
955
955
  * @param {string} cell Unique identifier addressing a cell in all API calls.
956
956
  * @param {*} [options] Override http request option.
@@ -1509,7 +1509,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1509
1509
  return BUSInputsOutputsApiFp(this.configuration).addBusIOService(cell, busIOType, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1510
1510
  }
1511
1511
  /**
1512
- * 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).
1512
+ * 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).
1513
1513
  * @summary Add PROFINET Input/Output
1514
1514
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1515
1515
  * @param {string} io Unique identifier to address an Input/Output in the cell.
@@ -1534,7 +1534,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1534
1534
  return BUSInputsOutputsApiFp(this.configuration).clearBusIOService(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1535
1535
  }
1536
1536
  /**
1537
- * Removes an input/output variable configuration from the PROFINET device, e.g. NOVA\'s PROFINET service.
1537
+ * Removes an input/output variable configuration from the PROFINET device, e.g., NOVA\'s PROFINET service.
1538
1538
  * @summary Remove PROFINET Input/Ouptut
1539
1539
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1540
1540
  * @param {string} io Unique identifier to address an Input/Output in the cell.
@@ -1591,7 +1591,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1591
1591
  return BUSInputsOutputsApiFp(this.configuration).getProfinetDescription(cell, options).then((request) => request(this.axios, this.basePath));
1592
1592
  }
1593
1593
  /**
1594
- * 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.
1594
+ * 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.
1595
1595
  * @summary PROFINET Inputs/Outputs to File
1596
1596
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1597
1597
  * @param {number} [inputOffset]
@@ -1604,7 +1604,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1604
1604
  return BUSInputsOutputsApiFp(this.configuration).getProfinetIOsFromFile(cell, inputOffset, outputOffset, options).then((request) => request(this.axios, this.basePath));
1605
1605
  }
1606
1606
  /**
1607
- * 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.
1607
+ * 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.
1608
1608
  * @summary List Descriptions
1609
1609
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1610
1610
  * @param {*} [options] Override http request option.
@@ -1615,7 +1615,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1615
1615
  return BUSInputsOutputsApiFp(this.configuration).listBusIODescriptions(cell, options).then((request) => request(this.axios, this.basePath));
1616
1616
  }
1617
1617
  /**
1618
- * 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.
1618
+ * 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.
1619
1619
  * @summary List PROFINET Input/Output Configuration
1620
1620
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1621
1621
  * @param {*} [options] Override http request option.
@@ -1638,7 +1638,7 @@ var BUSInputsOutputsApi = class extends BaseAPI {
1638
1638
  return BUSInputsOutputsApiFp(this.configuration).setBusIOValues(cell, iOValue, options).then((request) => request(this.axios, this.basePath));
1639
1639
  }
1640
1640
  /**
1641
- * 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.
1641
+ * 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.
1642
1642
  * @summary Set PROFINET Inputs/Outputs from File
1643
1643
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1644
1644
  * @param {ProfinetInputOutputConfig} profinetInputOutputConfig
@@ -1955,7 +1955,7 @@ var CellApi = class extends BaseAPI {
1955
1955
  return CellApiFp(this.configuration).deleteCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1956
1956
  }
1957
1957
  /**
1958
- * 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.
1958
+ * 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.
1959
1959
  * @summary Add Cell
1960
1960
  * @param {Cell} cell
1961
1961
  * @param {number} [completionTimeout]
@@ -1967,7 +1967,7 @@ var CellApi = class extends BaseAPI {
1967
1967
  return CellApiFp(this.configuration).deployCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
1968
1968
  }
1969
1969
  /**
1970
- * 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.
1970
+ * List all cell resources.
1971
1971
  * @summary Configuration
1972
1972
  * @param {string} cell Unique identifier addressing a cell in all API calls.
1973
1973
  * @param {*} [options] Override http request option.
@@ -2591,7 +2591,7 @@ const ControllerApiFactory = function(configuration, basePath, axios) {
2591
2591
  */
2592
2592
  var ControllerApi = class extends BaseAPI {
2593
2593
  /**
2594
- * Add a robot controller to the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2594
+ * Add a robot controller to the cell.
2595
2595
  * @summary Add Robot Controller
2596
2596
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2597
2597
  * @param {RobotController} robotController
@@ -2604,7 +2604,7 @@ var ControllerApi = class extends BaseAPI {
2604
2604
  return ControllerApiFp(this.configuration).addRobotController(cell, robotController, completionTimeout, options).then((request) => request(this.axios, this.basePath));
2605
2605
  }
2606
2606
  /**
2607
- * 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.
2607
+ * Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with [addRobotController](addRobotController).
2608
2608
  * @summary Clear Robot Controllers
2609
2609
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2610
2610
  * @param {number} [completionTimeout]
@@ -2616,7 +2616,7 @@ var ControllerApi = class extends BaseAPI {
2616
2616
  return ControllerApiFp(this.configuration).clearRobotControllers(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));
2617
2617
  }
2618
2618
  /**
2619
- * Delete a robot controller from the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
2619
+ * Delete a robot controller from the cell.
2620
2620
  * @summary Delete Robot Controller
2621
2621
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2622
2622
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2641,7 +2641,7 @@ var ControllerApi = class extends BaseAPI {
2641
2641
  return ControllerApiFp(this.configuration).getControllerDescription(cell, controller, options).then((request) => request(this.axios, this.basePath));
2642
2642
  }
2643
2643
  /**
2644
- * 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.
2644
+ * 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.
2645
2645
  * @summary Coordinate System
2646
2646
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2647
2647
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2679,7 +2679,7 @@ var ControllerApi = class extends BaseAPI {
2679
2679
  return ControllerApiFp(this.configuration).getRobotController(cell, controller, options).then((request) => request(this.axios, this.basePath));
2680
2680
  }
2681
2681
  /**
2682
- * 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.
2682
+ * 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.
2683
2683
  * @summary Virtual Controller Configuration
2684
2684
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2685
2685
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2691,7 +2691,7 @@ var ControllerApi = class extends BaseAPI {
2691
2691
  return ControllerApiFp(this.configuration).getVirtualControllerConfiguration(cell, controller, options).then((request) => request(this.axios, this.basePath));
2692
2692
  }
2693
2693
  /**
2694
- * 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.
2694
+ * 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.
2695
2695
  * @summary List Coordinate Systems
2696
2696
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2697
2697
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2715,7 +2715,7 @@ var ControllerApi = class extends BaseAPI {
2715
2715
  return ControllerApiFp(this.configuration).listRobotControllers(cell, options).then((request) => request(this.axios, this.basePath));
2716
2716
  }
2717
2717
  /**
2718
- * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state \'normal\' or \'reduced\'. If the robot controller is in `manual` operating mode, you have manually confirm the control usage activation on the robot control panel. This manual confirmation can\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > `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.
2718
+ * Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network, monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state `normal` or `reduced`. If the robot controller is in `manual` operating mode, you have 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.
2719
2719
  * @summary Set Default Mode
2720
2720
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2721
2721
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2728,7 +2728,7 @@ var ControllerApi = class extends BaseAPI {
2728
2728
  return ControllerApiFp(this.configuration).setDefaultMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));
2729
2729
  }
2730
2730
  /**
2731
- * <!-- theme: danger --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\'s complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (listController)[listController] endpoint to check if the robot controller supports free drive mode.
2731
+ * <!-- 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.
2732
2732
  * @summary Stream Free Drive
2733
2733
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2734
2734
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2741,7 +2741,7 @@ var ControllerApi = class extends BaseAPI {
2741
2741
  return ControllerApiFp(this.configuration).streamFreeDrive(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));
2742
2742
  }
2743
2743
  /**
2744
- * <!-- 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.
2744
+ * <!-- 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.
2745
2745
  * @summary Stream State
2746
2746
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2747
2747
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -2755,7 +2755,7 @@ var ControllerApi = class extends BaseAPI {
2755
2755
  return ControllerApiFp(this.configuration).streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(this.axios, this.basePath));
2756
2756
  }
2757
2757
  /**
2758
- * 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.
2758
+ * Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller.
2759
2759
  * @summary Update Robot Controller
2760
2760
  * @param {string} cell Unique identifier addressing a cell in all API calls.
2761
2761
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3000,7 +3000,7 @@ const ControllerInputsOutputsApiFactory = function(configuration, basePath, axio
3000
3000
  */
3001
3001
  var ControllerInputsOutputsApi = class extends BaseAPI {
3002
3002
  /**
3003
- * 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.
3003
+ * 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.
3004
3004
  * @summary List Descriptions
3005
3005
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3006
3006
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3029,7 +3029,7 @@ var ControllerInputsOutputsApi = class extends BaseAPI {
3029
3029
  return ControllerInputsOutputsApiFp(this.configuration).listIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));
3030
3030
  }
3031
3031
  /**
3032
- * 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.
3032
+ * 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.
3033
3033
  * @summary Set Output Values
3034
3034
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3035
3035
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3042,7 +3042,7 @@ var ControllerInputsOutputsApi = class extends BaseAPI {
3042
3042
  return ControllerInputsOutputsApiFp(this.configuration).setOutputValues(cell, controller, iOValue, options).then((request) => request(this.axios, this.basePath));
3043
3043
  }
3044
3044
  /**
3045
- * <!-- 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.
3045
+ * <!-- 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.
3046
3046
  * @summary Stream Input/Output Values
3047
3047
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3048
3048
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3055,7 +3055,7 @@ var ControllerInputsOutputsApi = class extends BaseAPI {
3055
3055
  return ControllerInputsOutputsApiFp(this.configuration).streamIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));
3056
3056
  }
3057
3057
  /**
3058
- * 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.
3058
+ * 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 ```
3059
3059
  * @summary Wait For
3060
3060
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3061
3061
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3136,7 +3136,7 @@ const JoggingApiFactory = function(configuration, basePath, axios) {
3136
3136
  */
3137
3137
  var JoggingApi = class extends BaseAPI {
3138
3138
  /**
3139
- * <!-- 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.
3139
+ * <!-- 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.
3140
3140
  * @summary Execute Jogging
3141
3141
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3142
3142
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3477,7 +3477,7 @@ var LicenseApi = class extends BaseAPI {
3477
3477
  return LicenseApiFp(this.configuration).deactivateLicense(options).then((request) => request(this.axios, this.basePath));
3478
3478
  }
3479
3479
  /**
3480
- * Get information on the license used with the Wandelbots NOVA instance, e.g. licensed product, expiration date, license status.
3480
+ * Get information on the license used with the Wandelbots NOVA instance, e.g., licensed product, expiration date, license status.
3481
3481
  * @summary Get license
3482
3482
  * @param {*} [options] Override http request option.
3483
3483
  * @throws {RequiredError}
@@ -3487,7 +3487,7 @@ var LicenseApi = class extends BaseAPI {
3487
3487
  return LicenseApiFp(this.configuration).getLicense(options).then((request) => request(this.axios, this.basePath));
3488
3488
  }
3489
3489
  /**
3490
- * 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.
3490
+ * 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.
3491
3491
  * @summary Get license status
3492
3492
  * @param {*} [options] Override http request option.
3493
3493
  * @throws {RequiredError}
@@ -3662,7 +3662,7 @@ var MotionGroupApi = class extends BaseAPI {
3662
3662
  return MotionGroupApiFp(this.configuration).getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));
3663
3663
  }
3664
3664
  /**
3665
- * 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.
3665
+ * 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.
3666
3666
  * @summary Description
3667
3667
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3668
3668
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3675,7 +3675,7 @@ var MotionGroupApi = class extends BaseAPI {
3675
3675
  return MotionGroupApiFp(this.configuration).getMotionGroupDescription(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));
3676
3676
  }
3677
3677
  /**
3678
- * <!-- theme: danger --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3678
+ * <!-- theme: success --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected.
3679
3679
  * @summary Stream State
3680
3680
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3681
3681
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -3800,7 +3800,7 @@ var MotionGroupModelsApi = class extends BaseAPI {
3800
3800
  * 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.
3801
3801
  * @summary Get Collision Model
3802
3802
  * @param {string} cell Unique identifier addressing a cell in all API calls.
3803
- * @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).
3803
+ * @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).
3804
3804
  * @param {*} [options] Override http request option.
3805
3805
  * @throws {RequiredError}
3806
3806
  * @memberof MotionGroupModelsApi
@@ -4641,7 +4641,7 @@ var StoreCollisionComponentsApi = class extends BaseAPI {
4641
4641
  return StoreCollisionComponentsApiFp(this.configuration).listStoredCollisionTools(cell, options).then((request) => request(this.axios, this.basePath));
4642
4642
  }
4643
4643
  /**
4644
- * Stores collider. If the collider does not exist, it will be created. If the collider exists, it will be updated.
4644
+ * Stores collider. - If the collider does not exist, it will be created. - If the collider exists, it will be updated.
4645
4645
  * @summary Store Collider
4646
4646
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4647
4647
  * @param {string} collider Unique identifier addressing a collider.
@@ -4654,7 +4654,7 @@ var StoreCollisionComponentsApi = class extends BaseAPI {
4654
4654
  return StoreCollisionComponentsApiFp(this.configuration).storeCollider(cell, collider, collider2, options).then((request) => request(this.axios, this.basePath));
4655
4655
  }
4656
4656
  /**
4657
- * Stores link chain. If the link chain does not exist, it will be created. If the link chain exists, it will be updated.
4657
+ * Stores link chain. - If the link chain does not exist, it will be created. - If the link chain exists, it will be updated.
4658
4658
  * @summary Store Link Chain
4659
4659
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4660
4660
  * @param {string} linkChain Unique identifier addressing a collision link chain.
@@ -4667,7 +4667,7 @@ var StoreCollisionComponentsApi = class extends BaseAPI {
4667
4667
  return StoreCollisionComponentsApiFp(this.configuration).storeCollisionLinkChain(cell, linkChain, collider, options).then((request) => request(this.axios, this.basePath));
4668
4668
  }
4669
4669
  /**
4670
- * Stores the tool. If the tool does not exist, it will be created. If the tool exists, it will be updated.
4670
+ * Stores the tool. - If the tool does not exist, it will be created. - If the tool exists, it will be updated.
4671
4671
  * @summary Store Tool
4672
4672
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4673
4673
  * @param {string} tool Unique identifier addressing a collision tool.
@@ -4899,7 +4899,7 @@ var StoreCollisionSetupsApi = class extends BaseAPI {
4899
4899
  return StoreCollisionSetupsApiFp(this.configuration).listStoredCollisionSetups(cell, options).then((request) => request(this.axios, this.basePath));
4900
4900
  }
4901
4901
  /**
4902
- * Stores collision setup. If the collision setup does not exist, it will be created. If the collision setup exists, it will be updated.
4902
+ * Stores collision setup. - If the collision setup does not exist, it will be created. - If the collision setup exists, it will be updated.
4903
4903
  * @summary Store Collision Setup
4904
4904
  * @param {string} cell Unique identifier addressing a cell in all API calls.
4905
4905
  * @param {string} setup Identifier of the collision setup
@@ -5194,7 +5194,7 @@ var StoreObjectApi = class extends BaseAPI {
5194
5194
  return StoreObjectApiFp(this.configuration).deleteObject(cell, key, options).then((request) => request(this.axios, this.basePath));
5195
5195
  }
5196
5196
  /**
5197
- * Get the object. This request returns the object and any metadata attached to it.
5197
+ * Returns content and metadata of a stored object.
5198
5198
  * @summary Get Object
5199
5199
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5200
5200
  * @param {string} key
@@ -5206,7 +5206,7 @@ var StoreObjectApi = class extends BaseAPI {
5206
5206
  return StoreObjectApiFp(this.configuration).getObject(cell, key, options).then((request) => request(this.axios, this.basePath));
5207
5207
  }
5208
5208
  /**
5209
- * Get object metadata. Objects can be large. Therefore this request only returns metadata without fetching the object\'s content.
5209
+ * Returns metadata. Object content is not returned.
5210
5210
  * @summary Get Object Metadata
5211
5211
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5212
5212
  * @param {string} key
@@ -5229,7 +5229,7 @@ var StoreObjectApi = class extends BaseAPI {
5229
5229
  return StoreObjectApiFp(this.configuration).listAllObjectKeys(cell, options).then((request) => request(this.axios, this.basePath));
5230
5230
  }
5231
5231
  /**
5232
- * 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.
5232
+ * 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.
5233
5233
  * @summary Store Object
5234
5234
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5235
5235
  * @param {string} key
@@ -5918,7 +5918,7 @@ const TrajectoryCachingApiFactory = function(configuration, basePath, axios) {
5918
5918
  */
5919
5919
  var TrajectoryCachingApi = class extends BaseAPI {
5920
5920
  /**
5921
- * <!-- 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.
5921
+ * 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.
5922
5922
  * @summary Add Trajectory
5923
5923
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5924
5924
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -5943,7 +5943,7 @@ var TrajectoryCachingApi = class extends BaseAPI {
5943
5943
  return TrajectoryCachingApiFp(this.configuration).clearTrajectories(cell, controller, options).then((request) => request(this.axios, this.basePath));
5944
5944
  }
5945
5945
  /**
5946
- * 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.
5946
+ * 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.
5947
5947
  * @summary Delete Trajectory
5948
5948
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5949
5949
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -5956,7 +5956,7 @@ var TrajectoryCachingApi = class extends BaseAPI {
5956
5956
  return TrajectoryCachingApiFp(this.configuration).deleteTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));
5957
5957
  }
5958
5958
  /**
5959
- * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
5959
+ * Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories.
5960
5960
  * @summary Get Trajectory
5961
5961
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5962
5962
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -5969,7 +5969,7 @@ var TrajectoryCachingApi = class extends BaseAPI {
5969
5969
  return TrajectoryCachingApiFp(this.configuration).getTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));
5970
5970
  }
5971
5971
  /**
5972
- * 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.
5972
+ * 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.
5973
5973
  * @summary List Trajectories
5974
5974
  * @param {string} cell Unique identifier addressing a cell in all API calls.
5975
5975
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6049,7 +6049,7 @@ const TrajectoryExecutionApiFactory = function(configuration, basePath, axios) {
6049
6049
  */
6050
6050
  var TrajectoryExecutionApi = class extends BaseAPI {
6051
6051
  /**
6052
- * <!-- 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.
6052
+ * <!-- 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.
6053
6053
  * @summary Execute Trajectory
6054
6054
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6055
6055
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6184,7 +6184,7 @@ var TrajectoryPlanningApi = class extends BaseAPI {
6184
6184
  return TrajectoryPlanningApiFp(this.configuration).planCollisionFree(cell, planCollisionFreeRequest, options).then((request) => request(this.axios, this.basePath));
6185
6185
  }
6186
6186
  /**
6187
- * 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.
6187
+ * 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.
6188
6188
  * @summary Plan Trajectory
6189
6189
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6190
6190
  * @param {PlanTrajectoryRequest} [planTrajectoryRequest]
@@ -6812,7 +6812,7 @@ const VirtualControllerApiFactory = function(configuration, basePath, axios) {
6812
6812
  */
6813
6813
  var VirtualControllerApi = class extends BaseAPI {
6814
6814
  /**
6815
- * 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.
6815
+ * 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.
6816
6816
  * @summary Add Coordinate Systems
6817
6817
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6818
6818
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6826,7 +6826,7 @@ var VirtualControllerApi = class extends BaseAPI {
6826
6826
  return VirtualControllerApiFp(this.configuration).addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options).then((request) => request(this.axios, this.basePath));
6827
6827
  }
6828
6828
  /**
6829
- * 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.
6829
+ * 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.
6830
6830
  * @summary Add TCP
6831
6831
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6832
6832
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6841,7 +6841,7 @@ var VirtualControllerApi = class extends BaseAPI {
6841
6841
  return VirtualControllerApiFp(this.configuration).addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options).then((request) => request(this.axios, this.basePath));
6842
6842
  }
6843
6843
  /**
6844
- * 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.
6844
+ * 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.
6845
6845
  * @summary Delete Coordinate System
6846
6846
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6847
6847
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6855,7 +6855,7 @@ var VirtualControllerApi = class extends BaseAPI {
6855
6855
  return VirtualControllerApiFp(this.configuration).deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options).then((request) => request(this.axios, this.basePath));
6856
6856
  }
6857
6857
  /**
6858
- * 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.
6858
+ * 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.
6859
6859
  * @summary Remove TCP
6860
6860
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6861
6861
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6869,7 +6869,7 @@ var VirtualControllerApi = class extends BaseAPI {
6869
6869
  return VirtualControllerApiFp(this.configuration).deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options).then((request) => request(this.axios, this.basePath));
6870
6870
  }
6871
6871
  /**
6872
- * 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.
6872
+ * 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.
6873
6873
  * @summary Get Emergency Stop State
6874
6874
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6875
6875
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6906,7 +6906,7 @@ var VirtualControllerApi = class extends BaseAPI {
6906
6906
  return VirtualControllerApiFp(this.configuration).getMotionGroups(cell, controller, options).then((request) => request(this.axios, this.basePath));
6907
6907
  }
6908
6908
  /**
6909
- * 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.
6909
+ * 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.
6910
6910
  * @summary Get Operation Mode
6911
6911
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6912
6912
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6918,7 +6918,7 @@ var VirtualControllerApi = class extends BaseAPI {
6918
6918
  return VirtualControllerApiFp(this.configuration).getOperationMode(cell, controller, options).then((request) => request(this.axios, this.basePath));
6919
6919
  }
6920
6920
  /**
6921
- * Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
6921
+ * Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
6922
6922
  * @summary Get Mounting
6923
6923
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6924
6924
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6943,7 +6943,7 @@ var VirtualControllerApi = class extends BaseAPI {
6943
6943
  return VirtualControllerApiFp(this.configuration).listVirtualControllerCoordinateSystems(cell, controller, options).then((request) => request(this.axios, this.basePath));
6944
6944
  }
6945
6945
  /**
6946
- * Lists TCPs of the motion group. An empty TCP list is valid, for example for external axes.
6946
+ * Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
6947
6947
  * @summary List TCPs
6948
6948
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6949
6949
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6956,7 +6956,7 @@ var VirtualControllerApi = class extends BaseAPI {
6956
6956
  return VirtualControllerApiFp(this.configuration).listVirtualControllerTcps(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));
6957
6957
  }
6958
6958
  /**
6959
- * 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.
6959
+ * 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.
6960
6960
  * @summary Push or Release Emergency Stop
6961
6961
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6962
6962
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6969,7 +6969,7 @@ var VirtualControllerApi = class extends BaseAPI {
6969
6969
  return VirtualControllerApiFp(this.configuration).setEmergencyStop(cell, controller, active, options).then((request) => request(this.axios, this.basePath));
6970
6970
  }
6971
6971
  /**
6972
- * 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.
6972
+ * 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.
6973
6973
  * @summary Set Motion Group State
6974
6974
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6975
6975
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6983,7 +6983,7 @@ var VirtualControllerApi = class extends BaseAPI {
6983
6983
  return VirtualControllerApiFp(this.configuration).setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options).then((request) => request(this.axios, this.basePath));
6984
6984
  }
6985
6985
  /**
6986
- * 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.
6986
+ * 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.
6987
6987
  * @summary Set Operation Mode
6988
6988
  * @param {string} cell Unique identifier addressing a cell in all API calls.
6989
6989
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -6996,7 +6996,7 @@ var VirtualControllerApi = class extends BaseAPI {
6996
6996
  return VirtualControllerApiFp(this.configuration).setOperationMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));
6997
6997
  }
6998
6998
  /**
6999
- * 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.
6999
+ * 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.
7000
7000
  * @summary Set Mounting
7001
7001
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7002
7002
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7196,7 +7196,7 @@ const VirtualControllerBehaviorApiFactory = function(configuration, basePath, ax
7196
7196
  */
7197
7197
  var VirtualControllerBehaviorApi = class extends BaseAPI {
7198
7198
  /**
7199
- * <!-- 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.
7199
+ * <!-- 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.
7200
7200
  * @summary Stream Joint Configuration
7201
7201
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7202
7202
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7221,7 +7221,7 @@ var VirtualControllerBehaviorApi = class extends BaseAPI {
7221
7221
  return VirtualControllerBehaviorApiFp(this.configuration).getCycleTime(cell, controller, options).then((request) => request(this.axios, this.basePath));
7222
7222
  }
7223
7223
  /**
7224
- * Get the current virtual controller behavior - please see the setter [setVirtualControllerBehavior](setVirtualControllerBehavior) and the enum for details.
7224
+ * Get the current virtual controller behavior. See [setVirtualControllerBehavior](setVirtualControllerBehavior) and the body for details.
7225
7225
  * @summary Get Behavior
7226
7226
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7227
7227
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7233,7 +7233,7 @@ var VirtualControllerBehaviorApi = class extends BaseAPI {
7233
7233
  return VirtualControllerBehaviorApiFp(this.configuration).getVirtualControllerBehavior(cell, controller, options).then((request) => request(this.axios, this.basePath));
7234
7234
  }
7235
7235
  /**
7236
- * Set virtual controller behavior.
7236
+ * Set virtual controller behavior. See query parameters for details.
7237
7237
  * @summary Set Behavior
7238
7238
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7239
7239
  * @param {string} controller Unique identifier to address a controller in the cell.
@@ -7413,7 +7413,7 @@ var VirtualControllerInputsOutputsApi = class extends BaseAPI {
7413
7413
  return VirtualControllerInputsOutputsApiFp(this.configuration).listIOs(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));
7414
7414
  }
7415
7415
  /**
7416
- * 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.
7416
+ * 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.
7417
7417
  * @summary List Descriptions
7418
7418
  * @param {string} cell Unique identifier addressing a cell in all API calls.
7419
7419
  * @param {string} controller Unique identifier to address a controller in the cell.