wandelbots_api_client 26.3.0.dev29__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 +48 -0
- wandelbots_api_client/api/__init__.py +63 -0
- wandelbots_api_client/api/application_api.py +1514 -0
- wandelbots_api_client/api/cell_api.py +1424 -0
- wandelbots_api_client/api/controller_api.py +2951 -0
- wandelbots_api_client/api/controller_ios_api.py +1205 -0
- wandelbots_api_client/api/coordinate_systems_api.py +1267 -0
- wandelbots_api_client/api/device_configuration_api.py +1193 -0
- wandelbots_api_client/api/library_program_api.py +1326 -0
- wandelbots_api_client/api/library_program_metadata_api.py +1090 -0
- wandelbots_api_client/api/library_recipe_api.py +1351 -0
- wandelbots_api_client/api/library_recipe_metadata_api.py +1050 -0
- wandelbots_api_client/api/license_api.py +865 -0
- wandelbots_api_client/api/motion_api.py +3596 -0
- wandelbots_api_client/api/motion_group_api.py +956 -0
- wandelbots_api_client/api/motion_group_infos_api.py +2611 -0
- wandelbots_api_client/api/motion_group_jogging_api.py +685 -0
- wandelbots_api_client/api/motion_group_kinematic_api.py +1055 -0
- wandelbots_api_client/api/program_api.py +1987 -0
- wandelbots_api_client/api/program_operator_api.py +1881 -0
- wandelbots_api_client/api/program_values_api.py +1444 -0
- wandelbots_api_client/api/store_collision_components_api.py +3074 -0
- wandelbots_api_client/api/store_collision_scenes_api.py +951 -0
- wandelbots_api_client/api/store_object_api.py +1387 -0
- wandelbots_api_client/api/system_api.py +1075 -0
- wandelbots_api_client/api/version_api.py +237 -0
- wandelbots_api_client/api/virtual_robot_api.py +1583 -0
- wandelbots_api_client/api/virtual_robot_behavior_api.py +649 -0
- wandelbots_api_client/api/virtual_robot_mode_api.py +1467 -0
- wandelbots_api_client/api/virtual_robot_setup_api.py +2116 -0
- wandelbots_api_client/api_client.py +688 -0
- wandelbots_api_client/api_response.py +20 -0
- wandelbots_api_client/authorization.py +243 -0
- wandelbots_api_client/configuration.py +579 -0
- wandelbots_api_client/exceptions.py +216 -0
- wandelbots_api_client/models/__init__.py +316 -0
- wandelbots_api_client/models/abb_controller.py +112 -0
- wandelbots_api_client/models/abb_controller_egm_server.py +87 -0
- wandelbots_api_client/models/activate_license_request.py +86 -0
- wandelbots_api_client/models/add_request.py +95 -0
- wandelbots_api_client/models/all_joint_positions_request.py +96 -0
- wandelbots_api_client/models/all_joint_positions_response.py +109 -0
- wandelbots_api_client/models/api_version.py +86 -0
- wandelbots_api_client/models/app.py +148 -0
- wandelbots_api_client/models/array_input.py +114 -0
- wandelbots_api_client/models/array_output.py +116 -0
- wandelbots_api_client/models/behavior.py +35 -0
- wandelbots_api_client/models/blending_auto.py +99 -0
- wandelbots_api_client/models/blending_position.py +97 -0
- wandelbots_api_client/models/box.py +98 -0
- wandelbots_api_client/models/box2.py +112 -0
- wandelbots_api_client/models/box3.py +112 -0
- wandelbots_api_client/models/capsule.py +87 -0
- wandelbots_api_client/models/capsule2.py +97 -0
- wandelbots_api_client/models/capsule3.py +101 -0
- wandelbots_api_client/models/capture.py +86 -0
- wandelbots_api_client/models/cell.py +142 -0
- wandelbots_api_client/models/circle.py +99 -0
- wandelbots_api_client/models/code_with_arguments.py +108 -0
- wandelbots_api_client/models/collection_value.py +322 -0
- wandelbots_api_client/models/collider.py +105 -0
- wandelbots_api_client/models/collider_input.py +105 -0
- wandelbots_api_client/models/collider_output.py +105 -0
- wandelbots_api_client/models/collider_output_shape.py +242 -0
- wandelbots_api_client/models/collider_shape.py +280 -0
- wandelbots_api_client/models/collision.py +110 -0
- wandelbots_api_client/models/collision_contact.py +92 -0
- wandelbots_api_client/models/collision_motion_group.py +124 -0
- wandelbots_api_client/models/collision_motion_group_assembly.py +128 -0
- wandelbots_api_client/models/collision_robot_configuration_input.py +121 -0
- wandelbots_api_client/models/collision_robot_configuration_output.py +121 -0
- wandelbots_api_client/models/collision_scene.py +117 -0
- wandelbots_api_client/models/collision_scene_assembly.py +133 -0
- wandelbots_api_client/models/command.py +140 -0
- wandelbots_api_client/models/command_settings.py +104 -0
- wandelbots_api_client/models/comparator.py +39 -0
- wandelbots_api_client/models/compound.py +114 -0
- wandelbots_api_client/models/container_environment_inner.py +87 -0
- wandelbots_api_client/models/container_image.py +122 -0
- wandelbots_api_client/models/container_image_secrets_inner.py +86 -0
- wandelbots_api_client/models/container_resources.py +89 -0
- wandelbots_api_client/models/container_storage.py +97 -0
- wandelbots_api_client/models/controller_capabilities.py +89 -0
- wandelbots_api_client/models/controller_instance.py +148 -0
- wandelbots_api_client/models/controller_instance_list.py +109 -0
- wandelbots_api_client/models/convex_hull.py +109 -0
- wandelbots_api_client/models/convex_hull2.py +97 -0
- wandelbots_api_client/models/convex_hull3.py +97 -0
- wandelbots_api_client/models/coordinate_system.py +108 -0
- wandelbots_api_client/models/coordinate_systems.py +109 -0
- wandelbots_api_client/models/create_program_run200_response.py +88 -0
- wandelbots_api_client/models/create_program_run_request.py +86 -0
- wandelbots_api_client/models/create_trigger200_response.py +86 -0
- wandelbots_api_client/models/create_trigger_request.py +101 -0
- wandelbots_api_client/models/cubic_spline.py +109 -0
- wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +93 -0
- wandelbots_api_client/models/cubic_spline_parameter.py +93 -0
- wandelbots_api_client/models/cycle_time.py +86 -0
- wandelbots_api_client/models/cylinder.py +87 -0
- wandelbots_api_client/models/cylinder2.py +95 -0
- wandelbots_api_client/models/cylinder3.py +101 -0
- wandelbots_api_client/models/devices_inner.py +321 -0
- wandelbots_api_client/models/dh_parameter.py +98 -0
- wandelbots_api_client/models/direction.py +34 -0
- wandelbots_api_client/models/direction_jogging_request.py +136 -0
- wandelbots_api_client/models/error.py +87 -0
- wandelbots_api_client/models/execute_trajectory_request.py +182 -0
- wandelbots_api_client/models/execute_trajectory_response.py +223 -0
- wandelbots_api_client/models/execution_result.py +113 -0
- wandelbots_api_client/models/external_joint_stream_datapoint.py +96 -0
- wandelbots_api_client/models/external_joint_stream_datapoint_value.py +96 -0
- wandelbots_api_client/models/fanuc_controller.py +99 -0
- wandelbots_api_client/models/feedback_collision.py +126 -0
- wandelbots_api_client/models/feedback_joint_limit_exceeded.py +101 -0
- wandelbots_api_client/models/feedback_out_of_workspace.py +103 -0
- wandelbots_api_client/models/feedback_singularity.py +102 -0
- wandelbots_api_client/models/flag.py +86 -0
- wandelbots_api_client/models/force_vector.py +103 -0
- wandelbots_api_client/models/geometry.py +167 -0
- wandelbots_api_client/models/get_all_program_runs200_response.py +109 -0
- wandelbots_api_client/models/get_all_triggers200_response.py +109 -0
- wandelbots_api_client/models/get_mode_response.py +87 -0
- wandelbots_api_client/models/get_trajectory_response.py +112 -0
- wandelbots_api_client/models/get_trajectory_sample_response.py +90 -0
- wandelbots_api_client/models/google_protobuf_any.py +102 -0
- wandelbots_api_client/models/http_exception_response.py +86 -0
- wandelbots_api_client/models/http_validation_error.py +109 -0
- wandelbots_api_client/models/http_validation_error2.py +109 -0
- wandelbots_api_client/models/image_credentials.py +88 -0
- wandelbots_api_client/models/info_service_capabilities.py +110 -0
- wandelbots_api_client/models/initialize_movement_request.py +111 -0
- wandelbots_api_client/models/initialize_movement_response.py +96 -0
- wandelbots_api_client/models/initialize_movement_response_init_response.py +89 -0
- wandelbots_api_client/models/io.py +105 -0
- wandelbots_api_client/models/io_description.py +156 -0
- wandelbots_api_client/models/io_value.py +104 -0
- wandelbots_api_client/models/ios.py +109 -0
- wandelbots_api_client/models/jogging_response.py +117 -0
- wandelbots_api_client/models/jogging_service_capabilities.py +87 -0
- wandelbots_api_client/models/joint_jogging_request.py +108 -0
- wandelbots_api_client/models/joint_limit.py +123 -0
- wandelbots_api_client/models/joint_limit_exceeded.py +96 -0
- wandelbots_api_client/models/joint_position_request.py +104 -0
- wandelbots_api_client/models/joint_trajectory.py +117 -0
- wandelbots_api_client/models/joints.py +86 -0
- wandelbots_api_client/models/kinematic_service_capabilities.py +96 -0
- wandelbots_api_client/models/kuka_controller.py +112 -0
- wandelbots_api_client/models/kuka_controller_rsi_server.py +92 -0
- wandelbots_api_client/models/license.py +124 -0
- wandelbots_api_client/models/license_status.py +88 -0
- wandelbots_api_client/models/license_status_enum.py +37 -0
- wandelbots_api_client/models/limit_settings.py +223 -0
- wandelbots_api_client/models/limits_override.py +132 -0
- wandelbots_api_client/models/list_io_descriptions_response.py +109 -0
- wandelbots_api_client/models/list_io_values_response.py +109 -0
- wandelbots_api_client/models/list_payloads_response.py +109 -0
- wandelbots_api_client/models/list_program_metadata_response.py +109 -0
- wandelbots_api_client/models/list_recipe_metadata_response.py +109 -0
- wandelbots_api_client/models/list_response.py +109 -0
- wandelbots_api_client/models/list_tcps_response.py +112 -0
- wandelbots_api_client/models/location_inner.py +153 -0
- wandelbots_api_client/models/location_inner1.py +142 -0
- wandelbots_api_client/models/manufacturer.py +37 -0
- wandelbots_api_client/models/mode_change_response.py +97 -0
- wandelbots_api_client/models/motion_command.py +109 -0
- wandelbots_api_client/models/motion_command_blending.py +164 -0
- wandelbots_api_client/models/motion_command_path.py +221 -0
- wandelbots_api_client/models/motion_group_behavior_getter.py +87 -0
- wandelbots_api_client/models/motion_group_info.py +88 -0
- wandelbots_api_client/models/motion_group_infos.py +109 -0
- wandelbots_api_client/models/motion_group_instance.py +101 -0
- wandelbots_api_client/models/motion_group_instance_list.py +109 -0
- wandelbots_api_client/models/motion_group_joints.py +100 -0
- wandelbots_api_client/models/motion_group_physical.py +105 -0
- wandelbots_api_client/models/motion_group_specification.py +136 -0
- wandelbots_api_client/models/motion_group_state.py +180 -0
- wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +86 -0
- wandelbots_api_client/models/motion_group_state_response.py +103 -0
- wandelbots_api_client/models/motion_id.py +88 -0
- wandelbots_api_client/models/motion_ids_list_response.py +89 -0
- wandelbots_api_client/models/motion_vector.py +103 -0
- wandelbots_api_client/models/mounting.py +98 -0
- wandelbots_api_client/models/move_request.py +162 -0
- wandelbots_api_client/models/move_response.py +91 -0
- wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +107 -0
- wandelbots_api_client/models/movement.py +90 -0
- wandelbots_api_client/models/movement_error.py +90 -0
- wandelbots_api_client/models/movement_error_error.py +86 -0
- wandelbots_api_client/models/movement_movement.py +98 -0
- wandelbots_api_client/models/op_mode.py +93 -0
- wandelbots_api_client/models/opcua_node_value_trigger_config.py +100 -0
- wandelbots_api_client/models/opcua_node_value_trigger_config_node_value.py +159 -0
- wandelbots_api_client/models/optimizer_setup.py +145 -0
- wandelbots_api_client/models/out_of_workspace.py +92 -0
- wandelbots_api_client/models/path.py +109 -0
- wandelbots_api_client/models/path_cartesian_ptp.py +103 -0
- wandelbots_api_client/models/path_circle.py +108 -0
- wandelbots_api_client/models/path_cubic_spline.py +118 -0
- wandelbots_api_client/models/path_joint_ptp.py +96 -0
- wandelbots_api_client/models/path_line.py +103 -0
- wandelbots_api_client/models/pause_movement_request.py +95 -0
- wandelbots_api_client/models/pause_movement_response.py +96 -0
- wandelbots_api_client/models/pause_movement_response_pause_response.py +89 -0
- wandelbots_api_client/models/pause_on_io.py +96 -0
- wandelbots_api_client/models/payload.py +103 -0
- wandelbots_api_client/models/plan_collision_free_ptp_request.py +131 -0
- wandelbots_api_client/models/plan_collision_free_ptp_request_target.py +150 -0
- wandelbots_api_client/models/plan_failed_on_trajectory_response.py +149 -0
- wandelbots_api_client/models/plan_failed_response.py +136 -0
- wandelbots_api_client/models/plan_request.py +127 -0
- wandelbots_api_client/models/plan_response.py +112 -0
- wandelbots_api_client/models/plan_successful_response.py +100 -0
- wandelbots_api_client/models/plan_trajectory_failed_response.py +106 -0
- wandelbots_api_client/models/plan_trajectory_failed_response_error_feedback.py +209 -0
- wandelbots_api_client/models/plan_trajectory_request.py +154 -0
- wandelbots_api_client/models/plan_trajectory_response.py +92 -0
- wandelbots_api_client/models/plan_trajectory_response_response.py +147 -0
- wandelbots_api_client/models/plane2.py +93 -0
- wandelbots_api_client/models/plane3.py +93 -0
- wandelbots_api_client/models/planned_motion.py +125 -0
- wandelbots_api_client/models/planner_pose.py +100 -0
- wandelbots_api_client/models/planning_limits.py +168 -0
- wandelbots_api_client/models/planning_limits_limit_range.py +87 -0
- wandelbots_api_client/models/playback_speed_request.py +94 -0
- wandelbots_api_client/models/playback_speed_response.py +96 -0
- wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +86 -0
- wandelbots_api_client/models/point_cloud.py +86 -0
- wandelbots_api_client/models/pose.py +107 -0
- wandelbots_api_client/models/pose2.py +93 -0
- wandelbots_api_client/models/program_metadata.py +100 -0
- wandelbots_api_client/models/program_run.py +168 -0
- wandelbots_api_client/models/program_run_object.py +103 -0
- wandelbots_api_client/models/program_run_state.py +37 -0
- wandelbots_api_client/models/program_runner_reference.py +88 -0
- wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +88 -0
- wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +87 -0
- wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +87 -0
- wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +87 -0
- wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +101 -0
- wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +101 -0
- wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +99 -0
- wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +107 -0
- wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +119 -0
- wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +130 -0
- wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +130 -0
- wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +102 -0
- wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +99 -0
- wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +94 -0
- wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +94 -0
- wandelbots_api_client/models/quaternion.py +89 -0
- wandelbots_api_client/models/recipe_metadata.py +102 -0
- wandelbots_api_client/models/rectangle.py +87 -0
- wandelbots_api_client/models/rectangle2.py +95 -0
- wandelbots_api_client/models/rectangle3.py +101 -0
- wandelbots_api_client/models/rectangular_capsule.py +94 -0
- wandelbots_api_client/models/rectangular_capsule2.py +103 -0
- wandelbots_api_client/models/rectangular_capsule3.py +103 -0
- wandelbots_api_client/models/release_channel.py +34 -0
- wandelbots_api_client/models/request.py +142 -0
- wandelbots_api_client/models/request1.py +140 -0
- wandelbots_api_client/models/response_get_devices_devices_get_inner.py +321 -0
- wandelbots_api_client/models/response_get_value_programs_values_key_get.py +317 -0
- wandelbots_api_client/models/response_get_values_programs_values_get_value.py +322 -0
- wandelbots_api_client/models/robot_controller.py +108 -0
- wandelbots_api_client/models/robot_controller_configuration.py +262 -0
- wandelbots_api_client/models/robot_controller_state.py +191 -0
- wandelbots_api_client/models/robot_link_geometry.py +98 -0
- wandelbots_api_client/models/robot_state.py +101 -0
- wandelbots_api_client/models/robot_system_mode.py +37 -0
- wandelbots_api_client/models/robot_tcp.py +104 -0
- wandelbots_api_client/models/robot_tcps.py +109 -0
- wandelbots_api_client/models/rotation_angle_types.py +58 -0
- wandelbots_api_client/models/rotation_angles.py +91 -0
- wandelbots_api_client/models/safety_configuration.py +182 -0
- wandelbots_api_client/models/safety_setup.py +172 -0
- wandelbots_api_client/models/safety_setup_safety_settings.py +106 -0
- wandelbots_api_client/models/safety_setup_safety_zone.py +103 -0
- wandelbots_api_client/models/safety_zone.py +98 -0
- wandelbots_api_client/models/safety_zone_limits.py +96 -0
- wandelbots_api_client/models/safety_zone_violation.py +86 -0
- wandelbots_api_client/models/service_status.py +96 -0
- wandelbots_api_client/models/service_status_phase.py +46 -0
- wandelbots_api_client/models/service_status_severity.py +35 -0
- wandelbots_api_client/models/service_status_status.py +90 -0
- wandelbots_api_client/models/set_io.py +93 -0
- wandelbots_api_client/models/set_playback_speed.py +91 -0
- wandelbots_api_client/models/single_joint_limit.py +112 -0
- wandelbots_api_client/models/singularity.py +110 -0
- wandelbots_api_client/models/singularity_type_enum.py +35 -0
- wandelbots_api_client/models/sphere.py +86 -0
- wandelbots_api_client/models/sphere2.py +94 -0
- wandelbots_api_client/models/sphere3.py +96 -0
- wandelbots_api_client/models/standstill.py +92 -0
- wandelbots_api_client/models/standstill_reason.py +36 -0
- wandelbots_api_client/models/standstill_standstill.py +99 -0
- wandelbots_api_client/models/start_movement_request.py +135 -0
- wandelbots_api_client/models/start_on_io.py +96 -0
- wandelbots_api_client/models/status.py +119 -0
- wandelbots_api_client/models/stop_response.py +109 -0
- wandelbots_api_client/models/store_value.py +349 -0
- wandelbots_api_client/models/stream_move_backward.py +90 -0
- wandelbots_api_client/models/stream_move_forward.py +90 -0
- wandelbots_api_client/models/stream_move_playback_speed.py +92 -0
- wandelbots_api_client/models/stream_move_request.py +207 -0
- wandelbots_api_client/models/stream_move_response.py +110 -0
- wandelbots_api_client/models/stream_move_to_trajectory.py +96 -0
- wandelbots_api_client/models/stream_stop.py +90 -0
- wandelbots_api_client/models/tcp_pose.py +105 -0
- wandelbots_api_client/models/tcp_pose_request.py +106 -0
- wandelbots_api_client/models/tool_geometry.py +111 -0
- wandelbots_api_client/models/trajectory_sample.py +139 -0
- wandelbots_api_client/models/trigger_object.py +110 -0
- wandelbots_api_client/models/trigger_type.py +33 -0
- wandelbots_api_client/models/universalrobots_controller.py +102 -0
- wandelbots_api_client/models/update_nova_version_request.py +87 -0
- wandelbots_api_client/models/update_program_metadata_request.py +88 -0
- wandelbots_api_client/models/update_recipe_metadata_request.py +88 -0
- wandelbots_api_client/models/update_trigger_request.py +100 -0
- wandelbots_api_client/models/validation_error.py +113 -0
- wandelbots_api_client/models/validation_error2.py +113 -0
- wandelbots_api_client/models/value.py +317 -0
- wandelbots_api_client/models/vector3d.py +88 -0
- wandelbots_api_client/models/version_number.py +113 -0
- wandelbots_api_client/models/virtual_controller.py +117 -0
- wandelbots_api_client/models/virtual_controller_types.py +153 -0
- wandelbots_api_client/models/virtual_robot_configuration.py +91 -0
- wandelbots_api_client/models/yaskawa_controller.py +99 -0
- wandelbots_api_client/py.typed +0 -0
- wandelbots_api_client/rest.py +188 -0
- wandelbots_api_client/v2/__init__.py +49 -0
- wandelbots_api_client/v2/api/__init__.py +55 -0
- wandelbots_api_client/v2/api/application_api.py +1532 -0
- wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +4534 -0
- wandelbots_api_client/v2/api/cell_api.py +2163 -0
- wandelbots_api_client/v2/api/controller_api.py +3238 -0
- wandelbots_api_client/v2/api/controller_inputs_outputs_api.py +1244 -0
- wandelbots_api_client/v2/api/jogging_api.py +113 -0
- wandelbots_api_client/v2/api/kinematics_api.py +555 -0
- wandelbots_api_client/v2/api/license_api.py +877 -0
- wandelbots_api_client/v2/api/motion_group_api.py +689 -0
- wandelbots_api_client/v2/api/motion_group_models_api.py +1222 -0
- wandelbots_api_client/v2/api/nova_cloud_api.py +760 -0
- wandelbots_api_client/v2/api/program_api.py +988 -0
- wandelbots_api_client/v2/api/robot_configurations_api.py +485 -0
- wandelbots_api_client/v2/api/store_collision_components_api.py +3479 -0
- wandelbots_api_client/v2/api/store_collision_setups_api.py +1169 -0
- wandelbots_api_client/v2/api/store_object_api.py +1414 -0
- wandelbots_api_client/v2/api/system_api.py +2696 -0
- wandelbots_api_client/v2/api/trajectory_caching_api.py +1339 -0
- wandelbots_api_client/v2/api/trajectory_execution_api.py +115 -0
- wandelbots_api_client/v2/api/trajectory_planning_api.py +811 -0
- wandelbots_api_client/v2/api/version_api.py +240 -0
- wandelbots_api_client/v2/api/virtual_controller_api.py +4534 -0
- wandelbots_api_client/v2/api/virtual_controller_behavior_api.py +863 -0
- wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py +895 -0
- wandelbots_api_client/v2/api_client.py +692 -0
- wandelbots_api_client/v2/api_response.py +20 -0
- wandelbots_api_client/v2/configuration.py +579 -0
- wandelbots_api_client/v2/exceptions.py +216 -0
- wandelbots_api_client/v2/models/__init__.py +317 -0
- wandelbots_api_client/v2/models/abb_controller.py +104 -0
- wandelbots_api_client/v2/models/abb_controller_egm_server.py +84 -0
- wandelbots_api_client/v2/models/activate_license_request.py +83 -0
- wandelbots_api_client/v2/models/add_trajectory_error.py +95 -0
- wandelbots_api_client/v2/models/add_trajectory_error_data.py +298 -0
- wandelbots_api_client/v2/models/add_trajectory_request.py +97 -0
- wandelbots_api_client/v2/models/add_trajectory_response.py +99 -0
- wandelbots_api_client/v2/models/add_virtual_controller_motion_group_request.py +147 -0
- wandelbots_api_client/v2/models/api_version.py +83 -0
- wandelbots_api_client/v2/models/app.py +156 -0
- wandelbots_api_client/v2/models/behavior.py +35 -0
- wandelbots_api_client/v2/models/blending_auto.py +97 -0
- wandelbots_api_client/v2/models/blending_position.py +143 -0
- wandelbots_api_client/v2/models/blending_space.py +34 -0
- wandelbots_api_client/v2/models/boolean_value.py +91 -0
- wandelbots_api_client/v2/models/box.py +109 -0
- wandelbots_api_client/v2/models/bus_io_description.py +111 -0
- wandelbots_api_client/v2/models/bus_io_modbus_client.py +100 -0
- wandelbots_api_client/v2/models/bus_io_modbus_server.py +127 -0
- wandelbots_api_client/v2/models/bus_io_modbus_tcp_client.py +98 -0
- wandelbots_api_client/v2/models/bus_io_modbus_tcp_server.py +97 -0
- wandelbots_api_client/v2/models/bus_io_modbus_virtual.py +90 -0
- wandelbots_api_client/v2/models/bus_io_profinet.py +131 -0
- wandelbots_api_client/v2/models/bus_io_profinet_default_route.py +84 -0
- wandelbots_api_client/v2/models/bus_io_profinet_ip_config.py +85 -0
- wandelbots_api_client/v2/models/bus_io_profinet_network.py +101 -0
- wandelbots_api_client/v2/models/bus_io_profinet_slot.py +92 -0
- wandelbots_api_client/v2/models/bus_io_profinet_virtual.py +90 -0
- wandelbots_api_client/v2/models/bus_io_type.py +223 -0
- wandelbots_api_client/v2/models/bus_ios_state.py +88 -0
- wandelbots_api_client/v2/models/bus_ios_state_enum.py +36 -0
- wandelbots_api_client/v2/models/capsule.py +94 -0
- wandelbots_api_client/v2/models/cartesian_limits.py +108 -0
- wandelbots_api_client/v2/models/cell.py +127 -0
- wandelbots_api_client/v2/models/cloud_config_status.py +164 -0
- wandelbots_api_client/v2/models/cloud_config_status_configured.py +97 -0
- wandelbots_api_client/v2/models/cloud_config_status_not_configured.py +90 -0
- wandelbots_api_client/v2/models/cloud_configuration.py +84 -0
- wandelbots_api_client/v2/models/cloud_connection_error.py +87 -0
- wandelbots_api_client/v2/models/cloud_connection_error_error.py +275 -0
- wandelbots_api_client/v2/models/cloud_connection_error_invalid_token.py +102 -0
- wandelbots_api_client/v2/models/cloud_connection_error_invalid_token_details.py +95 -0
- wandelbots_api_client/v2/models/cloud_connection_error_invalid_token_details_cloud_response.py +90 -0
- wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_error.py +106 -0
- wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_error_details.py +83 -0
- wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_timeout.py +91 -0
- wandelbots_api_client/v2/models/cloud_connection_error_leafnode_restart_timeout.py +91 -0
- wandelbots_api_client/v2/models/cloud_connection_error_nats_failed.py +102 -0
- wandelbots_api_client/v2/models/cloud_connection_error_nats_failed_details.py +84 -0
- wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response.py +104 -0
- wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response_details.py +95 -0
- wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response_details_cloud_response.py +85 -0
- wandelbots_api_client/v2/models/cloud_connection_request.py +98 -0
- wandelbots_api_client/v2/models/cloud_disconnection_error.py +89 -0
- wandelbots_api_client/v2/models/cloud_disconnection_status_disconnected.py +90 -0
- wandelbots_api_client/v2/models/cloud_disconnection_status_disconnecting.py +90 -0
- wandelbots_api_client/v2/models/cloud_registration_success_response.py +83 -0
- wandelbots_api_client/v2/models/collider.py +102 -0
- wandelbots_api_client/v2/models/collider_shape.py +278 -0
- wandelbots_api_client/v2/models/collision.py +107 -0
- wandelbots_api_client/v2/models/collision_contact.py +89 -0
- wandelbots_api_client/v2/models/collision_error.py +100 -0
- wandelbots_api_client/v2/models/collision_free_algorithm.py +164 -0
- wandelbots_api_client/v2/models/collision_setup.py +130 -0
- wandelbots_api_client/v2/models/comparator.py +38 -0
- wandelbots_api_client/v2/models/configuration_archive_status.py +197 -0
- wandelbots_api_client/v2/models/configuration_archive_status_creating.py +94 -0
- wandelbots_api_client/v2/models/configuration_archive_status_error.py +91 -0
- wandelbots_api_client/v2/models/configuration_archive_status_success.py +90 -0
- wandelbots_api_client/v2/models/configuration_resource.py +104 -0
- wandelbots_api_client/v2/models/container_environment_inner.py +84 -0
- wandelbots_api_client/v2/models/container_image.py +110 -0
- wandelbots_api_client/v2/models/container_image_secrets_inner.py +83 -0
- wandelbots_api_client/v2/models/container_resources.py +87 -0
- wandelbots_api_client/v2/models/container_storage.py +94 -0
- wandelbots_api_client/v2/models/controller_description.py +97 -0
- wandelbots_api_client/v2/models/convex_hull.py +94 -0
- wandelbots_api_client/v2/models/coordinate_system.py +115 -0
- wandelbots_api_client/v2/models/coordinate_system_data.py +106 -0
- wandelbots_api_client/v2/models/cubic_spline_parameter.py +90 -0
- wandelbots_api_client/v2/models/cycle_time.py +86 -0
- wandelbots_api_client/v2/models/cylinder.py +92 -0
- wandelbots_api_client/v2/models/dh_parameter.py +98 -0
- wandelbots_api_client/v2/models/direction.py +34 -0
- wandelbots_api_client/v2/models/error.py +84 -0
- wandelbots_api_client/v2/models/error_invalid_joint_count.py +98 -0
- wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +103 -0
- wandelbots_api_client/v2/models/error_joint_position_collision.py +106 -0
- wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +91 -0
- wandelbots_api_client/v2/models/execute.py +95 -0
- wandelbots_api_client/v2/models/execute_details.py +164 -0
- wandelbots_api_client/v2/models/execute_jogging_request.py +204 -0
- wandelbots_api_client/v2/models/execute_jogging_response.py +246 -0
- wandelbots_api_client/v2/models/execute_trajectory_request.py +209 -0
- wandelbots_api_client/v2/models/execute_trajectory_response.py +246 -0
- wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +93 -0
- wandelbots_api_client/v2/models/external_joint_stream_request.py +97 -0
- wandelbots_api_client/v2/models/fanuc_controller.py +91 -0
- wandelbots_api_client/v2/models/feedback_collision.py +112 -0
- wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +99 -0
- wandelbots_api_client/v2/models/feedback_no_solution_in_current_configuration.py +100 -0
- wandelbots_api_client/v2/models/feedback_out_of_workspace.py +100 -0
- wandelbots_api_client/v2/models/feedback_singularity.py +99 -0
- wandelbots_api_client/v2/models/flag.py +83 -0
- wandelbots_api_client/v2/models/flange_payload.py +98 -0
- wandelbots_api_client/v2/models/float_value.py +91 -0
- wandelbots_api_client/v2/models/forward_kinematics422_response.py +97 -0
- wandelbots_api_client/v2/models/forward_kinematics_request.py +104 -0
- wandelbots_api_client/v2/models/forward_kinematics_response.py +93 -0
- wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +107 -0
- wandelbots_api_client/v2/models/get_trajectory_response.py +97 -0
- wandelbots_api_client/v2/models/http_validation_error.py +93 -0
- wandelbots_api_client/v2/models/image_credentials.py +85 -0
- wandelbots_api_client/v2/models/inconsistent_trajectory_size_error.py +106 -0
- wandelbots_api_client/v2/models/inconsistent_trajectory_size_error_inconsistent_trajectory_size.py +91 -0
- wandelbots_api_client/v2/models/initialize_jogging_request.py +95 -0
- wandelbots_api_client/v2/models/initialize_jogging_response.py +91 -0
- wandelbots_api_client/v2/models/initialize_movement_request.py +112 -0
- wandelbots_api_client/v2/models/initialize_movement_request_trajectory.py +164 -0
- wandelbots_api_client/v2/models/initialize_movement_response.py +107 -0
- wandelbots_api_client/v2/models/integer_value.py +91 -0
- wandelbots_api_client/v2/models/invalid_dof_error.py +100 -0
- wandelbots_api_client/v2/models/invalid_dof_error_invalid_dof.py +86 -0
- wandelbots_api_client/v2/models/inverse_kinematics422_response.py +97 -0
- wandelbots_api_client/v2/models/inverse_kinematics_request.py +152 -0
- wandelbots_api_client/v2/models/inverse_kinematics_response.py +83 -0
- wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +107 -0
- wandelbots_api_client/v2/models/inverse_kinematics_validation_error_all_of_data.py +164 -0
- wandelbots_api_client/v2/models/io_boolean_value.py +92 -0
- wandelbots_api_client/v2/models/io_boundary.py +183 -0
- wandelbots_api_client/v2/models/io_description.py +116 -0
- wandelbots_api_client/v2/models/io_direction.py +34 -0
- wandelbots_api_client/v2/models/io_float_value.py +92 -0
- wandelbots_api_client/v2/models/io_integer_value.py +94 -0
- wandelbots_api_client/v2/models/io_origin.py +34 -0
- wandelbots_api_client/v2/models/io_value.py +183 -0
- wandelbots_api_client/v2/models/io_value_type.py +35 -0
- wandelbots_api_client/v2/models/jogging_details.py +97 -0
- wandelbots_api_client/v2/models/jogging_details_state.py +275 -0
- wandelbots_api_client/v2/models/jogging_paused_by_user.py +90 -0
- wandelbots_api_client/v2/models/jogging_paused_near_collision.py +91 -0
- wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +92 -0
- wandelbots_api_client/v2/models/jogging_paused_near_singularity.py +91 -0
- wandelbots_api_client/v2/models/jogging_paused_on_io.py +90 -0
- wandelbots_api_client/v2/models/jogging_running.py +90 -0
- wandelbots_api_client/v2/models/joint_limit_exceeded_error.py +102 -0
- wandelbots_api_client/v2/models/joint_limits.py +101 -0
- wandelbots_api_client/v2/models/joint_trajectory.py +89 -0
- wandelbots_api_client/v2/models/joint_type_enum.py +34 -0
- wandelbots_api_client/v2/models/joint_velocity_request.py +91 -0
- wandelbots_api_client/v2/models/joint_velocity_response.py +91 -0
- wandelbots_api_client/v2/models/kinematic_model.py +118 -0
- wandelbots_api_client/v2/models/kuka_controller.py +106 -0
- wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +89 -0
- wandelbots_api_client/v2/models/license.py +121 -0
- wandelbots_api_client/v2/models/license_status.py +85 -0
- wandelbots_api_client/v2/models/license_status_enum.py +37 -0
- wandelbots_api_client/v2/models/limit_range.py +84 -0
- wandelbots_api_client/v2/models/limit_set.py +118 -0
- wandelbots_api_client/v2/models/limits_override.py +136 -0
- wandelbots_api_client/v2/models/list_trajectories_response.py +86 -0
- wandelbots_api_client/v2/models/location1_inner.py +153 -0
- wandelbots_api_client/v2/models/manufacturer.py +37 -0
- wandelbots_api_client/v2/models/merge_trajectories422_response.py +97 -0
- wandelbots_api_client/v2/models/merge_trajectories_error.py +97 -0
- wandelbots_api_client/v2/models/merge_trajectories_error_error_feedback.py +209 -0
- wandelbots_api_client/v2/models/merge_trajectories_request.py +107 -0
- wandelbots_api_client/v2/models/merge_trajectories_response.py +109 -0
- wandelbots_api_client/v2/models/merge_trajectories_response_feedback_inner.py +147 -0
- wandelbots_api_client/v2/models/merge_trajectories_segment.py +126 -0
- wandelbots_api_client/v2/models/merge_trajectories_validation_error.py +109 -0
- wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +102 -0
- wandelbots_api_client/v2/models/modbus_io.py +109 -0
- wandelbots_api_client/v2/models/modbus_io_area.py +37 -0
- wandelbots_api_client/v2/models/modbus_io_byte_order.py +37 -0
- wandelbots_api_client/v2/models/modbus_io_data.py +105 -0
- wandelbots_api_client/v2/models/modbus_io_type_enum.py +36 -0
- wandelbots_api_client/v2/models/motion_command.py +106 -0
- wandelbots_api_client/v2/models/motion_command_blending.py +164 -0
- wandelbots_api_client/v2/models/motion_command_path.py +221 -0
- wandelbots_api_client/v2/models/motion_group_description.py +235 -0
- wandelbots_api_client/v2/models/motion_group_from_json.py +100 -0
- wandelbots_api_client/v2/models/motion_group_from_type.py +96 -0
- wandelbots_api_client/v2/models/motion_group_info.py +90 -0
- wandelbots_api_client/v2/models/motion_group_joints.py +97 -0
- wandelbots_api_client/v2/models/motion_group_setup.py +140 -0
- wandelbots_api_client/v2/models/motion_group_state.py +182 -0
- wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +83 -0
- wandelbots_api_client/v2/models/movement_error_response.py +91 -0
- wandelbots_api_client/v2/models/nan_value_error.py +100 -0
- wandelbots_api_client/v2/models/nan_value_error_nan_value.py +85 -0
- wandelbots_api_client/v2/models/network_device.py +85 -0
- wandelbots_api_client/v2/models/network_interface.py +86 -0
- wandelbots_api_client/v2/models/network_state.py +125 -0
- wandelbots_api_client/v2/models/op_mode.py +84 -0
- wandelbots_api_client/v2/models/operating_state.py +34 -0
- wandelbots_api_client/v2/models/operation_limits.py +106 -0
- wandelbots_api_client/v2/models/operation_mode.py +42 -0
- wandelbots_api_client/v2/models/orientation_type.py +58 -0
- wandelbots_api_client/v2/models/path_cartesian_ptp.py +100 -0
- wandelbots_api_client/v2/models/path_circle.py +105 -0
- wandelbots_api_client/v2/models/path_cubic_spline.py +106 -0
- wandelbots_api_client/v2/models/path_joint_ptp.py +93 -0
- wandelbots_api_client/v2/models/path_line.py +100 -0
- wandelbots_api_client/v2/models/pause_jogging_request.py +90 -0
- wandelbots_api_client/v2/models/pause_jogging_response.py +91 -0
- wandelbots_api_client/v2/models/pause_movement_request.py +90 -0
- wandelbots_api_client/v2/models/pause_movement_response.py +91 -0
- wandelbots_api_client/v2/models/pause_on_io.py +99 -0
- wandelbots_api_client/v2/models/payload.py +98 -0
- wandelbots_api_client/v2/models/plan422_response.py +93 -0
- wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +93 -0
- wandelbots_api_client/v2/models/plan_collision_free_request.py +109 -0
- wandelbots_api_client/v2/models/plan_collision_free_response.py +89 -0
- wandelbots_api_client/v2/models/plan_collision_free_response_response.py +147 -0
- wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +105 -0
- wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py +252 -0
- wandelbots_api_client/v2/models/plan_trajectory_request.py +113 -0
- wandelbots_api_client/v2/models/plan_trajectory_response.py +89 -0
- wandelbots_api_client/v2/models/plan_trajectory_response_response.py +147 -0
- wandelbots_api_client/v2/models/plan_validation_error.py +107 -0
- wandelbots_api_client/v2/models/plan_validation_error_all_of_data.py +183 -0
- wandelbots_api_client/v2/models/plane.py +90 -0
- wandelbots_api_client/v2/models/playback_speed_request.py +96 -0
- wandelbots_api_client/v2/models/playback_speed_response.py +91 -0
- wandelbots_api_client/v2/models/pose.py +90 -0
- wandelbots_api_client/v2/models/profinet_description.py +112 -0
- wandelbots_api_client/v2/models/profinet_input_output_config.py +98 -0
- wandelbots_api_client/v2/models/profinet_io.py +109 -0
- wandelbots_api_client/v2/models/profinet_io_data.py +105 -0
- wandelbots_api_client/v2/models/profinet_io_direction.py +35 -0
- wandelbots_api_client/v2/models/profinet_io_type_enum.py +42 -0
- wandelbots_api_client/v2/models/profinet_slot_description.py +106 -0
- wandelbots_api_client/v2/models/profinet_sub_slot_description.py +92 -0
- wandelbots_api_client/v2/models/program.py +105 -0
- wandelbots_api_client/v2/models/program_run.py +124 -0
- wandelbots_api_client/v2/models/program_run_state.py +37 -0
- wandelbots_api_client/v2/models/program_start_request.py +83 -0
- wandelbots_api_client/v2/models/rectangle.py +92 -0
- wandelbots_api_client/v2/models/rectangular_capsule.py +100 -0
- wandelbots_api_client/v2/models/release_channel.py +34 -0
- wandelbots_api_client/v2/models/robot_controller.py +105 -0
- wandelbots_api_client/v2/models/robot_controller_configuration.py +262 -0
- wandelbots_api_client/v2/models/robot_controller_configuration_request.py +99 -0
- wandelbots_api_client/v2/models/robot_controller_state.py +138 -0
- wandelbots_api_client/v2/models/robot_system_mode.py +37 -0
- wandelbots_api_client/v2/models/robot_tcp.py +110 -0
- wandelbots_api_client/v2/models/robot_tcp_data.py +108 -0
- wandelbots_api_client/v2/models/rrt_connect_algorithm.py +127 -0
- wandelbots_api_client/v2/models/safety_state_type.py +48 -0
- wandelbots_api_client/v2/models/service_group.py +36 -0
- wandelbots_api_client/v2/models/service_status.py +96 -0
- wandelbots_api_client/v2/models/service_status_phase.py +46 -0
- wandelbots_api_client/v2/models/service_status_response.py +100 -0
- wandelbots_api_client/v2/models/service_status_severity.py +35 -0
- wandelbots_api_client/v2/models/service_status_status.py +87 -0
- wandelbots_api_client/v2/models/set_io.py +96 -0
- wandelbots_api_client/v2/models/settable_robot_system_mode.py +36 -0
- wandelbots_api_client/v2/models/singularity_type_enum.py +35 -0
- wandelbots_api_client/v2/models/sphere.py +91 -0
- wandelbots_api_client/v2/models/start_movement_request.py +133 -0
- wandelbots_api_client/v2/models/start_movement_response.py +91 -0
- wandelbots_api_client/v2/models/start_on_io.py +99 -0
- wandelbots_api_client/v2/models/stream_io_values_response.py +103 -0
- wandelbots_api_client/v2/models/tcp_offset.py +88 -0
- wandelbots_api_client/v2/models/tcp_required_error.py +96 -0
- wandelbots_api_client/v2/models/tcp_velocity_request.py +110 -0
- wandelbots_api_client/v2/models/tcp_velocity_response.py +91 -0
- wandelbots_api_client/v2/models/torque_exceeded_error.py +102 -0
- wandelbots_api_client/v2/models/torque_exceeded_error_torque_exceeded.py +86 -0
- wandelbots_api_client/v2/models/trajectory_data.py +106 -0
- wandelbots_api_client/v2/models/trajectory_details.py +106 -0
- wandelbots_api_client/v2/models/trajectory_details_state.py +239 -0
- wandelbots_api_client/v2/models/trajectory_ended.py +90 -0
- wandelbots_api_client/v2/models/trajectory_id.py +93 -0
- wandelbots_api_client/v2/models/trajectory_paused_by_user.py +90 -0
- wandelbots_api_client/v2/models/trajectory_paused_on_io.py +90 -0
- wandelbots_api_client/v2/models/trajectory_running.py +94 -0
- wandelbots_api_client/v2/models/trajectory_section.py +84 -0
- wandelbots_api_client/v2/models/trajectory_wait_for_io.py +90 -0
- wandelbots_api_client/v2/models/unit_type.py +42 -0
- wandelbots_api_client/v2/models/universalrobots_controller.py +91 -0
- wandelbots_api_client/v2/models/update_cell_version_request.py +84 -0
- wandelbots_api_client/v2/models/update_nova_version_request.py +90 -0
- wandelbots_api_client/v2/models/validation_error.py +101 -0
- wandelbots_api_client/v2/models/validation_error2.py +85 -0
- wandelbots_api_client/v2/models/virtual_controller.py +113 -0
- wandelbots_api_client/v2/models/virtual_robot_configuration.py +88 -0
- wandelbots_api_client/v2/models/wait_for_io_event_request.py +93 -0
- wandelbots_api_client/v2/models/yaskawa_controller.py +91 -0
- wandelbots_api_client/v2/models/zod_validation_error.py +87 -0
- wandelbots_api_client/v2/models/zod_validation_error_error.py +108 -0
- wandelbots_api_client/v2/models/zod_validation_error_error_details_inner.py +101 -0
- wandelbots_api_client/v2/models/zod_validation_error_error_details_inner_path_inner.py +153 -0
- wandelbots_api_client/v2/py.typed +0 -0
- wandelbots_api_client/v2/rest.py +188 -0
- wandelbots_api_client/v2_pydantic/__init__.py +49 -0
- wandelbots_api_client/v2_pydantic/api/__init__.py +55 -0
- wandelbots_api_client/v2_pydantic/api/application_api.py +1532 -0
- wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +4534 -0
- wandelbots_api_client/v2_pydantic/api/cell_api.py +2163 -0
- wandelbots_api_client/v2_pydantic/api/controller_api.py +3238 -0
- wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +1244 -0
- wandelbots_api_client/v2_pydantic/api/jogging_api.py +113 -0
- wandelbots_api_client/v2_pydantic/api/kinematics_api.py +555 -0
- wandelbots_api_client/v2_pydantic/api/license_api.py +877 -0
- wandelbots_api_client/v2_pydantic/api/motion_group_api.py +689 -0
- wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +1222 -0
- wandelbots_api_client/v2_pydantic/api/nova_cloud_api.py +760 -0
- wandelbots_api_client/v2_pydantic/api/program_api.py +988 -0
- wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +485 -0
- wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +3479 -0
- wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +1169 -0
- wandelbots_api_client/v2_pydantic/api/store_object_api.py +1414 -0
- wandelbots_api_client/v2_pydantic/api/system_api.py +2696 -0
- wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +1339 -0
- wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +115 -0
- wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +811 -0
- wandelbots_api_client/v2_pydantic/api/version_api.py +240 -0
- wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +4534 -0
- wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +863 -0
- wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +895 -0
- wandelbots_api_client/v2_pydantic/api_client.py +692 -0
- wandelbots_api_client/v2_pydantic/api_response.py +20 -0
- wandelbots_api_client/v2_pydantic/configuration.py +579 -0
- wandelbots_api_client/v2_pydantic/exceptions.py +216 -0
- wandelbots_api_client/v2_pydantic/models/__init__.py +642 -0
- wandelbots_api_client/v2_pydantic/models/models.py +5090 -0
- wandelbots_api_client/v2_pydantic/py.typed +0 -0
- wandelbots_api_client/v2_pydantic/rest.py +188 -0
- wandelbots_api_client-26.3.0.dev29.dist-info/METADATA +241 -0
- wandelbots_api_client-26.3.0.dev29.dist-info/RECORD +693 -0
- wandelbots_api_client-26.3.0.dev29.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,685 @@
|
|
|
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: 1.4.0 dev
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from furl import furl
|
|
15
|
+
import json
|
|
16
|
+
import humps
|
|
17
|
+
import re
|
|
18
|
+
import warnings
|
|
19
|
+
import websockets
|
|
20
|
+
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
21
|
+
from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Tuple, Union
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from urllib.parse import quote
|
|
24
|
+
|
|
25
|
+
from pydantic import Field, StrictStr
|
|
26
|
+
from typing_extensions import Annotated
|
|
27
|
+
from wandelbots_api_client.models.direction_jogging_request import DirectionJoggingRequest
|
|
28
|
+
from wandelbots_api_client.models.jogging_response import JoggingResponse
|
|
29
|
+
from wandelbots_api_client.models.jogging_service_capabilities import JoggingServiceCapabilities
|
|
30
|
+
from wandelbots_api_client.models.joint_jogging_request import JointJoggingRequest
|
|
31
|
+
|
|
32
|
+
from wandelbots_api_client.api_client import ApiClient, RequestSerialized
|
|
33
|
+
from wandelbots_api_client.api_response import ApiResponse
|
|
34
|
+
from wandelbots_api_client.rest import RESTResponseType
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class MotionGroupJoggingApi:
|
|
38
|
+
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
39
|
+
Ref: https://openapi-generator.tech
|
|
40
|
+
|
|
41
|
+
Do not edit the class manually.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
def __init__(self, api_client=None) -> None:
|
|
45
|
+
if api_client is None:
|
|
46
|
+
api_client = ApiClient.get_default()
|
|
47
|
+
self.api_client = api_client
|
|
48
|
+
|
|
49
|
+
@validate_call
|
|
50
|
+
async def direction_jogging(
|
|
51
|
+
self,
|
|
52
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
53
|
+
client_request_generator: Callable[[AsyncGenerator[JoggingResponse, None]], AsyncGenerator[DirectionJoggingRequest, None]],
|
|
54
|
+
) -> None: # noqa: E501
|
|
55
|
+
"""Stream Cartesian # noqa: E501
|
|
56
|
+
|
|
57
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Move TCP along/around a specified direction vector with a specified velocity via a websocket. The purpose of a direction jogging motion is to move a device in exactly one direction with a specified maximum velocity. The sign of the velocity determines the direction of the movement: Positive [+] or Negative [-]. The velocity is given in [mm/s]. In contrast to a planned motion, a jogging motion can be changed dynamically while the motion group is in motion. Only one single client at a time can jog a particular motion group. If another client tries to jog the same motion group at the same time, the second call will fail. The movement of the motion group will start as soon as: * the motion group is not in motion * the websocket connection is established * the first request has been sent As long as the jogging motion is ongoing, responses will be sent continuously and contain the current state of the motion group. The responses will be sent with the specified rate according to the *response_rate* parameter of the initial websocket request. While in motion, the desired direction and velocity can be changed by sending a new request to the same websocket. The motion and sending of the replies will stop when: * a [stopJogging](#/operations/stopJogging) request was received, processed, and the movement stopped The motion group state will be published in the original command stream until the motion group has stopped * the client cancels the stream (not recommended, because final stopping position will not be returned from the stream) When a physical limit (e.g. workspace boundary) is reached, the motion group will stop moving in the desired direction. The stream, howewer, will continue to send the state until the client cancels the stream or sends the [stopJogging](#/operations/stopJogging) request. Singularities are avoided during a jogging motion. This avoidance can result in deviations from the specified direction. The amount of deviation depends on the robot type and current velocity. These mechanisms can lead to a small deviation from the specified direction. The size of deviation is depending on robot type and current velocity. **Usage example:** 1. Open a websocket via Python and start the jogging motion: ```bash > python -m websockets \"ws://<IP of Wandelbots NOVA API>/api/v1/cells/<your cell id>/motion-groups/move-tcp\" ``` 2. Send the following message to the server to move current TCP two parts up in the z direction and one part in the negative y direction with 0.2 mm/s along the specified direction vector: ```json { \"motion_group\": \"<your motion group id>\", \"position_direction\": { \"y\": -0.5, \"z\": 1 }, \"rotation_direction\": {}, \"position_velocity\": 0.2, \"response_rate\": 500 } ``` The NOVA API clients support jogging motions without the need to manually open a websocket. > **NOTE** > > If the jogging movement is stopped immediately, ensure that > > - A websocket connection is established. Websockets can be kept open until the robot's movement is done as opposed to a simple HTTP GET request. > > - The motion group is not in motion by another jogging movement or a planned movement. > **NOTE** > > If the robot does not move, ensure that > > - The joint velocity values are not zero, > > - The motion group is not in a state where it cannot move further (e.g. joint limit reached). > **NOTE** > > If the specified velocities are higher than the maximum allowed by the robot controller, the motion group will move with the maximum allowed velocities. # noqa: E501
|
|
58
|
+
:param client_request_generator: An AsyncGenerator that yields request of type DirectionJoggingRequest and takes an AsyncGenerator of JoggingResponse as an input argument (required)
|
|
59
|
+
:info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[JoggingResponse, None])
|
|
60
|
+
:type AsyncGenerator[DirectionJoggingRequest, None]
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
def format_path_parameters(path):
|
|
64
|
+
# Find all substrings that are enclosed in brackets
|
|
65
|
+
bracket_contents = re.findall(r"\{(.*?)\}", path)
|
|
66
|
+
|
|
67
|
+
# For each found substring, alter it to match the python variable name
|
|
68
|
+
for content in bracket_contents:
|
|
69
|
+
content = "{" + content + "}"
|
|
70
|
+
modified_content = humps.dekebabize(content)
|
|
71
|
+
path = path.replace(content, modified_content)
|
|
72
|
+
|
|
73
|
+
return path
|
|
74
|
+
|
|
75
|
+
async def iterate_responses(ws) -> AsyncGenerator[JoggingResponse, None]:
|
|
76
|
+
async for response in ws:
|
|
77
|
+
if "Cancelled on the server side" in response:
|
|
78
|
+
break
|
|
79
|
+
response_data = json.loads(response)
|
|
80
|
+
if "result" not in response_data:
|
|
81
|
+
raise Exception(response_data)
|
|
82
|
+
result_data = response_data["result"]
|
|
83
|
+
if isinstance(result_data, list):
|
|
84
|
+
# Handle list of objects
|
|
85
|
+
import re
|
|
86
|
+
|
|
87
|
+
# Extract the base type from List[BaseType] pattern
|
|
88
|
+
return_type_str = "JoggingResponse"
|
|
89
|
+
if return_type_str.startswith("List[") and return_type_str.endswith("]"):
|
|
90
|
+
base_type_name = return_type_str[5:-1] # Remove "List[" and "]"
|
|
91
|
+
# Get the actual class from the module
|
|
92
|
+
base_type_class = globals().get(base_type_name)
|
|
93
|
+
if base_type_class and hasattr(base_type_class, "from_dict"):
|
|
94
|
+
result_list = [base_type_class.from_dict(item) for item in result_data]
|
|
95
|
+
yield result_list
|
|
96
|
+
else:
|
|
97
|
+
yield result_data
|
|
98
|
+
else:
|
|
99
|
+
yield result_data
|
|
100
|
+
else:
|
|
101
|
+
# Handle single object
|
|
102
|
+
yield JoggingResponse.from_dict(result_data)
|
|
103
|
+
|
|
104
|
+
path = format_path_parameters("/cells/{cell}/motion-groups/move-tcp")
|
|
105
|
+
path = path.format(
|
|
106
|
+
cell=cell,
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
headers = websockets.Headers()
|
|
110
|
+
tmp_host = self.api_client.configuration.host
|
|
111
|
+
if self.api_client.configuration.host.startswith("https://"):
|
|
112
|
+
# Basic Auth
|
|
113
|
+
if self.api_client.configuration.username:
|
|
114
|
+
tmp_host = self.api_client.configuration.host.replace("https://", "")
|
|
115
|
+
tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
|
|
116
|
+
|
|
117
|
+
# OAuth2
|
|
118
|
+
elif self.api_client.configuration.access_token:
|
|
119
|
+
tmp_host = self.api_client.configuration.host.replace("https://", "")
|
|
120
|
+
tmp_host = f"wss://{tmp_host}"
|
|
121
|
+
headers = websockets.Headers([("Authorization", f"Bearer {self.api_client.configuration.access_token}")])
|
|
122
|
+
else:
|
|
123
|
+
tmp_host = tmp_host.replace("http://", "ws://")
|
|
124
|
+
|
|
125
|
+
full_url = furl(tmp_host + path)
|
|
126
|
+
|
|
127
|
+
async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
|
|
128
|
+
try:
|
|
129
|
+
async for request in client_request_generator(iterate_responses(websocket)):
|
|
130
|
+
await websocket.send(request.to_json())
|
|
131
|
+
finally:
|
|
132
|
+
await websocket.close()
|
|
133
|
+
|
|
134
|
+
@validate_call
|
|
135
|
+
async def get_jogging_capabilities(
|
|
136
|
+
self,
|
|
137
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
138
|
+
motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
|
|
139
|
+
_request_timeout: Union[
|
|
140
|
+
None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
|
|
141
|
+
] = None,
|
|
142
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
143
|
+
_content_type: Optional[StrictStr] = None,
|
|
144
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
145
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
146
|
+
) -> JoggingServiceCapabilities:
|
|
147
|
+
"""Capabilities
|
|
148
|
+
|
|
149
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Shows the options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
|
|
150
|
+
|
|
151
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
152
|
+
:type cell: str
|
|
153
|
+
:param motion_group: The motion-group id. (required)
|
|
154
|
+
:type motion_group: str
|
|
155
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
156
|
+
number provided, it will be total request
|
|
157
|
+
timeout. It can also be a pair (tuple) of
|
|
158
|
+
(connection, read) timeouts.
|
|
159
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
160
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
161
|
+
request; this effectively ignores the
|
|
162
|
+
authentication in the spec for a single request.
|
|
163
|
+
:type _request_auth: dict, optional
|
|
164
|
+
:param _content_type: force content-type for the request.
|
|
165
|
+
:type _content_type: str, Optional
|
|
166
|
+
:param _headers: set to override the headers for a single
|
|
167
|
+
request; this effectively ignores the headers
|
|
168
|
+
in the spec for a single request.
|
|
169
|
+
:type _headers: dict, optional
|
|
170
|
+
:param _host_index: set to override the host_index for a single
|
|
171
|
+
request; this effectively ignores the host_index
|
|
172
|
+
in the spec for a single request.
|
|
173
|
+
:type _host_index: int, optional
|
|
174
|
+
:return: Returns the result object.
|
|
175
|
+
""" # noqa: E501
|
|
176
|
+
|
|
177
|
+
_param = self._get_jogging_capabilities_serialize(
|
|
178
|
+
cell=cell,
|
|
179
|
+
motion_group=motion_group,
|
|
180
|
+
_request_auth=_request_auth,
|
|
181
|
+
_content_type=_content_type,
|
|
182
|
+
_headers=_headers,
|
|
183
|
+
_host_index=_host_index,
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
187
|
+
"200": "JoggingServiceCapabilities",
|
|
188
|
+
}
|
|
189
|
+
response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
190
|
+
await response_data.read()
|
|
191
|
+
return self.api_client.response_deserialize(
|
|
192
|
+
response_data=response_data,
|
|
193
|
+
response_types_map=_response_types_map,
|
|
194
|
+
).data
|
|
195
|
+
|
|
196
|
+
@validate_call
|
|
197
|
+
async def get_jogging_capabilities_with_http_info(
|
|
198
|
+
self,
|
|
199
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
200
|
+
motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
|
|
201
|
+
_request_timeout: Union[
|
|
202
|
+
None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
|
|
203
|
+
] = None,
|
|
204
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
205
|
+
_content_type: Optional[StrictStr] = None,
|
|
206
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
207
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
208
|
+
) -> ApiResponse[JoggingServiceCapabilities]:
|
|
209
|
+
"""Capabilities
|
|
210
|
+
|
|
211
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Shows the options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
|
|
212
|
+
|
|
213
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
214
|
+
:type cell: str
|
|
215
|
+
:param motion_group: The motion-group id. (required)
|
|
216
|
+
:type motion_group: str
|
|
217
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
218
|
+
number provided, it will be total request
|
|
219
|
+
timeout. It can also be a pair (tuple) of
|
|
220
|
+
(connection, read) timeouts.
|
|
221
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
222
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
223
|
+
request; this effectively ignores the
|
|
224
|
+
authentication in the spec for a single request.
|
|
225
|
+
:type _request_auth: dict, optional
|
|
226
|
+
:param _content_type: force content-type for the request.
|
|
227
|
+
:type _content_type: str, Optional
|
|
228
|
+
:param _headers: set to override the headers for a single
|
|
229
|
+
request; this effectively ignores the headers
|
|
230
|
+
in the spec for a single request.
|
|
231
|
+
:type _headers: dict, optional
|
|
232
|
+
:param _host_index: set to override the host_index for a single
|
|
233
|
+
request; this effectively ignores the host_index
|
|
234
|
+
in the spec for a single request.
|
|
235
|
+
:type _host_index: int, optional
|
|
236
|
+
:return: Returns the result object.
|
|
237
|
+
""" # noqa: E501
|
|
238
|
+
|
|
239
|
+
_param = self._get_jogging_capabilities_serialize(
|
|
240
|
+
cell=cell,
|
|
241
|
+
motion_group=motion_group,
|
|
242
|
+
_request_auth=_request_auth,
|
|
243
|
+
_content_type=_content_type,
|
|
244
|
+
_headers=_headers,
|
|
245
|
+
_host_index=_host_index,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
249
|
+
"200": "JoggingServiceCapabilities",
|
|
250
|
+
}
|
|
251
|
+
response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
252
|
+
await response_data.read()
|
|
253
|
+
return self.api_client.response_deserialize(
|
|
254
|
+
response_data=response_data,
|
|
255
|
+
response_types_map=_response_types_map,
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
@validate_call
|
|
259
|
+
async def get_jogging_capabilities_without_preload_content(
|
|
260
|
+
self,
|
|
261
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
262
|
+
motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
|
|
263
|
+
_request_timeout: Union[
|
|
264
|
+
None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
|
|
265
|
+
] = None,
|
|
266
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
267
|
+
_content_type: Optional[StrictStr] = None,
|
|
268
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
269
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
270
|
+
) -> RESTResponseType:
|
|
271
|
+
"""Capabilities
|
|
272
|
+
|
|
273
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Shows the options the motion group offers in regard to jogging. Some motion groups may not provide all information services, e.g. it is physically not possible to move a one-axis-turntable in a linear way.
|
|
274
|
+
|
|
275
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
276
|
+
:type cell: str
|
|
277
|
+
:param motion_group: The motion-group id. (required)
|
|
278
|
+
:type motion_group: str
|
|
279
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
280
|
+
number provided, it will be total request
|
|
281
|
+
timeout. It can also be a pair (tuple) of
|
|
282
|
+
(connection, read) timeouts.
|
|
283
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
284
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
285
|
+
request; this effectively ignores the
|
|
286
|
+
authentication in the spec for a single request.
|
|
287
|
+
:type _request_auth: dict, optional
|
|
288
|
+
:param _content_type: force content-type for the request.
|
|
289
|
+
:type _content_type: str, Optional
|
|
290
|
+
:param _headers: set to override the headers for a single
|
|
291
|
+
request; this effectively ignores the headers
|
|
292
|
+
in the spec for a single request.
|
|
293
|
+
:type _headers: dict, optional
|
|
294
|
+
:param _host_index: set to override the host_index for a single
|
|
295
|
+
request; this effectively ignores the host_index
|
|
296
|
+
in the spec for a single request.
|
|
297
|
+
:type _host_index: int, optional
|
|
298
|
+
:return: Returns the result object.
|
|
299
|
+
""" # noqa: E501
|
|
300
|
+
|
|
301
|
+
_param = self._get_jogging_capabilities_serialize(
|
|
302
|
+
cell=cell,
|
|
303
|
+
motion_group=motion_group,
|
|
304
|
+
_request_auth=_request_auth,
|
|
305
|
+
_content_type=_content_type,
|
|
306
|
+
_headers=_headers,
|
|
307
|
+
_host_index=_host_index,
|
|
308
|
+
)
|
|
309
|
+
|
|
310
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
311
|
+
"200": "JoggingServiceCapabilities",
|
|
312
|
+
}
|
|
313
|
+
response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
314
|
+
return response_data.response
|
|
315
|
+
|
|
316
|
+
def _get_jogging_capabilities_serialize(
|
|
317
|
+
self,
|
|
318
|
+
cell,
|
|
319
|
+
motion_group,
|
|
320
|
+
_request_auth,
|
|
321
|
+
_content_type,
|
|
322
|
+
_headers,
|
|
323
|
+
_host_index,
|
|
324
|
+
) -> RequestSerialized:
|
|
325
|
+
|
|
326
|
+
_host = None
|
|
327
|
+
|
|
328
|
+
_collection_formats: Dict[str, str] = {}
|
|
329
|
+
|
|
330
|
+
_path_params: Dict[str, str] = {}
|
|
331
|
+
_query_params: List[Tuple[str, str]] = []
|
|
332
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
333
|
+
_form_params: List[Tuple[str, str]] = []
|
|
334
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
335
|
+
_body_params: Optional[bytes] = None
|
|
336
|
+
|
|
337
|
+
# process the path parameters
|
|
338
|
+
if cell is not None:
|
|
339
|
+
_path_params["cell"] = cell
|
|
340
|
+
if motion_group is not None:
|
|
341
|
+
_path_params["motion-group"] = motion_group
|
|
342
|
+
# process the query parameters
|
|
343
|
+
# process the header parameters
|
|
344
|
+
# process the form parameters
|
|
345
|
+
# process the body parameter
|
|
346
|
+
|
|
347
|
+
# set the HTTP header `Accept`
|
|
348
|
+
_header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
|
|
349
|
+
|
|
350
|
+
# authentication setting
|
|
351
|
+
_auth_settings: List[str] = ["BearerAuth"]
|
|
352
|
+
|
|
353
|
+
return self.api_client.param_serialize(
|
|
354
|
+
method="GET",
|
|
355
|
+
resource_path="/cells/{cell}/motion-groups/{motion-group}/jogging-capabilities",
|
|
356
|
+
path_params=_path_params,
|
|
357
|
+
query_params=_query_params,
|
|
358
|
+
header_params=_header_params,
|
|
359
|
+
body=_body_params,
|
|
360
|
+
post_params=_form_params,
|
|
361
|
+
files=_files,
|
|
362
|
+
auth_settings=_auth_settings,
|
|
363
|
+
collection_formats=_collection_formats,
|
|
364
|
+
_host=_host,
|
|
365
|
+
_request_auth=_request_auth,
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
@validate_call
|
|
369
|
+
async def joint_jogging(
|
|
370
|
+
self,
|
|
371
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
372
|
+
client_request_generator: Callable[[AsyncGenerator[JoggingResponse, None]], AsyncGenerator[JointJoggingRequest, None]],
|
|
373
|
+
) -> None: # noqa: E501
|
|
374
|
+
"""Stream Joints # noqa: E501
|
|
375
|
+
|
|
376
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Move one or more joints of a motion group with specified velocities via a websocket. The purpose of a joint jogging motion is to maneuver a motion group in one or more joints with a specified velocity for each joint. The sign of the velocity determines the direction of the joint movement. The velocity is given in [rad/s]. In contrast to a planned motion, a jogging motion can be changed dynamically while the motion group is in motion. Only one single client at a time can jog a particular motion group. If another client tries to jog the same motion group at the same time, the second call will fail. The movement of the motion group will start as soon as: * the motion group is not in motion * the websocket connection is established * the first request has been sent As long as the jogging motion is ongoing, responses will be sent continuously and contain the current state of the motion group. The responses will be sent with the specified rate according to the *response_rate* parameter of the initial websocket request. While in motion, the desired joint velocity can be changed by sending a new request to the same websocket. The motion and sending of the replies will stop when: * a [stopJogging](#/operations/stopJogging) request was received, processed, and the movement stopped Motion group state will be published in the original command stream until the motion group has fully stopped * the client cancels the stream (not recommended, because final stopping position will not be returned from the stream) When a physical limit (e.g. joint limit) is reached, the motion group will stop moving in the desired direction. The stream, howewer, will continue to send the state until the client cancels the stream or sends the [stopJogging](#/operations/stopJogging) request. **Usage example:** 1. Open a websocket via Python and start the jogging motion: ```bash > python -m websockets \"ws://<IP of Wandelbots NOVA API>/api/v1/cells/<your cell id>/motion-groups/move-joint\" ``` 2. Send the following message to move with a velocity of 0.1 rad/s (negative) for joint 5 and 0.2 rad/s for joint 6: ```json { \"motion_group\": \"<your motion group id>\", \"joint_velocities\": [0, 0, 0, 0, -0.1, 0.2], \"response_rate\": 500 } ``` The provided NOVA API clients also natively support jogging motions, without the need to manually open a websocket. > **NOTE** > > If the jogging movement is stopped immediately, ensure that > > - A websocket connection is established. Websockets can be kept open until the robot's movement is done as opposed to a simple HTTP GET request. > > - The motion group is not in motion by another jogging movement or a planned movement. > **NOTE** > > If the robot does not move, ensure that > > - The joint velocity values are not zero, > > - The motion group is not in a state where it cannot move further (e.g. joint limit reached). > **NOTE** > > If the specified velocities are higher than the maximum allowed by the robot controller, the motion group will move with the maximum allowed velocities. # noqa: E501
|
|
377
|
+
:param client_request_generator: An AsyncGenerator that yields request of type JointJoggingRequest and takes an AsyncGenerator of JoggingResponse as an input argument (required)
|
|
378
|
+
:info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[JoggingResponse, None])
|
|
379
|
+
:type AsyncGenerator[JointJoggingRequest, None]
|
|
380
|
+
"""
|
|
381
|
+
|
|
382
|
+
def format_path_parameters(path):
|
|
383
|
+
# Find all substrings that are enclosed in brackets
|
|
384
|
+
bracket_contents = re.findall(r"\{(.*?)\}", path)
|
|
385
|
+
|
|
386
|
+
# For each found substring, alter it to match the python variable name
|
|
387
|
+
for content in bracket_contents:
|
|
388
|
+
content = "{" + content + "}"
|
|
389
|
+
modified_content = humps.dekebabize(content)
|
|
390
|
+
path = path.replace(content, modified_content)
|
|
391
|
+
|
|
392
|
+
return path
|
|
393
|
+
|
|
394
|
+
async def iterate_responses(ws) -> AsyncGenerator[JoggingResponse, None]:
|
|
395
|
+
async for response in ws:
|
|
396
|
+
if "Cancelled on the server side" in response:
|
|
397
|
+
break
|
|
398
|
+
response_data = json.loads(response)
|
|
399
|
+
if "result" not in response_data:
|
|
400
|
+
raise Exception(response_data)
|
|
401
|
+
result_data = response_data["result"]
|
|
402
|
+
if isinstance(result_data, list):
|
|
403
|
+
# Handle list of objects
|
|
404
|
+
import re
|
|
405
|
+
|
|
406
|
+
# Extract the base type from List[BaseType] pattern
|
|
407
|
+
return_type_str = "JoggingResponse"
|
|
408
|
+
if return_type_str.startswith("List[") and return_type_str.endswith("]"):
|
|
409
|
+
base_type_name = return_type_str[5:-1] # Remove "List[" and "]"
|
|
410
|
+
# Get the actual class from the module
|
|
411
|
+
base_type_class = globals().get(base_type_name)
|
|
412
|
+
if base_type_class and hasattr(base_type_class, "from_dict"):
|
|
413
|
+
result_list = [base_type_class.from_dict(item) for item in result_data]
|
|
414
|
+
yield result_list
|
|
415
|
+
else:
|
|
416
|
+
yield result_data
|
|
417
|
+
else:
|
|
418
|
+
yield result_data
|
|
419
|
+
else:
|
|
420
|
+
# Handle single object
|
|
421
|
+
yield JoggingResponse.from_dict(result_data)
|
|
422
|
+
|
|
423
|
+
path = format_path_parameters("/cells/{cell}/motion-groups/move-joint")
|
|
424
|
+
path = path.format(
|
|
425
|
+
cell=cell,
|
|
426
|
+
)
|
|
427
|
+
|
|
428
|
+
headers = websockets.Headers()
|
|
429
|
+
tmp_host = self.api_client.configuration.host
|
|
430
|
+
if self.api_client.configuration.host.startswith("https://"):
|
|
431
|
+
# Basic Auth
|
|
432
|
+
if self.api_client.configuration.username:
|
|
433
|
+
tmp_host = self.api_client.configuration.host.replace("https://", "")
|
|
434
|
+
tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
|
|
435
|
+
|
|
436
|
+
# OAuth2
|
|
437
|
+
elif self.api_client.configuration.access_token:
|
|
438
|
+
tmp_host = self.api_client.configuration.host.replace("https://", "")
|
|
439
|
+
tmp_host = f"wss://{tmp_host}"
|
|
440
|
+
headers = websockets.Headers([("Authorization", f"Bearer {self.api_client.configuration.access_token}")])
|
|
441
|
+
else:
|
|
442
|
+
tmp_host = tmp_host.replace("http://", "ws://")
|
|
443
|
+
|
|
444
|
+
full_url = furl(tmp_host + path)
|
|
445
|
+
|
|
446
|
+
async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
|
|
447
|
+
try:
|
|
448
|
+
async for request in client_request_generator(iterate_responses(websocket)):
|
|
449
|
+
await websocket.send(request.to_json())
|
|
450
|
+
finally:
|
|
451
|
+
await websocket.close()
|
|
452
|
+
|
|
453
|
+
@validate_call
|
|
454
|
+
async def stop_jogging(
|
|
455
|
+
self,
|
|
456
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
457
|
+
motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
|
|
458
|
+
_request_timeout: Union[
|
|
459
|
+
None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
|
|
460
|
+
] = None,
|
|
461
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
462
|
+
_content_type: Optional[StrictStr] = None,
|
|
463
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
464
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
465
|
+
) -> None:
|
|
466
|
+
"""Stop
|
|
467
|
+
|
|
468
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Stops an ongoing jogging movement as fast as possible. Until the motion group reaches standstill, it decelerates and keeps the last specified direction. This call will immediately return even if the deceleration is still in progress. After a stop request has been received, no further updates to the ongoing jogging movement are possible. State responses will be sent via the jogging stream until the motion group reaches standstill.
|
|
469
|
+
|
|
470
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
471
|
+
:type cell: str
|
|
472
|
+
:param motion_group: The motion-group id. (required)
|
|
473
|
+
:type motion_group: str
|
|
474
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
475
|
+
number provided, it will be total request
|
|
476
|
+
timeout. It can also be a pair (tuple) of
|
|
477
|
+
(connection, read) timeouts.
|
|
478
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
479
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
480
|
+
request; this effectively ignores the
|
|
481
|
+
authentication in the spec for a single request.
|
|
482
|
+
:type _request_auth: dict, optional
|
|
483
|
+
:param _content_type: force content-type for the request.
|
|
484
|
+
:type _content_type: str, Optional
|
|
485
|
+
:param _headers: set to override the headers for a single
|
|
486
|
+
request; this effectively ignores the headers
|
|
487
|
+
in the spec for a single request.
|
|
488
|
+
:type _headers: dict, optional
|
|
489
|
+
:param _host_index: set to override the host_index for a single
|
|
490
|
+
request; this effectively ignores the host_index
|
|
491
|
+
in the spec for a single request.
|
|
492
|
+
:type _host_index: int, optional
|
|
493
|
+
:return: Returns the result object.
|
|
494
|
+
""" # noqa: E501
|
|
495
|
+
|
|
496
|
+
_param = self._stop_jogging_serialize(
|
|
497
|
+
cell=cell,
|
|
498
|
+
motion_group=motion_group,
|
|
499
|
+
_request_auth=_request_auth,
|
|
500
|
+
_content_type=_content_type,
|
|
501
|
+
_headers=_headers,
|
|
502
|
+
_host_index=_host_index,
|
|
503
|
+
)
|
|
504
|
+
|
|
505
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
506
|
+
"200": None,
|
|
507
|
+
}
|
|
508
|
+
response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
509
|
+
await response_data.read()
|
|
510
|
+
return self.api_client.response_deserialize(
|
|
511
|
+
response_data=response_data,
|
|
512
|
+
response_types_map=_response_types_map,
|
|
513
|
+
).data
|
|
514
|
+
|
|
515
|
+
@validate_call
|
|
516
|
+
async def stop_jogging_with_http_info(
|
|
517
|
+
self,
|
|
518
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
519
|
+
motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
|
|
520
|
+
_request_timeout: Union[
|
|
521
|
+
None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
|
|
522
|
+
] = None,
|
|
523
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
524
|
+
_content_type: Optional[StrictStr] = None,
|
|
525
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
526
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
527
|
+
) -> ApiResponse[None]:
|
|
528
|
+
"""Stop
|
|
529
|
+
|
|
530
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Stops an ongoing jogging movement as fast as possible. Until the motion group reaches standstill, it decelerates and keeps the last specified direction. This call will immediately return even if the deceleration is still in progress. After a stop request has been received, no further updates to the ongoing jogging movement are possible. State responses will be sent via the jogging stream until the motion group reaches standstill.
|
|
531
|
+
|
|
532
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
533
|
+
:type cell: str
|
|
534
|
+
:param motion_group: The motion-group id. (required)
|
|
535
|
+
:type motion_group: str
|
|
536
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
537
|
+
number provided, it will be total request
|
|
538
|
+
timeout. It can also be a pair (tuple) of
|
|
539
|
+
(connection, read) timeouts.
|
|
540
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
541
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
542
|
+
request; this effectively ignores the
|
|
543
|
+
authentication in the spec for a single request.
|
|
544
|
+
:type _request_auth: dict, optional
|
|
545
|
+
:param _content_type: force content-type for the request.
|
|
546
|
+
:type _content_type: str, Optional
|
|
547
|
+
:param _headers: set to override the headers for a single
|
|
548
|
+
request; this effectively ignores the headers
|
|
549
|
+
in the spec for a single request.
|
|
550
|
+
:type _headers: dict, optional
|
|
551
|
+
:param _host_index: set to override the host_index for a single
|
|
552
|
+
request; this effectively ignores the host_index
|
|
553
|
+
in the spec for a single request.
|
|
554
|
+
:type _host_index: int, optional
|
|
555
|
+
:return: Returns the result object.
|
|
556
|
+
""" # noqa: E501
|
|
557
|
+
|
|
558
|
+
_param = self._stop_jogging_serialize(
|
|
559
|
+
cell=cell,
|
|
560
|
+
motion_group=motion_group,
|
|
561
|
+
_request_auth=_request_auth,
|
|
562
|
+
_content_type=_content_type,
|
|
563
|
+
_headers=_headers,
|
|
564
|
+
_host_index=_host_index,
|
|
565
|
+
)
|
|
566
|
+
|
|
567
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
568
|
+
"200": None,
|
|
569
|
+
}
|
|
570
|
+
response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
571
|
+
await response_data.read()
|
|
572
|
+
return self.api_client.response_deserialize(
|
|
573
|
+
response_data=response_data,
|
|
574
|
+
response_types_map=_response_types_map,
|
|
575
|
+
)
|
|
576
|
+
|
|
577
|
+
@validate_call
|
|
578
|
+
async def stop_jogging_without_preload_content(
|
|
579
|
+
self,
|
|
580
|
+
cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
|
|
581
|
+
motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
|
|
582
|
+
_request_timeout: Union[
|
|
583
|
+
None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
|
|
584
|
+
] = None,
|
|
585
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
586
|
+
_content_type: Optional[StrictStr] = None,
|
|
587
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
588
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
589
|
+
) -> RESTResponseType:
|
|
590
|
+
"""Stop
|
|
591
|
+
|
|
592
|
+
**Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Stops an ongoing jogging movement as fast as possible. Until the motion group reaches standstill, it decelerates and keeps the last specified direction. This call will immediately return even if the deceleration is still in progress. After a stop request has been received, no further updates to the ongoing jogging movement are possible. State responses will be sent via the jogging stream until the motion group reaches standstill.
|
|
593
|
+
|
|
594
|
+
:param cell: Unique identifier addressing a cell in all API calls. (required)
|
|
595
|
+
:type cell: str
|
|
596
|
+
:param motion_group: The motion-group id. (required)
|
|
597
|
+
:type motion_group: 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._stop_jogging_serialize(
|
|
621
|
+
cell=cell,
|
|
622
|
+
motion_group=motion_group,
|
|
623
|
+
_request_auth=_request_auth,
|
|
624
|
+
_content_type=_content_type,
|
|
625
|
+
_headers=_headers,
|
|
626
|
+
_host_index=_host_index,
|
|
627
|
+
)
|
|
628
|
+
|
|
629
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
630
|
+
"200": None,
|
|
631
|
+
}
|
|
632
|
+
response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
633
|
+
return response_data.response
|
|
634
|
+
|
|
635
|
+
def _stop_jogging_serialize(
|
|
636
|
+
self,
|
|
637
|
+
cell,
|
|
638
|
+
motion_group,
|
|
639
|
+
_request_auth,
|
|
640
|
+
_content_type,
|
|
641
|
+
_headers,
|
|
642
|
+
_host_index,
|
|
643
|
+
) -> RequestSerialized:
|
|
644
|
+
|
|
645
|
+
_host = None
|
|
646
|
+
|
|
647
|
+
_collection_formats: Dict[str, str] = {}
|
|
648
|
+
|
|
649
|
+
_path_params: Dict[str, str] = {}
|
|
650
|
+
_query_params: List[Tuple[str, str]] = []
|
|
651
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
652
|
+
_form_params: List[Tuple[str, str]] = []
|
|
653
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
654
|
+
_body_params: Optional[bytes] = None
|
|
655
|
+
|
|
656
|
+
# process the path parameters
|
|
657
|
+
if cell is not None:
|
|
658
|
+
_path_params["cell"] = cell
|
|
659
|
+
if motion_group is not None:
|
|
660
|
+
_path_params["motion-group"] = motion_group
|
|
661
|
+
# process the query parameters
|
|
662
|
+
# process the header parameters
|
|
663
|
+
# process the form parameters
|
|
664
|
+
# process the body parameter
|
|
665
|
+
|
|
666
|
+
# set the HTTP header `Accept`
|
|
667
|
+
_header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
|
|
668
|
+
|
|
669
|
+
# authentication setting
|
|
670
|
+
_auth_settings: List[str] = ["BearerAuth"]
|
|
671
|
+
|
|
672
|
+
return self.api_client.param_serialize(
|
|
673
|
+
method="PUT",
|
|
674
|
+
resource_path="/cells/{cell}/motion-groups/{motion-group}/stop",
|
|
675
|
+
path_params=_path_params,
|
|
676
|
+
query_params=_query_params,
|
|
677
|
+
header_params=_header_params,
|
|
678
|
+
body=_body_params,
|
|
679
|
+
post_params=_form_params,
|
|
680
|
+
files=_files,
|
|
681
|
+
auth_settings=_auth_settings,
|
|
682
|
+
collection_formats=_collection_formats,
|
|
683
|
+
_host=_host,
|
|
684
|
+
_request_auth=_request_auth,
|
|
685
|
+
)
|