wandelbots-api-client 25.11.0.dev12__py3-none-any.whl → 26.1.0.dev50__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. wandelbots_api_client/__init__.py +1 -1
  2. wandelbots_api_client/api/motion_api.py +3 -3
  3. wandelbots_api_client/api_client.py +1 -1
  4. wandelbots_api_client/configuration.py +1 -1
  5. wandelbots_api_client/v2/__init__.py +1 -1
  6. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +579 -0
  7. wandelbots_api_client/v2/api/jogging_api.py +1 -1
  8. wandelbots_api_client/v2/api/motion_group_models_api.py +530 -2
  9. wandelbots_api_client/v2/api/program_api.py +12 -12
  10. wandelbots_api_client/v2/api/trajectory_execution_api.py +1 -1
  11. wandelbots_api_client/v2/api_client.py +1 -1
  12. wandelbots_api_client/v2/configuration.py +1 -1
  13. wandelbots_api_client/v2/models/__init__.py +2 -0
  14. wandelbots_api_client/v2/models/blending_auto.py +1 -1
  15. wandelbots_api_client/v2/models/blending_position.py +15 -1
  16. wandelbots_api_client/v2/models/blending_space.py +37 -0
  17. wandelbots_api_client/v2/models/motion_group_description.py +4 -2
  18. wandelbots_api_client/v2_pydantic/__init__.py +1 -1
  19. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +585 -0
  20. wandelbots_api_client/v2_pydantic/api/jogging_api.py +1 -1
  21. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +536 -2
  22. wandelbots_api_client/v2_pydantic/api/program_api.py +12 -12
  23. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +1 -1
  24. wandelbots_api_client/v2_pydantic/api_client.py +1 -1
  25. wandelbots_api_client/v2_pydantic/configuration.py +1 -1
  26. wandelbots_api_client/v2_pydantic/models.py +401 -374
  27. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/METADATA +2 -2
  28. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/RECORD +31 -30
  29. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/WHEEL +0 -0
  30. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/licenses/LICENSE +0 -0
  31. {wandelbots_api_client-25.11.0.dev12.dist-info → wandelbots_api_client-26.1.0.dev50.dist-info}/top_level.txt +0 -0
@@ -47,7 +47,7 @@ class TrajectoryExecutionApi:
47
47
  async def execute_trajectory(self, cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")], controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")], client_request_generator: Callable[[AsyncGenerator[ExecuteTrajectoryResponse, None]], AsyncGenerator[ExecuteTrajectoryRequest, None]]) -> None: # noqa: E501
48
48
  """Execute Trajectory # noqa: E501
49
49
 
50
- <!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group's control mode is not claimed by any other endpoint. - The motion group's joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time 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. # noqa: E501
50
+ <!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group's control mode is not claimed by any other endpoint. - The motion group's joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time. Pausing the current movement enables you to send another `InitializeMovementRequest` to execute another trajectory on the same connection. #### 2. Send `StartMovementRequest` to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send `PauseMovementRequest` before the movement has reached its end location. - Change the movement's velocity with `PlaybackSpeedRequest` after initializing the movement with `InitializeMovementRequest`. ### Responses To monitor the state of the movement, listen to the [state stream](streamMotionGroupState). The state is published via nats as well. Field `execute` in the `MotionGroupState` indicates whether a movement is ongoing and carries execution details. Each request has a corresponding acknowledgment response. They signal success or failure of the request. Especially for `PauseMovementResponse`, it does not signal the end of the movement. Additionally, `MovementError` messages can be sent in case of unexpected errors during the execution, e.g., controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending `PauseMovementRequest` and `StartMovementRequest`. - Send `PlaybackSpeedRequest` before `StartMovementRequest` to reduce the velocity of the movement before it starts. - Send `PlaybackSpeedRequest` repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send `PlaybackSpeedRequest` with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending `StartMovementRequest` after the movement has finished. # noqa: E501
51
51
  :param client_request_generator: An AsyncGenerator that yields request of type ExecuteTrajectoryRequest and takes an AsyncGenerator of ExecuteTrajectoryResponse as an input argument (required)
52
52
  :info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[ExecuteTrajectoryResponse, None])
53
53
  :type AsyncGenerator[ExecuteTrajectoryRequest, None]
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'Wandelbots-Nova-API-Python-Client/25.11.0.dev12'
94
+ self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.1.0.dev50'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  async def __aenter__(self):
@@ -535,7 +535,7 @@ conf = wandelbots_api_client.v2_pydantic.Configuration(
535
535
  "OS: {env}\n"\
536
536
  "Python Version: {pyversion}\n"\
537
537
  "Version of the API: 2.1.0 dev\n"\
538
- "SDK Package Version: 25.11.0.dev12".\
538
+ "SDK Package Version: 26.1.0.dev50".\
539
539
  format(env=sys.platform, pyversion=sys.version)
540
540
 
541
541
  def get_host_settings(self) -> List[HostSetting]: