wandelbots-api-client 26.1.0.dev53__py3-none-any.whl → 26.1.0.dev63__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.
- wandelbots_api_client/__init__.py +1 -1
- wandelbots_api_client/api_client.py +1 -1
- wandelbots_api_client/configuration.py +1 -1
- wandelbots_api_client/v2/__init__.py +1 -1
- wandelbots_api_client/v2/api/jogging_api.py +1 -1
- wandelbots_api_client/v2/api/motion_group_models_api.py +265 -0
- wandelbots_api_client/v2/api_client.py +1 -1
- wandelbots_api_client/v2/configuration.py +1 -1
- wandelbots_api_client/v2/models/__init__.py +2 -0
- wandelbots_api_client/v2/models/initialize_jogging_request.py +2 -4
- wandelbots_api_client/v2/models/inverse_kinematics_request.py +6 -4
- wandelbots_api_client/v2/models/kinematic_model.py +110 -0
- wandelbots_api_client/v2_pydantic/__init__.py +1 -1
- wandelbots_api_client/v2_pydantic/api/jogging_api.py +1 -1
- wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +268 -0
- wandelbots_api_client/v2_pydantic/api_client.py +1 -1
- wandelbots_api_client/v2_pydantic/configuration.py +1 -1
- wandelbots_api_client/v2_pydantic/models.py +51 -36
- {wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/METADATA +2 -2
- {wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/RECORD +23 -22
- {wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/WHEEL +0 -0
- {wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/licenses/LICENSE +0 -0
- {wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/top_level.txt +0 -0
|
@@ -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/26.1.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.1.0.dev63'
|
|
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.Configuration(
|
|
|
535
535
|
"OS: {env}\n"\
|
|
536
536
|
"Python Version: {pyversion}\n"\
|
|
537
537
|
"Version of the API: 1.2.0 dev\n"\
|
|
538
|
-
"SDK Package Version: 26.1.0.
|
|
538
|
+
"SDK Package Version: 26.1.0.dev63".\
|
|
539
539
|
format(env=sys.platform, pyversion=sys.version)
|
|
540
540
|
|
|
541
541
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -47,7 +47,7 @@ class JoggingApi:
|
|
|
47
47
|
async def execute_jogging(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[ExecuteJoggingResponse, None]], AsyncGenerator[ExecuteJoggingRequest, None]]) -> None: # noqa: E501
|
|
48
48
|
"""Execute Jogging # noqa: E501
|
|
49
49
|
|
|
50
|
-
<!-- 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. -
|
|
50
|
+
<!-- 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. - Claims the motion group for jogging. For robotic arms, TCP is required to ensure that limits, including TCP limits, are respected. #### 2. Send `JointVelocityRequest` or `TcpVelocityRequest` to start the jogging motion. - Commands can only be processed in the cycle rate of the controller - Sending commands faster will not increase the responsiveness of the jogging motion, it will lead to dropped commands - It is recommended to couple sending commands with the [state stream](streamMotionGroupState), which can be subscribed to via nats as well. #### 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 or `PauseJoggingRequest`. ### Responses - Each request is acknowledged with a corresponding response: - `InitializeJoggingResponse` after `InitializeJoggingRequest` - `JointVelocityResponse` after `JointVelocityRequest` - `TcpVelocityResponse` after `TcpVelocityRequest` - `PauseJoggingResponse` after `PauseJoggingRequest` The responses confirm that the requests were received. They do not signal that the operation was successful; check the [motion group state](streamMotionGroupState) for that. - `MovementErrorResponse` with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops. # noqa: E501
|
|
51
51
|
:param client_request_generator: An AsyncGenerator that yields request of type ExecuteJoggingRequest and takes an AsyncGenerator of ExecuteJoggingResponse as an input argument (required)
|
|
52
52
|
:info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[ExecuteJoggingResponse, None])
|
|
53
53
|
:type AsyncGenerator[ExecuteJoggingRequest, None]
|
|
@@ -26,6 +26,7 @@ from pydantic import Field, StrictBytes, StrictStr
|
|
|
26
26
|
from typing import Dict, List, Tuple, Union
|
|
27
27
|
from typing_extensions import Annotated
|
|
28
28
|
from wandelbots_api_client.v2.models.collider import Collider
|
|
29
|
+
from wandelbots_api_client.v2.models.kinematic_model import KinematicModel
|
|
29
30
|
|
|
30
31
|
from wandelbots_api_client.v2.api_client import ApiClient, RequestSerialized
|
|
31
32
|
from wandelbots_api_client.v2.api_response import ApiResponse
|
|
@@ -571,6 +572,270 @@ class MotionGroupModelsApi:
|
|
|
571
572
|
|
|
572
573
|
|
|
573
574
|
|
|
575
|
+
@validate_call
|
|
576
|
+
async def get_motion_group_kinematic_model(
|
|
577
|
+
self,
|
|
578
|
+
motion_group_model: Annotated[StrictStr, Field(description="Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). ")],
|
|
579
|
+
_request_timeout: Union[
|
|
580
|
+
None,
|
|
581
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
582
|
+
Tuple[
|
|
583
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
584
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
585
|
+
]
|
|
586
|
+
] = None,
|
|
587
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
588
|
+
_content_type: Optional[StrictStr] = None,
|
|
589
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
590
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
591
|
+
) -> KinematicModel:
|
|
592
|
+
"""Get Kinematics
|
|
593
|
+
|
|
594
|
+
Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models.
|
|
595
|
+
|
|
596
|
+
:param motion_group_model: Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). (required)
|
|
597
|
+
:type motion_group_model: str
|
|
598
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
599
|
+
number provided, it will be total request
|
|
600
|
+
timeout. It can also be a pair (tuple) of
|
|
601
|
+
(connection, read) timeouts.
|
|
602
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
603
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
604
|
+
request; this effectively ignores the
|
|
605
|
+
authentication in the spec for a single request.
|
|
606
|
+
:type _request_auth: dict, optional
|
|
607
|
+
:param _content_type: force content-type for the request.
|
|
608
|
+
:type _content_type: str, Optional
|
|
609
|
+
:param _headers: set to override the headers for a single
|
|
610
|
+
request; this effectively ignores the headers
|
|
611
|
+
in the spec for a single request.
|
|
612
|
+
:type _headers: dict, optional
|
|
613
|
+
:param _host_index: set to override the host_index for a single
|
|
614
|
+
request; this effectively ignores the host_index
|
|
615
|
+
in the spec for a single request.
|
|
616
|
+
:type _host_index: int, optional
|
|
617
|
+
:return: Returns the result object.
|
|
618
|
+
""" # noqa: E501
|
|
619
|
+
|
|
620
|
+
_param = self._get_motion_group_kinematic_model_serialize(
|
|
621
|
+
motion_group_model=motion_group_model,
|
|
622
|
+
_request_auth=_request_auth,
|
|
623
|
+
_content_type=_content_type,
|
|
624
|
+
_headers=_headers,
|
|
625
|
+
_host_index=_host_index
|
|
626
|
+
)
|
|
627
|
+
|
|
628
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
629
|
+
'200': "KinematicModel",
|
|
630
|
+
'404': None,
|
|
631
|
+
'500': None,
|
|
632
|
+
}
|
|
633
|
+
response_data = await self.api_client.call_api(
|
|
634
|
+
*_param,
|
|
635
|
+
_request_timeout=_request_timeout
|
|
636
|
+
)
|
|
637
|
+
await response_data.read()
|
|
638
|
+
return self.api_client.response_deserialize(
|
|
639
|
+
response_data=response_data,
|
|
640
|
+
response_types_map=_response_types_map,
|
|
641
|
+
).data
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
@validate_call
|
|
645
|
+
async def get_motion_group_kinematic_model_with_http_info(
|
|
646
|
+
self,
|
|
647
|
+
motion_group_model: Annotated[StrictStr, Field(description="Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). ")],
|
|
648
|
+
_request_timeout: Union[
|
|
649
|
+
None,
|
|
650
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
651
|
+
Tuple[
|
|
652
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
653
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
654
|
+
]
|
|
655
|
+
] = None,
|
|
656
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
657
|
+
_content_type: Optional[StrictStr] = None,
|
|
658
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
659
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
660
|
+
) -> ApiResponse[KinematicModel]:
|
|
661
|
+
"""Get Kinematics
|
|
662
|
+
|
|
663
|
+
Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models.
|
|
664
|
+
|
|
665
|
+
:param motion_group_model: Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). (required)
|
|
666
|
+
:type motion_group_model: str
|
|
667
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
668
|
+
number provided, it will be total request
|
|
669
|
+
timeout. It can also be a pair (tuple) of
|
|
670
|
+
(connection, read) timeouts.
|
|
671
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
672
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
673
|
+
request; this effectively ignores the
|
|
674
|
+
authentication in the spec for a single request.
|
|
675
|
+
:type _request_auth: dict, optional
|
|
676
|
+
:param _content_type: force content-type for the request.
|
|
677
|
+
:type _content_type: str, Optional
|
|
678
|
+
:param _headers: set to override the headers for a single
|
|
679
|
+
request; this effectively ignores the headers
|
|
680
|
+
in the spec for a single request.
|
|
681
|
+
:type _headers: dict, optional
|
|
682
|
+
:param _host_index: set to override the host_index for a single
|
|
683
|
+
request; this effectively ignores the host_index
|
|
684
|
+
in the spec for a single request.
|
|
685
|
+
:type _host_index: int, optional
|
|
686
|
+
:return: Returns the result object.
|
|
687
|
+
""" # noqa: E501
|
|
688
|
+
|
|
689
|
+
_param = self._get_motion_group_kinematic_model_serialize(
|
|
690
|
+
motion_group_model=motion_group_model,
|
|
691
|
+
_request_auth=_request_auth,
|
|
692
|
+
_content_type=_content_type,
|
|
693
|
+
_headers=_headers,
|
|
694
|
+
_host_index=_host_index
|
|
695
|
+
)
|
|
696
|
+
|
|
697
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
698
|
+
'200': "KinematicModel",
|
|
699
|
+
'404': None,
|
|
700
|
+
'500': None,
|
|
701
|
+
}
|
|
702
|
+
response_data = await self.api_client.call_api(
|
|
703
|
+
*_param,
|
|
704
|
+
_request_timeout=_request_timeout
|
|
705
|
+
)
|
|
706
|
+
await response_data.read()
|
|
707
|
+
return self.api_client.response_deserialize(
|
|
708
|
+
response_data=response_data,
|
|
709
|
+
response_types_map=_response_types_map,
|
|
710
|
+
)
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
@validate_call
|
|
714
|
+
async def get_motion_group_kinematic_model_without_preload_content(
|
|
715
|
+
self,
|
|
716
|
+
motion_group_model: Annotated[StrictStr, Field(description="Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). ")],
|
|
717
|
+
_request_timeout: Union[
|
|
718
|
+
None,
|
|
719
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
720
|
+
Tuple[
|
|
721
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
722
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
723
|
+
]
|
|
724
|
+
] = None,
|
|
725
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
726
|
+
_content_type: Optional[StrictStr] = None,
|
|
727
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
728
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
729
|
+
) -> RESTResponseType:
|
|
730
|
+
"""Get Kinematics
|
|
731
|
+
|
|
732
|
+
Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models.
|
|
733
|
+
|
|
734
|
+
:param motion_group_model: Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). (required)
|
|
735
|
+
:type motion_group_model: str
|
|
736
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
737
|
+
number provided, it will be total request
|
|
738
|
+
timeout. It can also be a pair (tuple) of
|
|
739
|
+
(connection, read) timeouts.
|
|
740
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
741
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
742
|
+
request; this effectively ignores the
|
|
743
|
+
authentication in the spec for a single request.
|
|
744
|
+
:type _request_auth: dict, optional
|
|
745
|
+
:param _content_type: force content-type for the request.
|
|
746
|
+
:type _content_type: str, Optional
|
|
747
|
+
:param _headers: set to override the headers for a single
|
|
748
|
+
request; this effectively ignores the headers
|
|
749
|
+
in the spec for a single request.
|
|
750
|
+
:type _headers: dict, optional
|
|
751
|
+
:param _host_index: set to override the host_index for a single
|
|
752
|
+
request; this effectively ignores the host_index
|
|
753
|
+
in the spec for a single request.
|
|
754
|
+
:type _host_index: int, optional
|
|
755
|
+
:return: Returns the result object.
|
|
756
|
+
""" # noqa: E501
|
|
757
|
+
|
|
758
|
+
_param = self._get_motion_group_kinematic_model_serialize(
|
|
759
|
+
motion_group_model=motion_group_model,
|
|
760
|
+
_request_auth=_request_auth,
|
|
761
|
+
_content_type=_content_type,
|
|
762
|
+
_headers=_headers,
|
|
763
|
+
_host_index=_host_index
|
|
764
|
+
)
|
|
765
|
+
|
|
766
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
767
|
+
'200': "KinematicModel",
|
|
768
|
+
'404': None,
|
|
769
|
+
'500': None,
|
|
770
|
+
}
|
|
771
|
+
response_data = await self.api_client.call_api(
|
|
772
|
+
*_param,
|
|
773
|
+
_request_timeout=_request_timeout
|
|
774
|
+
)
|
|
775
|
+
return response_data.response
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
def _get_motion_group_kinematic_model_serialize(
|
|
779
|
+
self,
|
|
780
|
+
motion_group_model,
|
|
781
|
+
_request_auth,
|
|
782
|
+
_content_type,
|
|
783
|
+
_headers,
|
|
784
|
+
_host_index,
|
|
785
|
+
) -> RequestSerialized:
|
|
786
|
+
|
|
787
|
+
_host = None
|
|
788
|
+
|
|
789
|
+
_collection_formats: Dict[str, str] = {
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
_path_params: Dict[str, str] = {}
|
|
793
|
+
_query_params: List[Tuple[str, str]] = []
|
|
794
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
795
|
+
_form_params: List[Tuple[str, str]] = []
|
|
796
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
797
|
+
_body_params: Optional[bytes] = None
|
|
798
|
+
|
|
799
|
+
# process the path parameters
|
|
800
|
+
if motion_group_model is not None:
|
|
801
|
+
_path_params['motion-group-model'] = motion_group_model
|
|
802
|
+
# process the query parameters
|
|
803
|
+
# process the header parameters
|
|
804
|
+
# process the form parameters
|
|
805
|
+
# process the body parameter
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
# set the HTTP header `Accept`
|
|
809
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
810
|
+
[
|
|
811
|
+
'application/json'
|
|
812
|
+
]
|
|
813
|
+
)
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
# authentication setting
|
|
817
|
+
_auth_settings: List[str] = [
|
|
818
|
+
'BasicAuth',
|
|
819
|
+
'BearerAuth'
|
|
820
|
+
]
|
|
821
|
+
|
|
822
|
+
return self.api_client.param_serialize(
|
|
823
|
+
method='GET',
|
|
824
|
+
resource_path='/motion-group-models/{motion-group-model}/kinematic',
|
|
825
|
+
path_params=_path_params,
|
|
826
|
+
query_params=_query_params,
|
|
827
|
+
header_params=_header_params,
|
|
828
|
+
body=_body_params,
|
|
829
|
+
post_params=_form_params,
|
|
830
|
+
files=_files,
|
|
831
|
+
auth_settings=_auth_settings,
|
|
832
|
+
collection_formats=_collection_formats,
|
|
833
|
+
_host=_host,
|
|
834
|
+
_request_auth=_request_auth
|
|
835
|
+
)
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
|
|
574
839
|
@validate_call
|
|
575
840
|
async def get_motion_group_models(
|
|
576
841
|
self,
|
|
@@ -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/26.1.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.1.0.dev63'
|
|
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.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: 26.1.0.
|
|
538
|
+
"SDK Package Version: 26.1.0.dev63".\
|
|
539
539
|
format(env=sys.platform, pyversion=sys.version)
|
|
540
540
|
|
|
541
541
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -135,6 +135,7 @@ from .joint_limits import JointLimits
|
|
|
135
135
|
from .joint_trajectory import JointTrajectory
|
|
136
136
|
from .joint_velocity_request import JointVelocityRequest
|
|
137
137
|
from .joint_velocity_response import JointVelocityResponse
|
|
138
|
+
from .kinematic_model import KinematicModel
|
|
138
139
|
from .kuka_controller import KukaController
|
|
139
140
|
from .kuka_controller_rsi_server import KukaControllerRsiServer
|
|
140
141
|
from .license import License
|
|
@@ -382,6 +383,7 @@ __all__ = [
|
|
|
382
383
|
"JointTrajectory",
|
|
383
384
|
"JointVelocityRequest",
|
|
384
385
|
"JointVelocityResponse",
|
|
386
|
+
"KinematicModel",
|
|
385
387
|
"KukaController",
|
|
386
388
|
"KukaControllerRsiServer",
|
|
387
389
|
"License",
|
|
@@ -29,8 +29,7 @@ class InitializeJoggingRequest(BaseModel):
|
|
|
29
29
|
message_type: str = "InitializeJoggingRequest"
|
|
30
30
|
motion_group: StrictStr = Field(description="Identifier of the motion group.")
|
|
31
31
|
tcp: Optional[StrictStr] = Field(default=None, description="Identifier of the tool. Required for robots (all limits, including TCP limits, are respected at all times regardless of the motion). Not required for external axes. ")
|
|
32
|
-
|
|
33
|
-
__properties: ClassVar[List[str]] = ["message_type", "motion_group", "tcp", "response_coordinate_system"]
|
|
32
|
+
__properties: ClassVar[List[str]] = ["message_type", "motion_group", "tcp"]
|
|
34
33
|
|
|
35
34
|
@field_validator('message_type')
|
|
36
35
|
def message_type_validate_enum(cls, value):
|
|
@@ -96,8 +95,7 @@ class InitializeJoggingRequest(BaseModel):
|
|
|
96
95
|
_obj = cls.model_validate({
|
|
97
96
|
"message_type": obj.get("message_type"),
|
|
98
97
|
"motion_group": obj.get("motion_group"),
|
|
99
|
-
"tcp": obj.get("tcp")
|
|
100
|
-
"response_coordinate_system": obj.get("response_coordinate_system")
|
|
98
|
+
"tcp": obj.get("tcp")
|
|
101
99
|
})
|
|
102
100
|
return _obj
|
|
103
101
|
|
|
@@ -17,8 +17,8 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
22
|
from wandelbots_api_client.v2.models.collision_setup import CollisionSetup
|
|
23
23
|
from wandelbots_api_client.v2.models.limit_range import LimitRange
|
|
24
24
|
from wandelbots_api_client.v2.models.pose import Pose
|
|
@@ -35,7 +35,8 @@ class InverseKinematicsRequest(BaseModel):
|
|
|
35
35
|
mounting: Optional[Pose] = Field(default=None, description="Offset from the world frame to the motion group base.")
|
|
36
36
|
joint_position_limits: Optional[List[LimitRange]] = Field(default=None, description="Joint position limits in [rad], indexed starting from base. ")
|
|
37
37
|
collision_setups: Optional[Dict[str, CollisionSetup]] = Field(default=None, description="Collision layers to be respected by the motion planner when planning for a single motion group. Each setup represents one layer, e.g., the safety zones and shapes or a fine grained tool and workpiece model. Layers are checked individually along the trajectory and independently of other layers. To respect the safety zones of the controller and check for collision: 1. Fetch the safety zones, link and tool shapes from the controller. 2. Add the fetched zones, links and tools to a layer. 3. Create other layers from your own 3D data as needed. 4. Plan trajectory. 5. The response highlights the layer in which a collision was detected by key. ")
|
|
38
|
-
|
|
38
|
+
reference_joint_position: Optional[List[Union[StrictFloat, StrictInt]]] = None
|
|
39
|
+
__properties: ClassVar[List[str]] = ["motion_group_model", "tcp_poses", "tcp_offset", "mounting", "joint_position_limits", "collision_setups", "reference_joint_position"]
|
|
39
40
|
|
|
40
41
|
model_config = ConfigDict(
|
|
41
42
|
populate_by_name=True,
|
|
@@ -148,7 +149,8 @@ class InverseKinematicsRequest(BaseModel):
|
|
|
148
149
|
for _k, _v in obj["collision_setups"].items()
|
|
149
150
|
)
|
|
150
151
|
if obj.get("collision_setups") is not None
|
|
151
|
-
else None
|
|
152
|
+
else None,
|
|
153
|
+
"reference_joint_position": obj.get("reference_joint_position")
|
|
152
154
|
})
|
|
153
155
|
return _obj
|
|
154
156
|
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Wandelbots NOVA API
|
|
5
|
+
|
|
6
|
+
Interact with robots in an easy and intuitive way.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.1.0 dev
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from wandelbots_api_client.v2.models.dh_parameter import DHParameter
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class KinematicModel(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
Kinematics model described by Denavit-Hartenberg parameters.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
dh_parameters: Optional[List[DHParameter]] = None
|
|
31
|
+
inverse_solver: Optional[StrictStr] = Field(default=None, description="Optional name of the inverse kinematics solver.")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["dh_parameters", "inverse_solver"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
populate_by_name=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.model_dump(by_alias=True, exclude_none=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""
|
|
47
|
+
Returns the JSON representation of the model using alias
|
|
48
|
+
|
|
49
|
+
Do not use pydantic v2 .model_dump_json(by_alias=True, exclude_unset=True) here!
|
|
50
|
+
It is unable to resolve nested types generated by openapi-generator.
|
|
51
|
+
"""
|
|
52
|
+
return json.dumps(self.to_dict())
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
56
|
+
"""Create an instance of KinematicModel from a JSON string"""
|
|
57
|
+
return cls.from_dict(json.loads(json_str))
|
|
58
|
+
|
|
59
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
60
|
+
"""Return the dictionary representation of the model using alias.
|
|
61
|
+
|
|
62
|
+
This has the following differences from calling pydantic's
|
|
63
|
+
`self.model_dump(by_alias=True)`:
|
|
64
|
+
|
|
65
|
+
* `None` is only added to the output dict for nullable fields that
|
|
66
|
+
were set at model initialization. Other fields with value `None`
|
|
67
|
+
are ignored.
|
|
68
|
+
"""
|
|
69
|
+
excluded_fields: Set[str] = set([
|
|
70
|
+
])
|
|
71
|
+
|
|
72
|
+
_dict = self.model_dump(
|
|
73
|
+
by_alias=True,
|
|
74
|
+
exclude=excluded_fields,
|
|
75
|
+
exclude_none=True,
|
|
76
|
+
)
|
|
77
|
+
# override the default output from pydantic by calling `to_dict()` of each item in dh_parameters (list)
|
|
78
|
+
_items = []
|
|
79
|
+
if self.dh_parameters:
|
|
80
|
+
for _item in self.dh_parameters:
|
|
81
|
+
# >>> Modified from https://github.com/OpenAPITools/openapi-generator/blob/v7.6.0/modules/openapi-generator/src/main/resources/python/model_generic.mustache
|
|
82
|
+
# to not drop empty elements in lists
|
|
83
|
+
if _item is not None:
|
|
84
|
+
_items.append(_item.to_dict())
|
|
85
|
+
# <<< End modification
|
|
86
|
+
_dict['dh_parameters'] = _items
|
|
87
|
+
return _dict
|
|
88
|
+
|
|
89
|
+
@classmethod
|
|
90
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
91
|
+
"""Create an instance of KinematicModel from a dict"""
|
|
92
|
+
if obj is None:
|
|
93
|
+
return None
|
|
94
|
+
|
|
95
|
+
if not isinstance(obj, dict):
|
|
96
|
+
return cls.model_validate(obj)
|
|
97
|
+
|
|
98
|
+
_obj = cls.model_validate({
|
|
99
|
+
"dh_parameters": [
|
|
100
|
+
# >>> Modified from https://github.com/OpenAPITools/openapi-generator/blob/v7.6.0/modules/openapi-generator/src/main/resources/python/model_generic.mustache
|
|
101
|
+
# to allow dicts in lists
|
|
102
|
+
DHParameter.from_dict(_item) if hasattr(DHParameter, 'from_dict') else _item
|
|
103
|
+
# <<< End modification
|
|
104
|
+
for _item in obj["dh_parameters"]
|
|
105
|
+
] if obj.get("dh_parameters") is not None else None,
|
|
106
|
+
"inverse_solver": obj.get("inverse_solver")
|
|
107
|
+
})
|
|
108
|
+
return _obj
|
|
109
|
+
|
|
110
|
+
|
|
@@ -47,7 +47,7 @@ class JoggingApi:
|
|
|
47
47
|
async def execute_jogging(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[ExecuteJoggingResponse, None]], AsyncGenerator[ExecuteJoggingRequest, None]]) -> None: # noqa: E501
|
|
48
48
|
"""Execute Jogging # noqa: E501
|
|
49
49
|
|
|
50
|
-
<!-- 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. -
|
|
50
|
+
<!-- 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. - Claims the motion group for jogging. For robotic arms, TCP is required to ensure that limits, including TCP limits, are respected. #### 2. Send `JointVelocityRequest` or `TcpVelocityRequest` to start the jogging motion. - Commands can only be processed in the cycle rate of the controller - Sending commands faster will not increase the responsiveness of the jogging motion, it will lead to dropped commands - It is recommended to couple sending commands with the [state stream](streamMotionGroupState), which can be subscribed to via nats as well. #### 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 or `PauseJoggingRequest`. ### Responses - Each request is acknowledged with a corresponding response: - `InitializeJoggingResponse` after `InitializeJoggingRequest` - `JointVelocityResponse` after `JointVelocityRequest` - `TcpVelocityResponse` after `TcpVelocityRequest` - `PauseJoggingResponse` after `PauseJoggingRequest` The responses confirm that the requests were received. They do not signal that the operation was successful; check the [motion group state](streamMotionGroupState) for that. - `MovementErrorResponse` with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops. # noqa: E501
|
|
51
51
|
:param client_request_generator: An AsyncGenerator that yields request of type ExecuteJoggingRequest and takes an AsyncGenerator of ExecuteJoggingResponse as an input argument (required)
|
|
52
52
|
:info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[ExecuteJoggingResponse, None])
|
|
53
53
|
:type AsyncGenerator[ExecuteJoggingRequest, None]
|
|
@@ -26,6 +26,7 @@ from pydantic import Field, StrictBytes, StrictStr
|
|
|
26
26
|
from typing import Dict, List, Tuple, Union
|
|
27
27
|
from typing_extensions import Annotated
|
|
28
28
|
from wandelbots_api_client.v2_pydantic.models import Collider
|
|
29
|
+
from wandelbots_api_client.v2_pydantic.models import KinematicModel
|
|
29
30
|
|
|
30
31
|
from wandelbots_api_client.v2_pydantic.api_client import ApiClient, RequestSerialized
|
|
31
32
|
from wandelbots_api_client.v2_pydantic.api_response import ApiResponse
|
|
@@ -577,6 +578,273 @@ class MotionGroupModelsApi:
|
|
|
577
578
|
|
|
578
579
|
|
|
579
580
|
|
|
581
|
+
@validate_call
|
|
582
|
+
async def get_motion_group_kinematic_model(
|
|
583
|
+
self,
|
|
584
|
+
motion_group_model: Annotated[StrictStr, Field(description="Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). ")],
|
|
585
|
+
_request_timeout: Union[
|
|
586
|
+
None,
|
|
587
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
588
|
+
Tuple[
|
|
589
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
590
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
591
|
+
]
|
|
592
|
+
] = None,
|
|
593
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
594
|
+
_content_type: Optional[StrictStr] = None,
|
|
595
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
596
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
597
|
+
) -> KinematicModel:
|
|
598
|
+
"""Get Kinematics
|
|
599
|
+
|
|
600
|
+
Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models.
|
|
601
|
+
|
|
602
|
+
:param motion_group_model: Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). (required)
|
|
603
|
+
:type motion_group_model: str
|
|
604
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
605
|
+
number provided, it will be total request
|
|
606
|
+
timeout. It can also be a pair (tuple) of
|
|
607
|
+
(connection, read) timeouts.
|
|
608
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
609
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
610
|
+
request; this effectively ignores the
|
|
611
|
+
authentication in the spec for a single request.
|
|
612
|
+
:type _request_auth: dict, optional
|
|
613
|
+
:param _content_type: force content-type for the request.
|
|
614
|
+
:type _content_type: str, Optional
|
|
615
|
+
:param _headers: set to override the headers for a single
|
|
616
|
+
request; this effectively ignores the headers
|
|
617
|
+
in the spec for a single request.
|
|
618
|
+
:type _headers: dict, optional
|
|
619
|
+
:param _host_index: set to override the host_index for a single
|
|
620
|
+
request; this effectively ignores the host_index
|
|
621
|
+
in the spec for a single request.
|
|
622
|
+
:type _host_index: int, optional
|
|
623
|
+
:return: Returns the result object.
|
|
624
|
+
""" # noqa: E501
|
|
625
|
+
|
|
626
|
+
_param = self._get_motion_group_kinematic_model_serialize(
|
|
627
|
+
motion_group_model=motion_group_model,
|
|
628
|
+
_request_auth=_request_auth,
|
|
629
|
+
_content_type=_content_type,
|
|
630
|
+
_headers=_headers,
|
|
631
|
+
_host_index=_host_index
|
|
632
|
+
)
|
|
633
|
+
|
|
634
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
635
|
+
'200': "KinematicModel",
|
|
636
|
+
'404': None,
|
|
637
|
+
'500': None,
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
response_data = await self.api_client.call_api(
|
|
641
|
+
*_param,
|
|
642
|
+
_request_timeout=_request_timeout
|
|
643
|
+
)
|
|
644
|
+
await response_data.read()
|
|
645
|
+
return self.api_client.response_deserialize(
|
|
646
|
+
response_data=response_data,
|
|
647
|
+
response_types_map=_response_types_map,
|
|
648
|
+
).data
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
@validate_call
|
|
652
|
+
async def get_motion_group_kinematic_model_with_http_info(
|
|
653
|
+
self,
|
|
654
|
+
motion_group_model: Annotated[StrictStr, Field(description="Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). ")],
|
|
655
|
+
_request_timeout: Union[
|
|
656
|
+
None,
|
|
657
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
658
|
+
Tuple[
|
|
659
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
660
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
661
|
+
]
|
|
662
|
+
] = None,
|
|
663
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
664
|
+
_content_type: Optional[StrictStr] = None,
|
|
665
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
666
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
667
|
+
) -> ApiResponse[KinematicModel]:
|
|
668
|
+
"""Get Kinematics
|
|
669
|
+
|
|
670
|
+
Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models.
|
|
671
|
+
|
|
672
|
+
:param motion_group_model: Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). (required)
|
|
673
|
+
:type motion_group_model: str
|
|
674
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
675
|
+
number provided, it will be total request
|
|
676
|
+
timeout. It can also be a pair (tuple) of
|
|
677
|
+
(connection, read) timeouts.
|
|
678
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
679
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
680
|
+
request; this effectively ignores the
|
|
681
|
+
authentication in the spec for a single request.
|
|
682
|
+
:type _request_auth: dict, optional
|
|
683
|
+
:param _content_type: force content-type for the request.
|
|
684
|
+
:type _content_type: str, Optional
|
|
685
|
+
:param _headers: set to override the headers for a single
|
|
686
|
+
request; this effectively ignores the headers
|
|
687
|
+
in the spec for a single request.
|
|
688
|
+
:type _headers: dict, optional
|
|
689
|
+
:param _host_index: set to override the host_index for a single
|
|
690
|
+
request; this effectively ignores the host_index
|
|
691
|
+
in the spec for a single request.
|
|
692
|
+
:type _host_index: int, optional
|
|
693
|
+
:return: Returns the result object.
|
|
694
|
+
""" # noqa: E501
|
|
695
|
+
|
|
696
|
+
_param = self._get_motion_group_kinematic_model_serialize(
|
|
697
|
+
motion_group_model=motion_group_model,
|
|
698
|
+
_request_auth=_request_auth,
|
|
699
|
+
_content_type=_content_type,
|
|
700
|
+
_headers=_headers,
|
|
701
|
+
_host_index=_host_index
|
|
702
|
+
)
|
|
703
|
+
|
|
704
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
705
|
+
'200': "KinematicModel",
|
|
706
|
+
'404': None,
|
|
707
|
+
'500': None,
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
response_data = await self.api_client.call_api(
|
|
711
|
+
*_param,
|
|
712
|
+
_request_timeout=_request_timeout
|
|
713
|
+
)
|
|
714
|
+
await response_data.read()
|
|
715
|
+
return self.api_client.response_deserialize(
|
|
716
|
+
response_data=response_data,
|
|
717
|
+
response_types_map=_response_types_map,
|
|
718
|
+
)
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
@validate_call
|
|
722
|
+
async def get_motion_group_kinematic_model_without_preload_content(
|
|
723
|
+
self,
|
|
724
|
+
motion_group_model: Annotated[StrictStr, Field(description="Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). ")],
|
|
725
|
+
_request_timeout: Union[
|
|
726
|
+
None,
|
|
727
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
728
|
+
Tuple[
|
|
729
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
730
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
731
|
+
]
|
|
732
|
+
] = None,
|
|
733
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
734
|
+
_content_type: Optional[StrictStr] = None,
|
|
735
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
736
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
737
|
+
) -> RESTResponseType:
|
|
738
|
+
"""Get Kinematics
|
|
739
|
+
|
|
740
|
+
Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models.
|
|
741
|
+
|
|
742
|
+
:param motion_group_model: Unique identifier for the model of a motion group, e.g., `UniversalRobots_UR10e`. Get the `model` of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). (required)
|
|
743
|
+
:type motion_group_model: str
|
|
744
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
745
|
+
number provided, it will be total request
|
|
746
|
+
timeout. It can also be a pair (tuple) of
|
|
747
|
+
(connection, read) timeouts.
|
|
748
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
749
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
750
|
+
request; this effectively ignores the
|
|
751
|
+
authentication in the spec for a single request.
|
|
752
|
+
:type _request_auth: dict, optional
|
|
753
|
+
:param _content_type: force content-type for the request.
|
|
754
|
+
:type _content_type: str, Optional
|
|
755
|
+
:param _headers: set to override the headers for a single
|
|
756
|
+
request; this effectively ignores the headers
|
|
757
|
+
in the spec for a single request.
|
|
758
|
+
:type _headers: dict, optional
|
|
759
|
+
:param _host_index: set to override the host_index for a single
|
|
760
|
+
request; this effectively ignores the host_index
|
|
761
|
+
in the spec for a single request.
|
|
762
|
+
:type _host_index: int, optional
|
|
763
|
+
:return: Returns the result object.
|
|
764
|
+
""" # noqa: E501
|
|
765
|
+
|
|
766
|
+
_param = self._get_motion_group_kinematic_model_serialize(
|
|
767
|
+
motion_group_model=motion_group_model,
|
|
768
|
+
_request_auth=_request_auth,
|
|
769
|
+
_content_type=_content_type,
|
|
770
|
+
_headers=_headers,
|
|
771
|
+
_host_index=_host_index
|
|
772
|
+
)
|
|
773
|
+
|
|
774
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
775
|
+
'200': "KinematicModel",
|
|
776
|
+
'404': None,
|
|
777
|
+
'500': None,
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
response_data = await self.api_client.call_api(
|
|
781
|
+
*_param,
|
|
782
|
+
_request_timeout=_request_timeout
|
|
783
|
+
)
|
|
784
|
+
return response_data.response
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
def _get_motion_group_kinematic_model_serialize(
|
|
788
|
+
self,
|
|
789
|
+
motion_group_model,
|
|
790
|
+
_request_auth,
|
|
791
|
+
_content_type,
|
|
792
|
+
_headers,
|
|
793
|
+
_host_index,
|
|
794
|
+
) -> RequestSerialized:
|
|
795
|
+
|
|
796
|
+
_host = None
|
|
797
|
+
|
|
798
|
+
_collection_formats: Dict[str, str] = {
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
_path_params: Dict[str, str] = {}
|
|
802
|
+
_query_params: List[Tuple[str, str]] = []
|
|
803
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
804
|
+
_form_params: List[Tuple[str, str]] = []
|
|
805
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
806
|
+
_body_params: Optional[bytes] = None
|
|
807
|
+
|
|
808
|
+
# process the path parameters
|
|
809
|
+
if motion_group_model is not None:
|
|
810
|
+
_path_params['motion-group-model'] = motion_group_model
|
|
811
|
+
# process the query parameters
|
|
812
|
+
# process the header parameters
|
|
813
|
+
# process the form parameters
|
|
814
|
+
# process the body parameter
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
# set the HTTP header `Accept`
|
|
818
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
819
|
+
[
|
|
820
|
+
'application/json'
|
|
821
|
+
]
|
|
822
|
+
)
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
# authentication setting
|
|
826
|
+
_auth_settings: List[str] = [
|
|
827
|
+
'BasicAuth',
|
|
828
|
+
'BearerAuth'
|
|
829
|
+
]
|
|
830
|
+
|
|
831
|
+
return self.api_client.param_serialize(
|
|
832
|
+
method='GET',
|
|
833
|
+
resource_path='/motion-group-models/{motion-group-model}/kinematic',
|
|
834
|
+
path_params=_path_params,
|
|
835
|
+
query_params=_query_params,
|
|
836
|
+
header_params=_header_params,
|
|
837
|
+
body=_body_params,
|
|
838
|
+
post_params=_form_params,
|
|
839
|
+
files=_files,
|
|
840
|
+
auth_settings=_auth_settings,
|
|
841
|
+
collection_formats=_collection_formats,
|
|
842
|
+
_host=_host,
|
|
843
|
+
_request_auth=_request_auth
|
|
844
|
+
)
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
|
|
580
848
|
@validate_call
|
|
581
849
|
async def get_motion_group_models(
|
|
582
850
|
self,
|
|
@@ -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/26.1.0.
|
|
94
|
+
self.user_agent = 'Wandelbots-Nova-API-Python-Client/26.1.0.dev63'
|
|
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: 26.1.0.
|
|
538
|
+
"SDK Package Version: 26.1.0.dev63".\
|
|
539
539
|
format(env=sys.platform, pyversion=sys.version)
|
|
540
540
|
|
|
541
541
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: public.openapi.yaml
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-15T16:36:39+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -49,7 +49,7 @@ class NameList(RootModel):
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
class CellName(RootModel):
|
|
52
|
-
root: Annotated[str, Field(pattern='^[a-z][a-z0-9-]{0,30}[a-z0-9]$')]
|
|
52
|
+
root: Annotated[str, Field(pattern='^[a-z][a-z0-9-]{0,30}[a-z0-9]$')] = 'cell'
|
|
53
53
|
"""
|
|
54
54
|
A unique name for the cell used as an identifier for addressing the cell in all API calls.
|
|
55
55
|
It must be a valid k8s label name as defined by [RFC 1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names).
|
|
@@ -417,7 +417,7 @@ class Cell(BaseModel):
|
|
|
417
417
|
|
|
418
418
|
"""
|
|
419
419
|
|
|
420
|
-
name: CellName
|
|
420
|
+
name: Annotated[CellName, Field(default_factory=lambda: CellName('cell'))]
|
|
421
421
|
description: CellDescription | None = None
|
|
422
422
|
controllers: list[RobotController] | None = None
|
|
423
423
|
apps: list[App] | None = None
|
|
@@ -1226,6 +1226,45 @@ class LinkChain(RootModel):
|
|
|
1226
1226
|
return iter(self.root)
|
|
1227
1227
|
|
|
1228
1228
|
|
|
1229
|
+
class DHParameter(BaseModel):
|
|
1230
|
+
"""
|
|
1231
|
+
A single set of DH parameters.
|
|
1232
|
+
"""
|
|
1233
|
+
|
|
1234
|
+
alpha: float | None = None
|
|
1235
|
+
"""
|
|
1236
|
+
Angle about x-axis in [rad].
|
|
1237
|
+
"""
|
|
1238
|
+
theta: float | None = None
|
|
1239
|
+
"""
|
|
1240
|
+
Angle about z-axis in [rad].
|
|
1241
|
+
"""
|
|
1242
|
+
a: float | None = None
|
|
1243
|
+
"""
|
|
1244
|
+
Offset along x-axis in [mm].
|
|
1245
|
+
"""
|
|
1246
|
+
d: float | None = None
|
|
1247
|
+
"""
|
|
1248
|
+
Offset along z-axis in [mm].
|
|
1249
|
+
"""
|
|
1250
|
+
reverse_rotation_direction: bool | None = None
|
|
1251
|
+
"""
|
|
1252
|
+
True, if rotation direction of joint is reversed.
|
|
1253
|
+
"""
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
class KinematicModel(BaseModel):
|
|
1257
|
+
"""
|
|
1258
|
+
Kinematics model described by Denavit-Hartenberg parameters.
|
|
1259
|
+
"""
|
|
1260
|
+
|
|
1261
|
+
dh_parameters: list[DHParameter] | None = None
|
|
1262
|
+
inverse_solver: str | None = None
|
|
1263
|
+
"""
|
|
1264
|
+
Optional name of the inverse kinematics solver.
|
|
1265
|
+
"""
|
|
1266
|
+
|
|
1267
|
+
|
|
1229
1268
|
class ControllerDescription(BaseModel):
|
|
1230
1269
|
"""
|
|
1231
1270
|
The data type to describe a robot controller.
|
|
@@ -2255,33 +2294,6 @@ class Payload(BaseModel):
|
|
|
2255
2294
|
moment_of_inertia: Vector3d | None = None
|
|
2256
2295
|
|
|
2257
2296
|
|
|
2258
|
-
class DHParameter(BaseModel):
|
|
2259
|
-
"""
|
|
2260
|
-
A single set of DH parameters.
|
|
2261
|
-
"""
|
|
2262
|
-
|
|
2263
|
-
alpha: float | None = None
|
|
2264
|
-
"""
|
|
2265
|
-
Angle about x-axis in [rad].
|
|
2266
|
-
"""
|
|
2267
|
-
theta: float | None = None
|
|
2268
|
-
"""
|
|
2269
|
-
Angle about z-axis in [rad].
|
|
2270
|
-
"""
|
|
2271
|
-
a: float | None = None
|
|
2272
|
-
"""
|
|
2273
|
-
Offset along x-axis in [mm].
|
|
2274
|
-
"""
|
|
2275
|
-
d: float | None = None
|
|
2276
|
-
"""
|
|
2277
|
-
Offset along z-axis in [mm].
|
|
2278
|
-
"""
|
|
2279
|
-
reverse_rotation_direction: bool | None = None
|
|
2280
|
-
"""
|
|
2281
|
-
True, if rotation direction of joint is reversed.
|
|
2282
|
-
"""
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
2297
|
class MotionGroupDescription(BaseModel):
|
|
2286
2298
|
"""
|
|
2287
2299
|
The configuration of a motion-group used for motion planning.
|
|
@@ -3022,6 +3034,15 @@ class InverseKinematicsRequest(BaseModel):
|
|
|
3022
3034
|
"""
|
|
3023
3035
|
joint_position_limits: JointPositionLimits | None = None
|
|
3024
3036
|
collision_setups: CollisionSetups | None = None
|
|
3037
|
+
reference_joint_position: DoubleArray | None = None
|
|
3038
|
+
"""
|
|
3039
|
+
If present, all solutions are shifted to the same periodicity
|
|
3040
|
+
as the reference: Each individual joint angle is shifted
|
|
3041
|
+
by integer multiples of 2 pi (whole revolutions) until it's
|
|
3042
|
+
as close to the reference as possible. The solutions are sorted
|
|
3043
|
+
by ascending distance (L2 norm) from the reference.
|
|
3044
|
+
|
|
3045
|
+
"""
|
|
3025
3046
|
|
|
3026
3047
|
|
|
3027
3048
|
class InverseKinematicsResponse(BaseModel):
|
|
@@ -3561,12 +3582,6 @@ class InitializeJoggingRequest(BaseModel):
|
|
|
3561
3582
|
Identifier of the tool. Required for robots (all limits, including TCP limits, are respected at all times regardless of the motion). Not required for external axes.
|
|
3562
3583
|
|
|
3563
3584
|
"""
|
|
3564
|
-
response_coordinate_system: str | None = None
|
|
3565
|
-
"""
|
|
3566
|
-
Unique identifier addressing a coordinate system to which the responses are transformed.
|
|
3567
|
-
If not set, world coordinate system is used.
|
|
3568
|
-
|
|
3569
|
-
"""
|
|
3570
3585
|
|
|
3571
3586
|
|
|
3572
3587
|
class JointVelocityRequest(BaseModel):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wandelbots_api_client
|
|
3
|
-
Version: 26.1.0.
|
|
3
|
+
Version: 26.1.0.dev63
|
|
4
4
|
Summary: Wandelbots Python Client: Interact with robots in an easy and intuitive way.
|
|
5
5
|
Home-page:
|
|
6
6
|
Author: Copyright (c) 2025 Wandelbots GmbH
|
|
@@ -41,7 +41,7 @@ Dynamic: license-file
|
|
|
41
41
|
Interact with robots in an easy and intuitive way.
|
|
42
42
|
|
|
43
43
|
- Compatible API version: 1.2.0 dev (can be found at the home screen of your instance -> API)
|
|
44
|
-
- Package version: 26.1.0.
|
|
44
|
+
- Package version: 26.1.0.dev63
|
|
45
45
|
|
|
46
46
|
## Requirements.
|
|
47
47
|
Python >=3.11, Python < 4.0
|
{wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/RECORD
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
wandelbots_api_client/__init__.py,sha256=
|
|
2
|
-
wandelbots_api_client/api_client.py,sha256=
|
|
1
|
+
wandelbots_api_client/__init__.py,sha256=8IetRES0V4J1AjvXpVIPHyoj9P_uc-gRnDrRQfPEW8Y,1026
|
|
2
|
+
wandelbots_api_client/api_client.py,sha256=HToWASqeZtuxLHVH9HZowTqQClYJ4OLxZ4Vskjz-6qo,27916
|
|
3
3
|
wandelbots_api_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
4
4
|
wandelbots_api_client/authorization.py,sha256=DyGsVHmD-1D4C9rMEEtQLi5YvbxPxgt7MqKVlwQgC3o,9499
|
|
5
|
-
wandelbots_api_client/configuration.py,sha256=
|
|
5
|
+
wandelbots_api_client/configuration.py,sha256=U8tdnS_noej23rGxmhw-qRMNVLiArCbg_eXDaJsYJwM,18879
|
|
6
6
|
wandelbots_api_client/exceptions.py,sha256=vt8CfEEb6tv-SLne9AsjB68nYm6jfvl9T1fgq0Dp_2I,6432
|
|
7
7
|
wandelbots_api_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
wandelbots_api_client/rest.py,sha256=l217DMul4sTxbJ24bRKuRo9kllBUfIec52829IxTFfA,7260
|
|
@@ -327,10 +327,10 @@ wandelbots_api_client/models/virtual_controller.py,sha256=La9EZaZacWBB7IWFR-TKRn
|
|
|
327
327
|
wandelbots_api_client/models/virtual_controller_types.py,sha256=IIcNSonSxyah0DlHiiW_bSol1P5m5wSY5_DTvU2nj0w,6571
|
|
328
328
|
wandelbots_api_client/models/virtual_robot_configuration.py,sha256=hSE-ATghHP7T0--x1LGmKjO3afMkRAvb7W-qvhgAWlU,2958
|
|
329
329
|
wandelbots_api_client/models/yaskawa_controller.py,sha256=Qni-K_9wsekMuvwd1tjSGUYO6GXzcpqorNe6WceZAiU,3192
|
|
330
|
-
wandelbots_api_client/v2/__init__.py,sha256=
|
|
331
|
-
wandelbots_api_client/v2/api_client.py,sha256
|
|
330
|
+
wandelbots_api_client/v2/__init__.py,sha256=FVpsHaMNRANdIfa2KWJoTepO5N0JGFtGmWOH4E1FxVw,1026
|
|
331
|
+
wandelbots_api_client/v2/api_client.py,sha256=-1JsveN-qdT--Jw2a7x7yxLUYCtoggM7a2YmL2l10TU,27934
|
|
332
332
|
wandelbots_api_client/v2/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
333
|
-
wandelbots_api_client/v2/configuration.py,sha256=
|
|
333
|
+
wandelbots_api_client/v2/configuration.py,sha256=eFdO3NqGbE-3Zkz3BNAZM8JnTjc3O6zW5ISx3Q72lyA,18885
|
|
334
334
|
wandelbots_api_client/v2/exceptions.py,sha256=Ca5nkeVDg0VRjfjpyMekJd9c9OXUXfnd3aSOFDxRIZk,6432
|
|
335
335
|
wandelbots_api_client/v2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
336
336
|
wandelbots_api_client/v2/rest.py,sha256=2NwLYJ9HyXfGOM4vIz-AD_cL-BwZOzl5NvoHm7p73jk,7263
|
|
@@ -340,11 +340,11 @@ wandelbots_api_client/v2/api/bus_inputs_outputs_api.py,sha256=QxLWvgRJhtwJI2WuDb
|
|
|
340
340
|
wandelbots_api_client/v2/api/cell_api.py,sha256=Uiche9Es8LpOKhtL09EOIe6Qu1u7j0MgAUCaYgW7mac,76604
|
|
341
341
|
wandelbots_api_client/v2/api/controller_api.py,sha256=LlqkzCRpg-WSjwRJtn0PAh-4hOa8Vqod0sqbZHxxD5o,164265
|
|
342
342
|
wandelbots_api_client/v2/api/controller_inputs_outputs_api.py,sha256=nP-Nv8CaSluktUWR-dBH2Mwq9-k3E-8GuqnrAut2aoM,61855
|
|
343
|
-
wandelbots_api_client/v2/api/jogging_api.py,sha256=
|
|
343
|
+
wandelbots_api_client/v2/api/jogging_api.py,sha256=ua2mW7nAN-W8S2TG6jDBHMUPippiIPwm-daxF2i6kLA,7927
|
|
344
344
|
wandelbots_api_client/v2/api/kinematics_api.py,sha256=yp3xGJYs1N7sK4DP06iYZcClB-mmNBQhMF9N4LLAGqg,25405
|
|
345
345
|
wandelbots_api_client/v2/api/license_api.py,sha256=90kO8MKfCdRb4E4Z9sUMs413G4151LNLMapJNLzBXlE,40658
|
|
346
346
|
wandelbots_api_client/v2/api/motion_group_api.py,sha256=krnvzo5b-w5ai-0T4zZbUvWZAZCDlijDRaEUnTcr_ms,32792
|
|
347
|
-
wandelbots_api_client/v2/api/motion_group_models_api.py,sha256=
|
|
347
|
+
wandelbots_api_client/v2/api/motion_group_models_api.py,sha256=ZoC-pv5Po0xDxDsqnxDMqNeLvfjq61eoGeAeOAVbOVE,59230
|
|
348
348
|
wandelbots_api_client/v2/api/program_api.py,sha256=SxWfih0IxtgKl0GTAggQDqcV6Owzc2iOYVvgy1IPgCw,45939
|
|
349
349
|
wandelbots_api_client/v2/api/robot_configurations_api.py,sha256=n6vKKYO-lp9E1yQlIYsNMh__iNqmt_mWY2ENDXebvUY,10995
|
|
350
350
|
wandelbots_api_client/v2/api/store_collision_components_api.py,sha256=Nb8gg6E_DUiCqgVWBlJrMh6eAX7m2ShZ2LwvAUww60A,165184
|
|
@@ -358,7 +358,7 @@ wandelbots_api_client/v2/api/version_api.py,sha256=blrLxwmtrPj6Wq_ujGy1eC9vD_J1G
|
|
|
358
358
|
wandelbots_api_client/v2/api/virtual_controller_api.py,sha256=n2njQG3KS956_XpuIKXOOw_2ckjBMBR8qhmtC8hydyM,206604
|
|
359
359
|
wandelbots_api_client/v2/api/virtual_controller_behavior_api.py,sha256=tbCeKf5NfaynA85gCwm3dHoLFtrXS6FRcS-4aCo36i8,42162
|
|
360
360
|
wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py,sha256=VnhBKJ5gwGT0RcS6d-kMp_wBngQmQ_FhNIDJTOlC9mg,42446
|
|
361
|
-
wandelbots_api_client/v2/models/__init__.py,sha256=
|
|
361
|
+
wandelbots_api_client/v2/models/__init__.py,sha256=CtLrVlnhB3RUEzFgc8-I1J_xnphCBKnXyiTI4hrGU8Q,19925
|
|
362
362
|
wandelbots_api_client/v2/models/abb_controller.py,sha256=J4KR0yDwYua1Jt7aPVDEAfVBgPinvJ6D6tE8ZnZhyFM,3860
|
|
363
363
|
wandelbots_api_client/v2/models/abb_controller_egm_server.py,sha256=_-Kk3mAYlJ-beKKITI3nnTI4dQNLuzLIiFtN2jc_J8M,2776
|
|
364
364
|
wandelbots_api_client/v2/models/activate_license_request.py,sha256=wBbxeVV_kGwJfKE6JVARyjrrgxxm32J9DYxqrzYxhcg,2693
|
|
@@ -447,7 +447,7 @@ wandelbots_api_client/v2/models/http_validation_error.py,sha256=yuEYvTsBOB5JoXRN
|
|
|
447
447
|
wandelbots_api_client/v2/models/image_credentials.py,sha256=RnB5MMcibRwdnSsMaQEwLa24gzu3gWIiJNEEf0e0KI8,2791
|
|
448
448
|
wandelbots_api_client/v2/models/inconsistent_trajectory_size_error.py,sha256=nQwAfBP1gLHm8cnA4ck5fmJ5n0gEVfjKBGWqsfX5wGU,3398
|
|
449
449
|
wandelbots_api_client/v2/models/inconsistent_trajectory_size_error_inconsistent_trajectory_size.py,sha256=Tj6ZnIQl-y1nByjpxQWptEpp6-U3xWKYkI5JwthS6cg,3042
|
|
450
|
-
wandelbots_api_client/v2/models/initialize_jogging_request.py,sha256=
|
|
450
|
+
wandelbots_api_client/v2/models/initialize_jogging_request.py,sha256=dvq3gPVK8SJ-8EeroMLbqPjlSM_aosxTtGTBzeSZ_IE,3422
|
|
451
451
|
wandelbots_api_client/v2/models/initialize_jogging_response.py,sha256=g0KlElPFn2pI1I-2kNV0YJLTGVIRjDLygTHQxdcagew,3115
|
|
452
452
|
wandelbots_api_client/v2/models/initialize_movement_request.py,sha256=AOs88zSsBorXvSgCmCiFGKZc7n6MXUfxg2OndwPWLJc,5076
|
|
453
453
|
wandelbots_api_client/v2/models/initialize_movement_request_trajectory.py,sha256=l0q6XpzgvDFlRebED5hKTtpDoALTuFuoIzAHrcIiRtc,6161
|
|
@@ -456,7 +456,7 @@ wandelbots_api_client/v2/models/integer_value.py,sha256=d6l2pBP718l8sEL4SPpQ-1FP
|
|
|
456
456
|
wandelbots_api_client/v2/models/invalid_dof_error.py,sha256=BsJJXLeTplkTnTDmiKP3YiVsSmf8F97SMsFrM1_XKGQ,2979
|
|
457
457
|
wandelbots_api_client/v2/models/invalid_dof_error_invalid_dof.py,sha256=FOxL_scfg-NhBm4Yp5wr6fn_o9zkrkrmhIOBGXaLPr4,2978
|
|
458
458
|
wandelbots_api_client/v2/models/inverse_kinematics422_response.py,sha256=qJOpa_DKDCXYA-QcAhTQQxlmpudKXKR3Ni5RSS1EZkI,3835
|
|
459
|
-
wandelbots_api_client/v2/models/inverse_kinematics_request.py,sha256=
|
|
459
|
+
wandelbots_api_client/v2/models/inverse_kinematics_request.py,sha256=mYTeAeQRswC5rkcChrVcqkI5GZTGPetBCd0M-2VqeqE,7879
|
|
460
460
|
wandelbots_api_client/v2/models/inverse_kinematics_response.py,sha256=DRgT-kuDtYK1hoMgpkgOSObcZCf8NlPEHVDs8F4pPpE,2663
|
|
461
461
|
wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py,sha256=ORW251P8MwgafCqxho2PSL7faIrvrt8m-wDxP1rgXZk,4468
|
|
462
462
|
wandelbots_api_client/v2/models/inverse_kinematics_validation_error_all_of_data.py,sha256=AoTehZikk39JeKvFcBswusiMjmuc167qP2ZoYJ56Adk,6586
|
|
@@ -481,6 +481,7 @@ wandelbots_api_client/v2/models/joint_limits.py,sha256=4oGsGqhXf-5ZkXq3qf3_EokyY
|
|
|
481
481
|
wandelbots_api_client/v2/models/joint_trajectory.py,sha256=rs7nO4xc42r-N1k2UXBuRMGo27OddZ5jRn_DeZZOv_w,3080
|
|
482
482
|
wandelbots_api_client/v2/models/joint_velocity_request.py,sha256=tIT3Pou-33HLI-9BVnbJiPerpm_4D9NpFjC8UFDbZqU,3265
|
|
483
483
|
wandelbots_api_client/v2/models/joint_velocity_response.py,sha256=Txw_KlgCa-YXYIWeivW24TbipPNIZXhBhGSGMMdx1EE,3106
|
|
484
|
+
wandelbots_api_client/v2/models/kinematic_model.py,sha256=65akUk2_zBcDerKT0SaRz7E4STqUAEFvJX5EiXxlz_E,4000
|
|
484
485
|
wandelbots_api_client/v2/models/kuka_controller.py,sha256=3FYVbPlTjXnU9P1hfWnfq0KJ6DNrMYHE2wM83ATybBs,4076
|
|
485
486
|
wandelbots_api_client/v2/models/kuka_controller_rsi_server.py,sha256=ecZ5PsRm0MpPkBycTFBAqR287BgIhlUKmBZFi34S558,2760
|
|
486
487
|
wandelbots_api_client/v2/models/license.py,sha256=-TDBzT6M0sKPkP6Y9hhCy56oD_5Zat9QnB1TDA0IYgw,4593
|
|
@@ -604,12 +605,12 @@ wandelbots_api_client/v2/models/virtual_controller_types.py,sha256=IIcNSonSxyah0
|
|
|
604
605
|
wandelbots_api_client/v2/models/virtual_robot_configuration.py,sha256=91OOKWd5zM15ohNn0NF7wwi08HJtZTZHQl29ibQb4LY,2958
|
|
605
606
|
wandelbots_api_client/v2/models/wait_for_io_event_request.py,sha256=F5H8xDdWckiC4zwLc7Ce-TMcHeWteUfaUiu6wQ7FMr4,3211
|
|
606
607
|
wandelbots_api_client/v2/models/yaskawa_controller.py,sha256=BQtgT1acj1-hXW5mA33GPcv7utqM5hbRqD0kmN5N2tk,3040
|
|
607
|
-
wandelbots_api_client/v2_pydantic/__init__.py,sha256=
|
|
608
|
-
wandelbots_api_client/v2_pydantic/api_client.py,sha256=
|
|
608
|
+
wandelbots_api_client/v2_pydantic/__init__.py,sha256=6w5pX7aLTXERI-r1wBEumBwYlIvgbtKkKhr_aKiFKzo,1061
|
|
609
|
+
wandelbots_api_client/v2_pydantic/api_client.py,sha256=lSEAeGrSVyR1Lcq5RJUda_DIk0ygw64NwAupaXRqC5A,28142
|
|
609
610
|
wandelbots_api_client/v2_pydantic/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
610
|
-
wandelbots_api_client/v2_pydantic/configuration.py,sha256=
|
|
611
|
+
wandelbots_api_client/v2_pydantic/configuration.py,sha256=rOnW7mlQzonqYws-IAgVQezv2vahSioll2sc0qUSBR0,18903
|
|
611
612
|
wandelbots_api_client/v2_pydantic/exceptions.py,sha256=Ca5nkeVDg0VRjfjpyMekJd9c9OXUXfnd3aSOFDxRIZk,6432
|
|
612
|
-
wandelbots_api_client/v2_pydantic/models.py,sha256=
|
|
613
|
+
wandelbots_api_client/v2_pydantic/models.py,sha256=Ocw7DM4AYTsFLXPhB4EImrlyxlo1beGvw03TOIV7WPk,130450
|
|
613
614
|
wandelbots_api_client/v2_pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
614
615
|
wandelbots_api_client/v2_pydantic/rest.py,sha256=327QB3WHUdmmKw_FBmYUGS3syi216LaW-BiTY40rgik,7272
|
|
615
616
|
wandelbots_api_client/v2_pydantic/virtual_controller_types.py,sha256=luk6nO5VP4f8NmaHVrgzWmcw4TaFyNXD3B9WoECdID8,5225
|
|
@@ -619,11 +620,11 @@ wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py,sha256=uBneLeJ_d
|
|
|
619
620
|
wandelbots_api_client/v2_pydantic/api/cell_api.py,sha256=ZuEkqo4PbqsPdiP_vRAUO32mTl__udMCvn0aj6mvbGY,76914
|
|
620
621
|
wandelbots_api_client/v2_pydantic/api/controller_api.py,sha256=XuNsMaKF1ZIaukuDuoscKBs_3JTEHKT5POu2Jqmwx7M,164728
|
|
621
622
|
wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py,sha256=JxmyAT8obJnn1JAvFJUuvhS9hfkRb3nF4TW1oLYLS18,62010
|
|
622
|
-
wandelbots_api_client/v2_pydantic/api/jogging_api.py,sha256=
|
|
623
|
+
wandelbots_api_client/v2_pydantic/api/jogging_api.py,sha256=cwflHND9jdF0Vh6Yzsklla5IzC3un9OpFdewW9wiplA,7963
|
|
623
624
|
wandelbots_api_client/v2_pydantic/api/kinematics_api.py,sha256=OXNrHmtZx1y5L2sMIGRbDAqG6KLcf84IikY9Ilcdufc,25444
|
|
624
625
|
wandelbots_api_client/v2_pydantic/api/license_api.py,sha256=jzArFEw0b2VJtpVQRa-74GpycDW0twntJllFTcFrHPI,40836
|
|
625
626
|
wandelbots_api_client/v2_pydantic/api/motion_group_api.py,sha256=kXWHsnHrahohagR2dpMnLIWKxXqD9LonauK6xNCQnFE,32884
|
|
626
|
-
wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py,sha256=
|
|
627
|
+
wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py,sha256=SsN6bOCIjvsFLrwGToZ4BVl8ZuKd3W2yaITuSwcmvdI,59465
|
|
627
628
|
wandelbots_api_client/v2_pydantic/api/program_api.py,sha256=9ZJbfSiHmdgtGMYP909ujoTPPlFjDbH35gY4lrjbBD0,46123
|
|
628
629
|
wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py,sha256=Y7N04NmEN83_mB31BXtQEKZbafPSdqN3O9wcp9XlOtU,11065
|
|
629
630
|
wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py,sha256=DbBliWnZAeo5wjKwWTccnp825o4KBS-eCjYFha7f8eQ,165856
|
|
@@ -637,8 +638,8 @@ wandelbots_api_client/v2_pydantic/api/version_api.py,sha256=Wzp7Jj-lKy0QAzPddcsd
|
|
|
637
638
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py,sha256=iayURe8F_4IK-12f9ZeQYxWGNmkwFcAnpn3S_J9s8Ag,207225
|
|
638
639
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py,sha256=YykdkLQQc3zje8MBRog6sjELorPG4Q36GfJAeiBocc4,42312
|
|
639
640
|
wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py,sha256=1gYa5YfRF70oNBJFsDpfQCXQt6gEM1-S49mNSNmaMzE,42587
|
|
640
|
-
wandelbots_api_client-26.1.0.
|
|
641
|
-
wandelbots_api_client-26.1.0.
|
|
642
|
-
wandelbots_api_client-26.1.0.
|
|
643
|
-
wandelbots_api_client-26.1.0.
|
|
644
|
-
wandelbots_api_client-26.1.0.
|
|
641
|
+
wandelbots_api_client-26.1.0.dev63.dist-info/licenses/LICENSE,sha256=PJyUaZgTVC0_nJmhRpcbnOcXvmTqJGE6axeSifngIGY,11344
|
|
642
|
+
wandelbots_api_client-26.1.0.dev63.dist-info/METADATA,sha256=d0cVH3UHjPHn5_4M4rdHG2sHF3Il3m-zdGLSshRmNyQ,1726
|
|
643
|
+
wandelbots_api_client-26.1.0.dev63.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
644
|
+
wandelbots_api_client-26.1.0.dev63.dist-info/top_level.txt,sha256=eCDsV95XWqVBSMDe4MRzyOj53-TK-o5WU1Qv_yv493M,22
|
|
645
|
+
wandelbots_api_client-26.1.0.dev63.dist-info/RECORD,,
|
{wandelbots_api_client-26.1.0.dev53.dist-info → wandelbots_api_client-26.1.0.dev63.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|