wandelbots-api-client 25.11.0.dev27__py3-none-any.whl → 26.1.0.dev42__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 +2 -2
- wandelbots_api_client/api/application_api.py +1 -1
- wandelbots_api_client/api/cell_api.py +1 -1
- wandelbots_api_client/api/controller_api.py +1 -1
- wandelbots_api_client/api/controller_ios_api.py +1 -1
- wandelbots_api_client/api/coordinate_systems_api.py +1 -1
- wandelbots_api_client/api/device_configuration_api.py +1 -1
- wandelbots_api_client/api/library_program_api.py +1 -1
- wandelbots_api_client/api/library_program_metadata_api.py +1 -1
- wandelbots_api_client/api/library_recipe_api.py +1 -1
- wandelbots_api_client/api/library_recipe_metadata_api.py +1 -1
- wandelbots_api_client/api/license_api.py +1 -1
- wandelbots_api_client/api/motion_api.py +4 -4
- wandelbots_api_client/api/motion_group_api.py +1 -1
- wandelbots_api_client/api/motion_group_infos_api.py +1 -1
- wandelbots_api_client/api/motion_group_jogging_api.py +1 -1
- wandelbots_api_client/api/motion_group_kinematic_api.py +1 -1
- wandelbots_api_client/api/program_api.py +1 -1
- wandelbots_api_client/api/program_operator_api.py +1 -1
- wandelbots_api_client/api/program_values_api.py +1 -1
- wandelbots_api_client/api/store_collision_components_api.py +1 -1
- wandelbots_api_client/api/store_collision_scenes_api.py +1 -1
- wandelbots_api_client/api/store_object_api.py +1 -1
- wandelbots_api_client/api/system_api.py +1 -1
- wandelbots_api_client/api/version_api.py +1 -1
- wandelbots_api_client/api/virtual_robot_api.py +1 -1
- wandelbots_api_client/api/virtual_robot_behavior_api.py +1 -1
- wandelbots_api_client/api/virtual_robot_mode_api.py +1 -1
- wandelbots_api_client/api/virtual_robot_setup_api.py +1 -1
- wandelbots_api_client/api_client.py +2 -2
- wandelbots_api_client/configuration.py +3 -3
- wandelbots_api_client/exceptions.py +1 -1
- wandelbots_api_client/models/__init__.py +1 -1
- wandelbots_api_client/models/abb_controller.py +1 -1
- wandelbots_api_client/models/abb_controller_egm_server.py +1 -1
- wandelbots_api_client/models/activate_license_request.py +1 -1
- wandelbots_api_client/models/add_request.py +1 -1
- wandelbots_api_client/models/all_joint_positions_request.py +1 -1
- wandelbots_api_client/models/all_joint_positions_response.py +1 -1
- wandelbots_api_client/models/api_version.py +1 -1
- wandelbots_api_client/models/app.py +1 -1
- wandelbots_api_client/models/array_input.py +1 -1
- wandelbots_api_client/models/array_output.py +1 -1
- wandelbots_api_client/models/behavior.py +1 -1
- wandelbots_api_client/models/blending_auto.py +1 -1
- wandelbots_api_client/models/blending_position.py +1 -1
- wandelbots_api_client/models/box.py +1 -1
- wandelbots_api_client/models/box2.py +1 -1
- wandelbots_api_client/models/box3.py +1 -1
- wandelbots_api_client/models/capsule.py +1 -1
- wandelbots_api_client/models/capsule2.py +1 -1
- wandelbots_api_client/models/capsule3.py +1 -1
- wandelbots_api_client/models/capture.py +1 -1
- wandelbots_api_client/models/cell.py +1 -1
- wandelbots_api_client/models/circle.py +1 -1
- wandelbots_api_client/models/code_with_arguments.py +1 -1
- wandelbots_api_client/models/collection_value.py +1 -1
- wandelbots_api_client/models/collider.py +1 -1
- wandelbots_api_client/models/collider_input.py +1 -1
- wandelbots_api_client/models/collider_output.py +1 -1
- wandelbots_api_client/models/collider_output_shape.py +1 -1
- wandelbots_api_client/models/collider_shape.py +1 -1
- wandelbots_api_client/models/collision.py +1 -1
- wandelbots_api_client/models/collision_contact.py +1 -1
- wandelbots_api_client/models/collision_motion_group.py +1 -1
- wandelbots_api_client/models/collision_motion_group_assembly.py +1 -1
- wandelbots_api_client/models/collision_robot_configuration_input.py +1 -1
- wandelbots_api_client/models/collision_robot_configuration_output.py +1 -1
- wandelbots_api_client/models/collision_scene.py +1 -1
- wandelbots_api_client/models/collision_scene_assembly.py +1 -1
- wandelbots_api_client/models/command.py +1 -1
- wandelbots_api_client/models/command_settings.py +1 -1
- wandelbots_api_client/models/comparator.py +1 -1
- wandelbots_api_client/models/compound.py +1 -1
- wandelbots_api_client/models/container_environment_inner.py +1 -1
- wandelbots_api_client/models/container_image.py +1 -1
- wandelbots_api_client/models/container_image_secrets_inner.py +1 -1
- wandelbots_api_client/models/container_resources.py +1 -1
- wandelbots_api_client/models/container_storage.py +1 -1
- wandelbots_api_client/models/controller_capabilities.py +1 -1
- wandelbots_api_client/models/controller_instance.py +1 -1
- wandelbots_api_client/models/controller_instance_list.py +1 -1
- wandelbots_api_client/models/convex_hull.py +1 -1
- wandelbots_api_client/models/convex_hull2.py +1 -1
- wandelbots_api_client/models/convex_hull3.py +1 -1
- wandelbots_api_client/models/coordinate_system.py +1 -1
- wandelbots_api_client/models/coordinate_systems.py +1 -1
- wandelbots_api_client/models/create_device_request_inner.py +1 -1
- wandelbots_api_client/models/create_program_run200_response.py +1 -1
- wandelbots_api_client/models/create_program_run_request.py +1 -1
- wandelbots_api_client/models/create_trigger200_response.py +1 -1
- wandelbots_api_client/models/create_trigger_request.py +1 -1
- wandelbots_api_client/models/cubic_spline.py +1 -1
- wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +1 -1
- wandelbots_api_client/models/cubic_spline_parameter.py +1 -1
- wandelbots_api_client/models/cycle_time.py +1 -1
- wandelbots_api_client/models/cylinder.py +1 -1
- wandelbots_api_client/models/cylinder2.py +1 -1
- wandelbots_api_client/models/cylinder3.py +1 -1
- wandelbots_api_client/models/dh_parameter.py +1 -1
- wandelbots_api_client/models/direction.py +1 -1
- wandelbots_api_client/models/direction_jogging_request.py +1 -1
- wandelbots_api_client/models/error.py +1 -1
- wandelbots_api_client/models/execute_trajectory_request.py +1 -1
- wandelbots_api_client/models/execute_trajectory_response.py +1 -1
- wandelbots_api_client/models/execution_result.py +1 -1
- wandelbots_api_client/models/external_joint_stream_datapoint.py +1 -1
- wandelbots_api_client/models/external_joint_stream_datapoint_value.py +1 -1
- wandelbots_api_client/models/fanuc_controller.py +1 -1
- wandelbots_api_client/models/feedback_collision.py +1 -1
- wandelbots_api_client/models/feedback_joint_limit_exceeded.py +1 -1
- wandelbots_api_client/models/feedback_out_of_workspace.py +1 -1
- wandelbots_api_client/models/feedback_singularity.py +1 -1
- wandelbots_api_client/models/flag.py +1 -1
- wandelbots_api_client/models/force_vector.py +1 -1
- wandelbots_api_client/models/geometry.py +1 -1
- wandelbots_api_client/models/get_all_program_runs200_response.py +1 -1
- wandelbots_api_client/models/get_all_triggers200_response.py +1 -1
- wandelbots_api_client/models/get_mode_response.py +1 -1
- wandelbots_api_client/models/get_trajectory_response.py +1 -1
- wandelbots_api_client/models/get_trajectory_sample_response.py +1 -1
- wandelbots_api_client/models/google_protobuf_any.py +1 -1
- wandelbots_api_client/models/http_exception_response.py +1 -1
- wandelbots_api_client/models/http_validation_error.py +1 -1
- wandelbots_api_client/models/http_validation_error2.py +1 -1
- wandelbots_api_client/models/image_credentials.py +1 -1
- wandelbots_api_client/models/info_service_capabilities.py +1 -1
- wandelbots_api_client/models/initialize_movement_request.py +1 -1
- wandelbots_api_client/models/initialize_movement_response.py +1 -1
- wandelbots_api_client/models/initialize_movement_response_init_response.py +1 -1
- wandelbots_api_client/models/io.py +1 -1
- wandelbots_api_client/models/io_description.py +1 -1
- wandelbots_api_client/models/io_value.py +1 -1
- wandelbots_api_client/models/ios.py +1 -1
- wandelbots_api_client/models/jogging_response.py +1 -1
- wandelbots_api_client/models/jogging_service_capabilities.py +1 -1
- wandelbots_api_client/models/joint_jogging_request.py +1 -1
- wandelbots_api_client/models/joint_limit.py +1 -1
- wandelbots_api_client/models/joint_limit_exceeded.py +1 -1
- wandelbots_api_client/models/joint_position_request.py +1 -1
- wandelbots_api_client/models/joint_trajectory.py +1 -1
- wandelbots_api_client/models/joints.py +1 -1
- wandelbots_api_client/models/kinematic_service_capabilities.py +1 -1
- wandelbots_api_client/models/kuka_controller.py +1 -1
- wandelbots_api_client/models/kuka_controller_rsi_server.py +1 -1
- wandelbots_api_client/models/license.py +1 -1
- wandelbots_api_client/models/license_status.py +1 -1
- wandelbots_api_client/models/license_status_enum.py +1 -1
- wandelbots_api_client/models/limit_settings.py +1 -1
- wandelbots_api_client/models/limits_override.py +1 -1
- wandelbots_api_client/models/list_devices200_response_inner.py +1 -1
- wandelbots_api_client/models/list_io_descriptions_response.py +1 -1
- wandelbots_api_client/models/list_io_values_response.py +1 -1
- wandelbots_api_client/models/list_payloads_response.py +1 -1
- wandelbots_api_client/models/list_program_metadata_response.py +1 -1
- wandelbots_api_client/models/list_recipe_metadata_response.py +1 -1
- wandelbots_api_client/models/list_response.py +1 -1
- wandelbots_api_client/models/list_tcps_response.py +1 -1
- wandelbots_api_client/models/manufacturer.py +1 -1
- wandelbots_api_client/models/mode_change_response.py +1 -1
- wandelbots_api_client/models/motion_command.py +1 -1
- wandelbots_api_client/models/motion_command_blending.py +1 -1
- wandelbots_api_client/models/motion_command_path.py +1 -1
- wandelbots_api_client/models/motion_group_behavior_getter.py +1 -1
- wandelbots_api_client/models/motion_group_info.py +1 -1
- wandelbots_api_client/models/motion_group_infos.py +1 -1
- wandelbots_api_client/models/motion_group_instance.py +1 -1
- wandelbots_api_client/models/motion_group_instance_list.py +1 -1
- wandelbots_api_client/models/motion_group_joints.py +1 -1
- wandelbots_api_client/models/motion_group_physical.py +1 -1
- wandelbots_api_client/models/motion_group_specification.py +1 -1
- wandelbots_api_client/models/motion_group_state.py +1 -1
- wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +1 -1
- wandelbots_api_client/models/motion_group_state_response.py +1 -1
- wandelbots_api_client/models/motion_id.py +1 -1
- wandelbots_api_client/models/motion_ids_list_response.py +1 -1
- wandelbots_api_client/models/motion_vector.py +1 -1
- wandelbots_api_client/models/mounting.py +1 -1
- wandelbots_api_client/models/move_request.py +1 -1
- wandelbots_api_client/models/move_response.py +1 -1
- wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +1 -1
- wandelbots_api_client/models/movement.py +1 -1
- wandelbots_api_client/models/movement_error.py +1 -1
- wandelbots_api_client/models/movement_error_error.py +1 -1
- wandelbots_api_client/models/movement_movement.py +1 -1
- wandelbots_api_client/models/op_mode.py +1 -1
- wandelbots_api_client/models/opcua_node_value_trigger_config.py +1 -1
- wandelbots_api_client/models/opcua_node_value_trigger_config_node_value.py +1 -1
- wandelbots_api_client/models/optimizer_setup.py +1 -1
- wandelbots_api_client/models/out_of_workspace.py +1 -1
- wandelbots_api_client/models/path.py +1 -1
- wandelbots_api_client/models/path_cartesian_ptp.py +1 -1
- wandelbots_api_client/models/path_circle.py +1 -1
- wandelbots_api_client/models/path_cubic_spline.py +1 -1
- wandelbots_api_client/models/path_joint_ptp.py +1 -1
- wandelbots_api_client/models/path_line.py +1 -1
- wandelbots_api_client/models/pause_movement_request.py +1 -1
- wandelbots_api_client/models/pause_movement_response.py +1 -1
- wandelbots_api_client/models/pause_movement_response_pause_response.py +1 -1
- wandelbots_api_client/models/pause_on_io.py +1 -1
- wandelbots_api_client/models/payload.py +1 -1
- wandelbots_api_client/models/plan_collision_free_ptp_request.py +1 -1
- wandelbots_api_client/models/plan_collision_free_ptp_request_target.py +1 -1
- wandelbots_api_client/models/plan_failed_on_trajectory_response.py +1 -1
- wandelbots_api_client/models/plan_failed_response.py +1 -1
- wandelbots_api_client/models/plan_request.py +1 -1
- wandelbots_api_client/models/plan_response.py +1 -1
- wandelbots_api_client/models/plan_successful_response.py +1 -1
- wandelbots_api_client/models/plan_trajectory_failed_response.py +1 -1
- wandelbots_api_client/models/plan_trajectory_failed_response_error_feedback.py +1 -1
- wandelbots_api_client/models/plan_trajectory_request.py +1 -1
- wandelbots_api_client/models/plan_trajectory_response.py +1 -1
- wandelbots_api_client/models/plan_trajectory_response_response.py +1 -1
- wandelbots_api_client/models/plane2.py +1 -1
- wandelbots_api_client/models/plane3.py +1 -1
- wandelbots_api_client/models/planned_motion.py +1 -1
- wandelbots_api_client/models/planner_pose.py +1 -1
- wandelbots_api_client/models/planning_limits.py +1 -1
- wandelbots_api_client/models/planning_limits_limit_range.py +1 -1
- wandelbots_api_client/models/playback_speed_request.py +1 -1
- wandelbots_api_client/models/playback_speed_response.py +1 -1
- wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +1 -1
- wandelbots_api_client/models/point_cloud.py +1 -1
- wandelbots_api_client/models/pose.py +1 -1
- wandelbots_api_client/models/pose2.py +1 -1
- wandelbots_api_client/models/program_metadata.py +1 -1
- wandelbots_api_client/models/program_run.py +1 -1
- wandelbots_api_client/models/program_run_object.py +1 -1
- wandelbots_api_client/models/program_run_state.py +1 -1
- wandelbots_api_client/models/program_runner_reference.py +1 -1
- wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +1 -1
- wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +1 -1
- wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +1 -1
- wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +1 -1
- wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +1 -1
- wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +1 -1
- wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +1 -1
- wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +1 -1
- wandelbots_api_client/models/quaternion.py +1 -1
- wandelbots_api_client/models/recipe_metadata.py +1 -1
- wandelbots_api_client/models/rectangle.py +1 -1
- wandelbots_api_client/models/rectangle2.py +1 -1
- wandelbots_api_client/models/rectangle3.py +1 -1
- wandelbots_api_client/models/rectangular_capsule.py +1 -1
- wandelbots_api_client/models/rectangular_capsule2.py +1 -1
- wandelbots_api_client/models/rectangular_capsule3.py +1 -1
- wandelbots_api_client/models/release_channel.py +1 -1
- wandelbots_api_client/models/request.py +1 -1
- wandelbots_api_client/models/request1.py +1 -1
- wandelbots_api_client/models/response_get_value_programs_values_key_get.py +1 -1
- wandelbots_api_client/models/response_get_values_programs_values_get_value.py +1 -1
- wandelbots_api_client/models/robot_controller.py +1 -1
- wandelbots_api_client/models/robot_controller_configuration.py +1 -1
- wandelbots_api_client/models/robot_controller_state.py +1 -1
- wandelbots_api_client/models/robot_link_geometry.py +1 -1
- wandelbots_api_client/models/robot_state.py +1 -1
- wandelbots_api_client/models/robot_system_mode.py +1 -1
- wandelbots_api_client/models/robot_tcp.py +1 -1
- wandelbots_api_client/models/robot_tcps.py +1 -1
- wandelbots_api_client/models/rotation_angle_types.py +1 -1
- wandelbots_api_client/models/rotation_angles.py +1 -1
- wandelbots_api_client/models/safety_configuration.py +1 -1
- wandelbots_api_client/models/safety_setup.py +1 -1
- wandelbots_api_client/models/safety_setup_safety_settings.py +1 -1
- wandelbots_api_client/models/safety_setup_safety_zone.py +1 -1
- wandelbots_api_client/models/safety_zone.py +1 -1
- wandelbots_api_client/models/safety_zone_limits.py +1 -1
- wandelbots_api_client/models/safety_zone_violation.py +1 -1
- wandelbots_api_client/models/service_status.py +1 -1
- wandelbots_api_client/models/service_status_phase.py +1 -1
- wandelbots_api_client/models/service_status_severity.py +1 -1
- wandelbots_api_client/models/service_status_status.py +1 -1
- wandelbots_api_client/models/set_io.py +1 -1
- wandelbots_api_client/models/set_playback_speed.py +1 -1
- wandelbots_api_client/models/single_joint_limit.py +1 -1
- wandelbots_api_client/models/singularity.py +1 -1
- wandelbots_api_client/models/singularity_type_enum.py +1 -1
- wandelbots_api_client/models/sphere.py +1 -1
- wandelbots_api_client/models/sphere2.py +1 -1
- wandelbots_api_client/models/sphere3.py +1 -1
- wandelbots_api_client/models/standstill.py +1 -1
- wandelbots_api_client/models/standstill_reason.py +1 -1
- wandelbots_api_client/models/standstill_standstill.py +1 -1
- wandelbots_api_client/models/start_movement_request.py +1 -1
- wandelbots_api_client/models/start_on_io.py +1 -1
- wandelbots_api_client/models/status.py +1 -1
- wandelbots_api_client/models/stop_response.py +1 -1
- wandelbots_api_client/models/store_value.py +1 -1
- wandelbots_api_client/models/stream_move_backward.py +1 -1
- wandelbots_api_client/models/stream_move_forward.py +1 -1
- wandelbots_api_client/models/stream_move_playback_speed.py +1 -1
- wandelbots_api_client/models/stream_move_request.py +1 -1
- wandelbots_api_client/models/stream_move_response.py +1 -1
- wandelbots_api_client/models/stream_move_to_trajectory.py +1 -1
- wandelbots_api_client/models/stream_stop.py +1 -1
- wandelbots_api_client/models/tcp_pose.py +1 -1
- wandelbots_api_client/models/tcp_pose_request.py +1 -1
- wandelbots_api_client/models/tool_geometry.py +1 -1
- wandelbots_api_client/models/trajectory_sample.py +1 -1
- wandelbots_api_client/models/trigger_object.py +1 -1
- wandelbots_api_client/models/trigger_type.py +1 -1
- wandelbots_api_client/models/universalrobots_controller.py +1 -1
- wandelbots_api_client/models/update_nova_version_request.py +1 -1
- wandelbots_api_client/models/update_program_metadata_request.py +1 -1
- wandelbots_api_client/models/update_recipe_metadata_request.py +1 -1
- wandelbots_api_client/models/update_trigger_request.py +1 -1
- wandelbots_api_client/models/validation_error.py +1 -1
- wandelbots_api_client/models/validation_error2.py +1 -1
- wandelbots_api_client/models/validation_error2_loc_inner.py +1 -1
- wandelbots_api_client/models/validation_error_loc_inner.py +1 -1
- wandelbots_api_client/models/value.py +1 -1
- wandelbots_api_client/models/vector3d.py +1 -1
- wandelbots_api_client/models/version_number.py +1 -1
- wandelbots_api_client/models/virtual_controller.py +1 -1
- wandelbots_api_client/models/virtual_controller_types.py +1 -1
- wandelbots_api_client/models/virtual_robot_configuration.py +1 -1
- wandelbots_api_client/models/yaskawa_controller.py +1 -1
- wandelbots_api_client/rest.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 +530 -2
- wandelbots_api_client/v2/api/trajectory_execution_api.py +1 -1
- 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/blending_auto.py +1 -1
- wandelbots_api_client/v2/models/blending_position.py +15 -1
- wandelbots_api_client/v2/models/blending_space.py +37 -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 +536 -2
- wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +1 -1
- 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 +397 -375
- {wandelbots_api_client-25.11.0.dev27.dist-info → wandelbots_api_client-26.1.0.dev42.dist-info}/METADATA +3 -3
- {wandelbots_api_client-25.11.0.dev27.dist-info → wandelbots_api_client-26.1.0.dev42.dist-info}/RECORD +347 -346
- {wandelbots_api_client-25.11.0.dev27.dist-info → wandelbots_api_client-26.1.0.dev42.dist-info}/WHEEL +0 -0
- {wandelbots_api_client-25.11.0.dev27.dist-info → wandelbots_api_client-26.1.0.dev42.dist-info}/licenses/LICENSE +0 -0
- {wandelbots_api_client-25.11.0.dev27.dist-info → wandelbots_api_client-26.1.0.dev42.dist-info}/top_level.txt +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: public.openapi.yaml
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-07T10:19:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
from datetime import date
|
|
8
8
|
from enum import Enum
|
|
9
9
|
from pathlib import Path
|
|
10
|
-
from typing import Annotated, Any,
|
|
10
|
+
from typing import Annotated, Any, Literal
|
|
11
11
|
|
|
12
12
|
from pydantic import AwareDatetime, BaseModel, EmailStr, Field, RootModel
|
|
13
13
|
|
|
@@ -17,7 +17,7 @@ class NameList(RootModel):
|
|
|
17
17
|
A list of names
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
root:
|
|
20
|
+
root: list[str]
|
|
21
21
|
"""
|
|
22
22
|
A list of names
|
|
23
23
|
"""
|
|
@@ -127,7 +127,7 @@ class KukaController(BaseModel):
|
|
|
127
127
|
"""
|
|
128
128
|
The RSI server runs inside of the cell.
|
|
129
129
|
"""
|
|
130
|
-
slow_cycle_rate:
|
|
130
|
+
slow_cycle_rate: bool | None = False
|
|
131
131
|
"""
|
|
132
132
|
If true, uses slower cycle time of 12ms instead of 4ms.
|
|
133
133
|
|
|
@@ -284,15 +284,15 @@ class VirtualController(BaseModel):
|
|
|
284
284
|
|
|
285
285
|
kind: Literal['VirtualController'] = 'VirtualController'
|
|
286
286
|
manufacturer: Manufacturer
|
|
287
|
-
type:
|
|
288
|
-
json_: Annotated[
|
|
287
|
+
type: VirtualControllerTypes | None = None
|
|
288
|
+
json_: Annotated[str | None, Field(alias='json')] = None
|
|
289
289
|
"""
|
|
290
290
|
Complete JSON configuration of the virtual robot controller.
|
|
291
291
|
Can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](getVirtualControllerConfiguration).
|
|
292
292
|
If provided, the `type` field should not be used.
|
|
293
293
|
|
|
294
294
|
"""
|
|
295
|
-
initial_joint_position:
|
|
295
|
+
initial_joint_position: str | None = None
|
|
296
296
|
"""
|
|
297
297
|
Initial joint position of the first motion group from the virtual robot controller.
|
|
298
298
|
Provide the joint position as a JSON array containing 7 float values,
|
|
@@ -323,14 +323,12 @@ class RobotController(BaseModel):
|
|
|
323
323
|
|
|
324
324
|
"""
|
|
325
325
|
configuration: Annotated[
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
YaskawaController,
|
|
333
|
-
],
|
|
326
|
+
AbbController
|
|
327
|
+
| FanucController
|
|
328
|
+
| KukaController
|
|
329
|
+
| UniversalrobotsController
|
|
330
|
+
| VirtualController
|
|
331
|
+
| YaskawaController,
|
|
334
332
|
Field(discriminator='kind'),
|
|
335
333
|
]
|
|
336
334
|
|
|
@@ -360,8 +358,8 @@ class ContainerImage(BaseModel):
|
|
|
360
358
|
"""
|
|
361
359
|
The location of a container image in the form of `<registry>/<image>:<tag>`.
|
|
362
360
|
"""
|
|
363
|
-
credentials:
|
|
364
|
-
secrets:
|
|
361
|
+
credentials: ImageCredentials | None = None
|
|
362
|
+
secrets: list[Secret] | None = None
|
|
365
363
|
"""
|
|
366
364
|
Known secrets for authentication with the container registry.
|
|
367
365
|
"""
|
|
@@ -379,7 +377,7 @@ class ContainerEnvironment(RootModel):
|
|
|
379
377
|
|
|
380
378
|
"""
|
|
381
379
|
|
|
382
|
-
root:
|
|
380
|
+
root: list[ContainerEnvironmentItem]
|
|
383
381
|
"""
|
|
384
382
|
A list of environment variables with name and their value.
|
|
385
383
|
These can be used to configure the containerized application, and turn features on or off.
|
|
@@ -446,11 +444,11 @@ class ContainerResources(BaseModel):
|
|
|
446
444
|
Additional resources that the application requires.
|
|
447
445
|
"""
|
|
448
446
|
|
|
449
|
-
intel_gpu: Annotated[
|
|
447
|
+
intel_gpu: Annotated[int | None, Field(ge=0, le=1)] = None
|
|
450
448
|
"""
|
|
451
449
|
Number of GPUs the application requires.
|
|
452
450
|
"""
|
|
453
|
-
memory_limit: Annotated[
|
|
451
|
+
memory_limit: Annotated[str | None, Field(examples=['1000Mi'])] = None
|
|
454
452
|
"""
|
|
455
453
|
The maximum memory allocated to this application.
|
|
456
454
|
"""
|
|
@@ -478,14 +476,14 @@ class App(BaseModel):
|
|
|
478
476
|
The path of the icon for the App (/$cell/$name/$app_icon).
|
|
479
477
|
"""
|
|
480
478
|
container_image: ContainerImage
|
|
481
|
-
port:
|
|
479
|
+
port: int | None = 8080
|
|
482
480
|
"""
|
|
483
481
|
The port the containerized webserver is listening on.
|
|
484
482
|
"""
|
|
485
|
-
environment:
|
|
486
|
-
storage:
|
|
487
|
-
resources:
|
|
488
|
-
health_path:
|
|
483
|
+
environment: ContainerEnvironment | None = None
|
|
484
|
+
storage: ContainerStorage | None = None
|
|
485
|
+
resources: ContainerResources | None = None
|
|
486
|
+
health_path: str | None = None
|
|
489
487
|
"""
|
|
490
488
|
Defines the URL path suffix used to check the application's health status. The complete health check URL
|
|
491
489
|
is constructed as `/$cell/$name/$health_path`. When the application is working as expected,
|
|
@@ -498,7 +496,7 @@ class App(BaseModel):
|
|
|
498
496
|
automatically restart the application container to restore service.
|
|
499
497
|
|
|
500
498
|
"""
|
|
501
|
-
diagnosis_path:
|
|
499
|
+
diagnosis_path: str | None = None
|
|
502
500
|
"""
|
|
503
501
|
Defines the URL path suffix used to provide an endpoint for diagnosis data collection.
|
|
504
502
|
The complete diagnosis check URL is constructed as `/$cell/$name/$diagnosis_path`.
|
|
@@ -518,13 +516,13 @@ class Cell(BaseModel):
|
|
|
518
516
|
"""
|
|
519
517
|
|
|
520
518
|
name: CellName
|
|
521
|
-
description:
|
|
522
|
-
controllers:
|
|
523
|
-
apps:
|
|
519
|
+
description: CellDescription | None = None
|
|
520
|
+
controllers: list[RobotController] | None = None
|
|
521
|
+
apps: list[App] | None = None
|
|
524
522
|
|
|
525
523
|
|
|
526
524
|
class Error(BaseModel):
|
|
527
|
-
code:
|
|
525
|
+
code: str | None = None
|
|
528
526
|
message: str
|
|
529
527
|
|
|
530
528
|
|
|
@@ -570,7 +568,7 @@ class ServiceStatusPhase(Enum):
|
|
|
570
568
|
class Status(BaseModel):
|
|
571
569
|
severity: ServiceStatusSeverity
|
|
572
570
|
code: ServiceStatusPhase
|
|
573
|
-
reason:
|
|
571
|
+
reason: str | None = None
|
|
574
572
|
|
|
575
573
|
|
|
576
574
|
class ServiceStatus(BaseModel):
|
|
@@ -580,7 +578,7 @@ class ServiceStatus(BaseModel):
|
|
|
580
578
|
|
|
581
579
|
|
|
582
580
|
class ServiceStatusList(RootModel):
|
|
583
|
-
root:
|
|
581
|
+
root: list[ServiceStatus]
|
|
584
582
|
|
|
585
583
|
def __getitem__(self, index: int) -> ServiceStatus:
|
|
586
584
|
"""
|
|
@@ -644,14 +642,14 @@ class BusIOProfinetIpConfig(BaseModel):
|
|
|
644
642
|
|
|
645
643
|
|
|
646
644
|
class BusIOProfinetNetwork(BaseModel):
|
|
647
|
-
device_name: Annotated[
|
|
645
|
+
device_name: Annotated[str | None, Field(examples=['pnDevice'])] = None
|
|
648
646
|
"""
|
|
649
647
|
Name of Station (NoS) of the PROFINET device. The NoS is used in combination with IPv4 record to identify your device in the PROFINET network.
|
|
650
648
|
The `device_name` will be used as NoS if no REMA XML file is already present on your machine and no `rema_xml_content` is provided.
|
|
651
649
|
|
|
652
650
|
"""
|
|
653
|
-
ip_config:
|
|
654
|
-
rema_xml_content:
|
|
651
|
+
ip_config: BusIOProfinetIpConfig | None = None
|
|
652
|
+
rema_xml_content: str | None = None
|
|
655
653
|
"""
|
|
656
654
|
Content of the PROFINET REMA XML file.
|
|
657
655
|
Is used when PROFINET service is added for the first time to create the REMA XML file that holds data to be kept for the next session.
|
|
@@ -690,7 +688,7 @@ class BusIOProfinet(BaseModel):
|
|
|
690
688
|
"""
|
|
691
689
|
|
|
692
690
|
bus_type: Literal['profinet'] = 'profinet'
|
|
693
|
-
network_config:
|
|
691
|
+
network_config: BusIOProfinetNetwork | None = None
|
|
694
692
|
"""
|
|
695
693
|
Used to enable IP communication through the same physical ethernet interface while PROFINET driver is active.
|
|
696
694
|
|
|
@@ -709,7 +707,9 @@ class BusIOProfinet(BaseModel):
|
|
|
709
707
|
MAC address of the physical ethernet interface that you want to use for PROFINET communication.
|
|
710
708
|
|
|
711
709
|
"""
|
|
712
|
-
default_route:
|
|
710
|
+
default_route: Annotated[
|
|
711
|
+
BusIOProfinetDefaultRoute | None, Field(deprecated=True)
|
|
712
|
+
] = None
|
|
713
713
|
|
|
714
714
|
|
|
715
715
|
class BusIOProfinetVirtual(BaseModel):
|
|
@@ -722,7 +722,7 @@ class BusIOProfinetVirtual(BaseModel):
|
|
|
722
722
|
|
|
723
723
|
|
|
724
724
|
class BusIOModbusTCPServer(BaseModel):
|
|
725
|
-
network_type:
|
|
725
|
+
network_type: Literal['tcp'] | None = None
|
|
726
726
|
port: Annotated[int, Field(examples=[502], ge=1, le=65534)]
|
|
727
727
|
"""
|
|
728
728
|
Port number of the MODBUS server to establish communication with.
|
|
@@ -766,7 +766,7 @@ class BusIOModbusServer(BaseModel):
|
|
|
766
766
|
|
|
767
767
|
|
|
768
768
|
class BusIOModbusTCPClient(BaseModel):
|
|
769
|
-
network_type:
|
|
769
|
+
network_type: Literal['tcp'] | None = None
|
|
770
770
|
ip: Annotated[str, Field(examples=['192.168.1.100'])]
|
|
771
771
|
"""
|
|
772
772
|
IP address of the MODBUS server to establish communication with.
|
|
@@ -800,13 +800,11 @@ class BusIOModbusVirtual(BaseModel):
|
|
|
800
800
|
|
|
801
801
|
class BusIOType(RootModel):
|
|
802
802
|
root: Annotated[
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
BusIOModbusVirtual,
|
|
809
|
-
],
|
|
803
|
+
BusIOProfinet
|
|
804
|
+
| BusIOProfinetVirtual
|
|
805
|
+
| BusIOModbusServer
|
|
806
|
+
| BusIOModbusClient
|
|
807
|
+
| BusIOModbusVirtual,
|
|
810
808
|
Field(discriminator='bus_type'),
|
|
811
809
|
]
|
|
812
810
|
|
|
@@ -845,7 +843,7 @@ class Metadata(RootModel):
|
|
|
845
843
|
Additional metadata to add to the backup
|
|
846
844
|
"""
|
|
847
845
|
|
|
848
|
-
root:
|
|
846
|
+
root: dict[str, str]
|
|
849
847
|
|
|
850
848
|
|
|
851
849
|
class ConfigurationArchive(RootModel):
|
|
@@ -883,11 +881,9 @@ class ConfigurationArchiveStatusSuccess(BaseModel):
|
|
|
883
881
|
|
|
884
882
|
class ConfigurationArchiveStatus(RootModel):
|
|
885
883
|
root: Annotated[
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
ConfigurationArchiveStatusSuccess,
|
|
890
|
-
],
|
|
884
|
+
ConfigurationArchiveStatusCreating
|
|
885
|
+
| ConfigurationArchiveStatusError
|
|
886
|
+
| ConfigurationArchiveStatusSuccess,
|
|
891
887
|
Field(discriminator='status'),
|
|
892
888
|
]
|
|
893
889
|
"""
|
|
@@ -925,7 +921,7 @@ class License(BaseModel):
|
|
|
925
921
|
"""
|
|
926
922
|
Identification key of the license.
|
|
927
923
|
"""
|
|
928
|
-
license_expiry_date:
|
|
924
|
+
license_expiry_date: date | None = None
|
|
929
925
|
"""
|
|
930
926
|
Expiration date of the license.
|
|
931
927
|
"""
|
|
@@ -941,11 +937,11 @@ class License(BaseModel):
|
|
|
941
937
|
"""
|
|
942
938
|
Amount of times the license can be activated.
|
|
943
939
|
"""
|
|
944
|
-
feature_limitations:
|
|
940
|
+
feature_limitations: dict[str, int] | None = None
|
|
945
941
|
"""
|
|
946
942
|
Feature limitations of the license.
|
|
947
943
|
"""
|
|
948
|
-
feature_flags:
|
|
944
|
+
feature_flags: list[str] | None = None
|
|
949
945
|
"""
|
|
950
946
|
Features enabled by a license.
|
|
951
947
|
"""
|
|
@@ -1101,7 +1097,7 @@ class Vector3d(RootModel):
|
|
|
1101
1097
|
|
|
1102
1098
|
"""
|
|
1103
1099
|
|
|
1104
|
-
root: Annotated[
|
|
1100
|
+
root: Annotated[list[float], Field(max_length=3, min_length=3, title='Vector3d')]
|
|
1105
1101
|
"""
|
|
1106
1102
|
A three-dimensional vector [x, y, z] with double precision.
|
|
1107
1103
|
|
|
@@ -1138,7 +1134,7 @@ class ConvexHull(BaseModel):
|
|
|
1138
1134
|
"""
|
|
1139
1135
|
|
|
1140
1136
|
shape_type: Literal['convex_hull'] = 'convex_hull'
|
|
1141
|
-
vertices:
|
|
1137
|
+
vertices: list[Vector3d]
|
|
1142
1138
|
"""
|
|
1143
1139
|
The list of encapsulated points.
|
|
1144
1140
|
"""
|
|
@@ -1154,7 +1150,7 @@ class RotationVector(RootModel):
|
|
|
1154
1150
|
"""
|
|
1155
1151
|
|
|
1156
1152
|
root: Annotated[
|
|
1157
|
-
|
|
1153
|
+
list[float], Field(max_length=3, min_length=3, title='RotationVector')
|
|
1158
1154
|
]
|
|
1159
1155
|
"""
|
|
1160
1156
|
Defines a rotation in 3D space.
|
|
@@ -1197,8 +1193,8 @@ class Pose(BaseModel):
|
|
|
1197
1193
|
|
|
1198
1194
|
"""
|
|
1199
1195
|
|
|
1200
|
-
position:
|
|
1201
|
-
orientation:
|
|
1196
|
+
position: Vector3d | None = None
|
|
1197
|
+
orientation: RotationVector | None = None
|
|
1202
1198
|
|
|
1203
1199
|
|
|
1204
1200
|
class Collider(BaseModel):
|
|
@@ -1216,27 +1212,25 @@ class Collider(BaseModel):
|
|
|
1216
1212
|
"""
|
|
1217
1213
|
|
|
1218
1214
|
shape: Annotated[
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
ConvexHull,
|
|
1228
|
-
],
|
|
1215
|
+
Sphere
|
|
1216
|
+
| Box
|
|
1217
|
+
| Rectangle
|
|
1218
|
+
| Plane
|
|
1219
|
+
| Cylinder
|
|
1220
|
+
| Capsule
|
|
1221
|
+
| RectangularCapsule
|
|
1222
|
+
| ConvexHull,
|
|
1229
1223
|
Field(discriminator='shape_type'),
|
|
1230
1224
|
]
|
|
1231
|
-
pose:
|
|
1232
|
-
margin:
|
|
1225
|
+
pose: Pose | None = None
|
|
1226
|
+
margin: float | None = 0
|
|
1233
1227
|
"""
|
|
1234
1228
|
Increases the shape's size in all dimensions. Applied in [mm]. Can be used to keep a safe distance to the shape.
|
|
1235
1229
|
"""
|
|
1236
1230
|
|
|
1237
1231
|
|
|
1238
1232
|
class Link(RootModel):
|
|
1239
|
-
root:
|
|
1233
|
+
root: dict[str, Collider]
|
|
1240
1234
|
|
|
1241
1235
|
|
|
1242
1236
|
class LinkChain(RootModel):
|
|
@@ -1257,7 +1251,7 @@ class LinkChain(RootModel):
|
|
|
1257
1251
|
"""
|
|
1258
1252
|
|
|
1259
1253
|
root: Annotated[
|
|
1260
|
-
|
|
1254
|
+
list[Link],
|
|
1261
1255
|
Field(
|
|
1262
1256
|
examples=[
|
|
1263
1257
|
[
|
|
@@ -1335,7 +1329,7 @@ class ControllerDescription(BaseModel):
|
|
|
1335
1329
|
The data type to describe a robot controller.
|
|
1336
1330
|
"""
|
|
1337
1331
|
|
|
1338
|
-
connected_motion_groups:
|
|
1332
|
+
connected_motion_groups: list[str]
|
|
1339
1333
|
supports_freedrive: bool
|
|
1340
1334
|
"""
|
|
1341
1335
|
Can this controller be moved through freedrive (true), or not (false).
|
|
@@ -1462,7 +1456,7 @@ class Joints(RootModel):
|
|
|
1462
1456
|
|
|
1463
1457
|
"""
|
|
1464
1458
|
|
|
1465
|
-
root:
|
|
1459
|
+
root: list[float]
|
|
1466
1460
|
"""
|
|
1467
1461
|
This structure describes a set of joint values, e.g., positions, currents, torques, of a motion group.
|
|
1468
1462
|
|
|
@@ -1502,7 +1496,7 @@ class MotionGroupStateJointLimitReached(BaseModel):
|
|
|
1502
1496
|
|
|
1503
1497
|
"""
|
|
1504
1498
|
|
|
1505
|
-
limit_reached:
|
|
1499
|
+
limit_reached: list[bool]
|
|
1506
1500
|
"""
|
|
1507
1501
|
If true, operational (soft) jointLimit is reached for specific joint.
|
|
1508
1502
|
"""
|
|
@@ -1546,7 +1540,7 @@ class JoggingPausedNearJointLimit(BaseModel):
|
|
|
1546
1540
|
"""
|
|
1547
1541
|
|
|
1548
1542
|
kind: Literal['PAUSED_NEAR_JOINT_LIMIT'] = 'PAUSED_NEAR_JOINT_LIMIT'
|
|
1549
|
-
joint_indices:
|
|
1543
|
+
joint_indices: list[JointIndice]
|
|
1550
1544
|
|
|
1551
1545
|
|
|
1552
1546
|
class JoggingPausedNearCollision(BaseModel):
|
|
@@ -1573,13 +1567,11 @@ class JoggingDetails(BaseModel):
|
|
|
1573
1567
|
"""
|
|
1574
1568
|
|
|
1575
1569
|
state: Annotated[
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
JoggingPausedNearCollision,
|
|
1582
|
-
],
|
|
1570
|
+
JoggingRunning
|
|
1571
|
+
| JoggingPausedByUser
|
|
1572
|
+
| JoggingPausedOnIO
|
|
1573
|
+
| JoggingPausedNearJointLimit
|
|
1574
|
+
| JoggingPausedNearCollision,
|
|
1583
1575
|
Field(discriminator='kind'),
|
|
1584
1576
|
]
|
|
1585
1577
|
kind: Literal['JOGGING'] = 'JOGGING'
|
|
@@ -1670,13 +1662,11 @@ class TrajectoryDetails(BaseModel):
|
|
|
1670
1662
|
"""
|
|
1671
1663
|
location: Location
|
|
1672
1664
|
state: Annotated[
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
TrajectoryPausedOnIO,
|
|
1679
|
-
],
|
|
1665
|
+
TrajectoryRunning
|
|
1666
|
+
| TrajectoryPausedByUser
|
|
1667
|
+
| TrajectoryEnded
|
|
1668
|
+
| TrajectoryWaitForIO
|
|
1669
|
+
| TrajectoryPausedOnIO,
|
|
1680
1670
|
Field(discriminator='kind'),
|
|
1681
1671
|
]
|
|
1682
1672
|
kind: Literal['TRAJECTORY'] = 'TRAJECTORY'
|
|
@@ -1694,13 +1684,13 @@ class Execute(BaseModel):
|
|
|
1694
1684
|
|
|
1695
1685
|
"""
|
|
1696
1686
|
|
|
1697
|
-
joint_position:
|
|
1687
|
+
joint_position: list[float]
|
|
1698
1688
|
"""
|
|
1699
1689
|
Commanded joint position of each joint in [rad]. This command was sent in the time step the corresponding state was received.
|
|
1700
1690
|
|
|
1701
1691
|
"""
|
|
1702
1692
|
details: Annotated[
|
|
1703
|
-
|
|
1693
|
+
JoggingDetails | TrajectoryDetails | None, Field(discriminator='kind')
|
|
1704
1694
|
] = None
|
|
1705
1695
|
|
|
1706
1696
|
|
|
@@ -1737,19 +1727,19 @@ class MotionGroupState(BaseModel):
|
|
|
1737
1727
|
Indicates whether the joint is in a limit for all joints of the motion group.
|
|
1738
1728
|
|
|
1739
1729
|
"""
|
|
1740
|
-
joint_torque:
|
|
1730
|
+
joint_torque: Joints | None = None
|
|
1741
1731
|
"""
|
|
1742
1732
|
Current joint torque of each joint in [Nm].
|
|
1743
1733
|
Is only available if the robot controller supports it, e.g., available for UR controllers.
|
|
1744
1734
|
|
|
1745
1735
|
"""
|
|
1746
|
-
joint_current:
|
|
1736
|
+
joint_current: Joints | None = None
|
|
1747
1737
|
"""
|
|
1748
1738
|
Current at TCP in [A].
|
|
1749
1739
|
Is only available if the robot controller supports it, e.g., available for UR controllers.
|
|
1750
1740
|
|
|
1751
1741
|
"""
|
|
1752
|
-
flange_pose:
|
|
1742
|
+
flange_pose: Pose | None = None
|
|
1753
1743
|
"""
|
|
1754
1744
|
Pose of the flange.
|
|
1755
1745
|
Positions are in [mm].
|
|
@@ -1758,13 +1748,13 @@ class MotionGroupState(BaseModel):
|
|
|
1758
1748
|
For robot arms a flange pose is always returned, for positioners the flange might not be available, depending on the model.
|
|
1759
1749
|
|
|
1760
1750
|
"""
|
|
1761
|
-
tcp:
|
|
1751
|
+
tcp: str | None = None
|
|
1762
1752
|
"""
|
|
1763
1753
|
Unique identifier addressing the active TCP.
|
|
1764
1754
|
Might not be returned for positioners as some do not support TCPs, depending on the model.
|
|
1765
1755
|
|
|
1766
1756
|
"""
|
|
1767
|
-
tcp_pose:
|
|
1757
|
+
tcp_pose: Pose | None = None
|
|
1768
1758
|
"""
|
|
1769
1759
|
Pose of the TCP selected on the robot control panel.
|
|
1770
1760
|
Positions are in [mm].
|
|
@@ -1773,14 +1763,14 @@ class MotionGroupState(BaseModel):
|
|
|
1773
1763
|
Might not be returned for positioners as some do not support TCPs, depending on the model.
|
|
1774
1764
|
|
|
1775
1765
|
"""
|
|
1776
|
-
coordinate_system:
|
|
1766
|
+
coordinate_system: str | None = None
|
|
1777
1767
|
"""
|
|
1778
1768
|
Unique identifier addressing the reference coordinate system of the cartesian data.
|
|
1779
1769
|
Might not be returned for positioners as some do not support TCPs, depending on the model.
|
|
1780
1770
|
Default: world coordinate system of corresponding controller.
|
|
1781
1771
|
|
|
1782
1772
|
"""
|
|
1783
|
-
payload:
|
|
1773
|
+
payload: str | None = None
|
|
1784
1774
|
"""
|
|
1785
1775
|
Unique identifier addressing the active payload.
|
|
1786
1776
|
Only fetchable via GET endpoint, not available in WebSocket.
|
|
@@ -1792,7 +1782,7 @@ class MotionGroupState(BaseModel):
|
|
|
1792
1782
|
Convenience: Signals that NOVA treats measured joint velocities as 0.
|
|
1793
1783
|
|
|
1794
1784
|
"""
|
|
1795
|
-
execute:
|
|
1785
|
+
execute: Execute | None = None
|
|
1796
1786
|
"""
|
|
1797
1787
|
Data that was commanded to the motion group. Includes additional data on NOVA's execution components for executing trajectories and jogging.
|
|
1798
1788
|
This is a convenience field to indicate the last command sent to the motion group.
|
|
@@ -1810,7 +1800,7 @@ class RobotControllerState(BaseModel):
|
|
|
1810
1800
|
"""
|
|
1811
1801
|
Mode of communication and control between NOVA and the robot controller.
|
|
1812
1802
|
"""
|
|
1813
|
-
last_error:
|
|
1803
|
+
last_error: list[str] | None = None
|
|
1814
1804
|
"""
|
|
1815
1805
|
Last error stack encountered during initialization process or after a controller disconnect.
|
|
1816
1806
|
At this stage, it's unclear whether the error is fatal.
|
|
@@ -1837,14 +1827,14 @@ class RobotControllerState(BaseModel):
|
|
|
1837
1827
|
"""
|
|
1838
1828
|
operation_mode: OperationMode
|
|
1839
1829
|
safety_state: SafetyStateType
|
|
1840
|
-
velocity_override: Annotated[
|
|
1830
|
+
velocity_override: Annotated[int | None, Field(ge=1, le=100)] = None
|
|
1841
1831
|
"""
|
|
1842
1832
|
If made available by the robot controller, returns the current velocity override in
|
|
1843
1833
|
[percentage] for movements adjusted on robot control panel.
|
|
1844
1834
|
Valid value range: 1 - 100.
|
|
1845
1835
|
|
|
1846
1836
|
"""
|
|
1847
|
-
motion_groups: Annotated[
|
|
1837
|
+
motion_groups: Annotated[list[MotionGroupState], Field(title='MotionGroupState[]')]
|
|
1848
1838
|
"""
|
|
1849
1839
|
State of indicated motion groups.
|
|
1850
1840
|
In case of state request via controller all configured motion groups are returned.
|
|
@@ -1924,7 +1914,7 @@ class FloatValue(BaseModel):
|
|
|
1924
1914
|
|
|
1925
1915
|
class IOBoundary(RootModel):
|
|
1926
1916
|
root: Annotated[
|
|
1927
|
-
|
|
1917
|
+
BooleanValue | IntegerValue | FloatValue,
|
|
1928
1918
|
Field(discriminator='value_type', title='IOBoundary'),
|
|
1929
1919
|
]
|
|
1930
1920
|
|
|
@@ -1940,20 +1930,20 @@ class IODescription(BaseModel):
|
|
|
1940
1930
|
Name of the input/output. Customize it on the physical controller or in the virtual robot specification.
|
|
1941
1931
|
|
|
1942
1932
|
"""
|
|
1943
|
-
group:
|
|
1933
|
+
group: str | None = None
|
|
1944
1934
|
"""
|
|
1945
1935
|
Name of the input/output group. Customize it on the physical controller or in the virtual robot specification.
|
|
1946
1936
|
|
|
1947
1937
|
"""
|
|
1948
1938
|
direction: IODirection
|
|
1949
1939
|
value_type: IOValueType
|
|
1950
|
-
unit:
|
|
1951
|
-
min:
|
|
1952
|
-
max:
|
|
1940
|
+
unit: UnitType | None = None
|
|
1941
|
+
min: IOBoundary | None = None
|
|
1942
|
+
max: IOBoundary | None = None
|
|
1953
1943
|
|
|
1954
1944
|
|
|
1955
1945
|
class ListIODescriptionsResponse(RootModel):
|
|
1956
|
-
root:
|
|
1946
|
+
root: list[IODescription]
|
|
1957
1947
|
|
|
1958
1948
|
def __getitem__(self, index: int) -> IODescription:
|
|
1959
1949
|
"""
|
|
@@ -2029,7 +2019,7 @@ class IOFloatValue(BaseModel):
|
|
|
2029
2019
|
|
|
2030
2020
|
class IOValue(RootModel):
|
|
2031
2021
|
root: Annotated[
|
|
2032
|
-
|
|
2022
|
+
IOBooleanValue | IOIntegerValue | IOFloatValue,
|
|
2033
2023
|
Field(discriminator='value_type'),
|
|
2034
2024
|
]
|
|
2035
2025
|
|
|
@@ -2039,7 +2029,7 @@ class StreamIOValuesResponse(BaseModel):
|
|
|
2039
2029
|
Array of input/output values.
|
|
2040
2030
|
"""
|
|
2041
2031
|
|
|
2042
|
-
io_values:
|
|
2032
|
+
io_values: list[IOValue]
|
|
2043
2033
|
timestamp: AwareDatetime
|
|
2044
2034
|
"""
|
|
2045
2035
|
Timestamp indicating when the represented information was received from the robot controller.
|
|
@@ -2058,7 +2048,7 @@ class ListIOValuesResponse(RootModel):
|
|
|
2058
2048
|
"""
|
|
2059
2049
|
|
|
2060
2050
|
root: Annotated[
|
|
2061
|
-
|
|
2051
|
+
list[IOValue],
|
|
2062
2052
|
Field(
|
|
2063
2053
|
examples=[
|
|
2064
2054
|
{
|
|
@@ -2211,7 +2201,7 @@ class Orientation(RootModel):
|
|
|
2211
2201
|
|
|
2212
2202
|
"""
|
|
2213
2203
|
|
|
2214
|
-
root: Annotated[
|
|
2204
|
+
root: Annotated[list[float], Field(max_length=4, min_length=3, title='Orientation')]
|
|
2215
2205
|
"""
|
|
2216
2206
|
Describes an orientation in 3D space.
|
|
2217
2207
|
A tree-to-four-dimensional vector [x, y, z, w] with double precision.
|
|
@@ -2244,17 +2234,17 @@ class Orientation(RootModel):
|
|
|
2244
2234
|
|
|
2245
2235
|
|
|
2246
2236
|
class CoordinateSystemData(BaseModel):
|
|
2247
|
-
name:
|
|
2237
|
+
name: str | None = None
|
|
2248
2238
|
"""
|
|
2249
2239
|
Human readable name of this coordinate system.
|
|
2250
2240
|
"""
|
|
2251
|
-
reference_coordinate_system:
|
|
2241
|
+
reference_coordinate_system: str | None = None
|
|
2252
2242
|
"""
|
|
2253
2243
|
The identifier of the reference coordinate system. Empty if world is used.
|
|
2254
2244
|
"""
|
|
2255
|
-
position:
|
|
2256
|
-
orientation:
|
|
2257
|
-
orientation_type:
|
|
2245
|
+
position: Vector3d | None = None
|
|
2246
|
+
orientation: Orientation | None = None
|
|
2247
|
+
orientation_type: OrientationType | None = 'ROTATION_VECTOR'
|
|
2258
2248
|
|
|
2259
2249
|
|
|
2260
2250
|
class CoordinateSystem(CoordinateSystemData):
|
|
@@ -2265,7 +2255,7 @@ class CoordinateSystem(CoordinateSystemData):
|
|
|
2265
2255
|
|
|
2266
2256
|
|
|
2267
2257
|
class ListCoordinateSystemsResponse(RootModel):
|
|
2268
|
-
root:
|
|
2258
|
+
root: list[CoordinateSystem]
|
|
2269
2259
|
|
|
2270
2260
|
def __getitem__(self, index: int) -> CoordinateSystem:
|
|
2271
2261
|
"""
|
|
@@ -2312,7 +2302,7 @@ class ColliderDictionary(RootModel):
|
|
|
2312
2302
|
A collection of identifiable colliders.
|
|
2313
2303
|
"""
|
|
2314
2304
|
|
|
2315
|
-
root:
|
|
2305
|
+
root: dict[str, Collider]
|
|
2316
2306
|
|
|
2317
2307
|
|
|
2318
2308
|
class LimitRange(BaseModel):
|
|
@@ -2320,37 +2310,37 @@ class LimitRange(BaseModel):
|
|
|
2320
2310
|
The upper_limit must be greater then the lower_limit.
|
|
2321
2311
|
"""
|
|
2322
2312
|
|
|
2323
|
-
lower_limit:
|
|
2324
|
-
upper_limit:
|
|
2313
|
+
lower_limit: float | None = None
|
|
2314
|
+
upper_limit: float | None = None
|
|
2325
2315
|
|
|
2326
2316
|
|
|
2327
2317
|
class JointLimits(BaseModel):
|
|
2328
|
-
position:
|
|
2329
|
-
velocity:
|
|
2330
|
-
acceleration:
|
|
2331
|
-
torque:
|
|
2318
|
+
position: LimitRange | None = None
|
|
2319
|
+
velocity: float | None = None
|
|
2320
|
+
acceleration: float | None = None
|
|
2321
|
+
torque: float | None = None
|
|
2332
2322
|
|
|
2333
2323
|
|
|
2334
2324
|
class CartesianLimits(BaseModel):
|
|
2335
|
-
velocity:
|
|
2336
|
-
acceleration:
|
|
2337
|
-
orientation_velocity:
|
|
2338
|
-
orientation_acceleration:
|
|
2325
|
+
velocity: float | None = None
|
|
2326
|
+
acceleration: float | None = None
|
|
2327
|
+
orientation_velocity: float | None = None
|
|
2328
|
+
orientation_acceleration: float | None = None
|
|
2339
2329
|
|
|
2340
2330
|
|
|
2341
2331
|
class LimitSet(BaseModel):
|
|
2342
|
-
joints:
|
|
2343
|
-
tcp:
|
|
2344
|
-
elbow:
|
|
2345
|
-
flange:
|
|
2346
|
-
coupled_shoulder_elbow_joint:
|
|
2332
|
+
joints: list[JointLimits] | None = None
|
|
2333
|
+
tcp: CartesianLimits | None = None
|
|
2334
|
+
elbow: CartesianLimits | None = None
|
|
2335
|
+
flange: CartesianLimits | None = None
|
|
2336
|
+
coupled_shoulder_elbow_joint: JointLimits | None = None
|
|
2347
2337
|
|
|
2348
2338
|
|
|
2349
2339
|
class OperationLimits(BaseModel):
|
|
2350
|
-
auto_limits:
|
|
2351
|
-
manual_limits:
|
|
2352
|
-
manual_t1_limits:
|
|
2353
|
-
manual_t2_limits:
|
|
2340
|
+
auto_limits: LimitSet | None = None
|
|
2341
|
+
manual_limits: LimitSet | None = None
|
|
2342
|
+
manual_t1_limits: LimitSet | None = None
|
|
2343
|
+
manual_t2_limits: LimitSet | None = None
|
|
2354
2344
|
|
|
2355
2345
|
|
|
2356
2346
|
class Payload(BaseModel):
|
|
@@ -2359,8 +2349,8 @@ class Payload(BaseModel):
|
|
|
2359
2349
|
"""
|
|
2360
2350
|
Mass of payload in [kg].
|
|
2361
2351
|
"""
|
|
2362
|
-
center_of_mass:
|
|
2363
|
-
moment_of_inertia:
|
|
2352
|
+
center_of_mass: Vector3d | None = None
|
|
2353
|
+
moment_of_inertia: Vector3d | None = None
|
|
2364
2354
|
|
|
2365
2355
|
|
|
2366
2356
|
class DHParameter(BaseModel):
|
|
@@ -2368,23 +2358,23 @@ class DHParameter(BaseModel):
|
|
|
2368
2358
|
A single set of DH parameters.
|
|
2369
2359
|
"""
|
|
2370
2360
|
|
|
2371
|
-
alpha:
|
|
2361
|
+
alpha: float | None = None
|
|
2372
2362
|
"""
|
|
2373
2363
|
Angle about x-axis in [rad].
|
|
2374
2364
|
"""
|
|
2375
|
-
theta:
|
|
2365
|
+
theta: float | None = None
|
|
2376
2366
|
"""
|
|
2377
2367
|
Angle about z-axis in [rad].
|
|
2378
2368
|
"""
|
|
2379
|
-
a:
|
|
2369
|
+
a: float | None = None
|
|
2380
2370
|
"""
|
|
2381
2371
|
Offset along x-axis in [mm].
|
|
2382
2372
|
"""
|
|
2383
|
-
d:
|
|
2373
|
+
d: float | None = None
|
|
2384
2374
|
"""
|
|
2385
2375
|
Offset along z-axis in [mm].
|
|
2386
2376
|
"""
|
|
2387
|
-
reverse_rotation_direction:
|
|
2377
|
+
reverse_rotation_direction: bool | None = None
|
|
2388
2378
|
"""
|
|
2389
2379
|
True, if rotation direction of joint is reversed.
|
|
2390
2380
|
"""
|
|
@@ -2396,30 +2386,30 @@ class MotionGroupDescription(BaseModel):
|
|
|
2396
2386
|
"""
|
|
2397
2387
|
|
|
2398
2388
|
motion_group_model: MotionGroupModel
|
|
2399
|
-
mounting:
|
|
2389
|
+
mounting: Pose | None = None
|
|
2400
2390
|
"""
|
|
2401
2391
|
The offset from the world frame to the motion group base.
|
|
2402
2392
|
"""
|
|
2403
|
-
tcps: Annotated[
|
|
2404
|
-
|
|
2405
|
-
|
|
2393
|
+
tcps: Annotated[dict[str, TcpOffset] | None, Field(title='TcpOffsetDictionary')] = (
|
|
2394
|
+
None
|
|
2395
|
+
)
|
|
2406
2396
|
"""
|
|
2407
2397
|
Maps a TCP name to its offset relative to the flange coordinate system. Key must be a TCP identifier.
|
|
2408
2398
|
Values are TcpOffsets.
|
|
2409
2399
|
|
|
2410
2400
|
"""
|
|
2411
|
-
safety_zones:
|
|
2401
|
+
safety_zones: ColliderDictionary | None = None
|
|
2412
2402
|
"""
|
|
2413
2403
|
SafetyZones are areas which cannot be entered or where certain limits apply.
|
|
2414
2404
|
"""
|
|
2415
|
-
safety_link_colliders:
|
|
2405
|
+
safety_link_colliders: list[ColliderDictionary] | None = None
|
|
2416
2406
|
"""
|
|
2417
2407
|
The shape of the MotionGroups links to validate against safety zones.
|
|
2418
2408
|
Indexed along the kinematic chain, starting with a static base shape before first joint.
|
|
2419
2409
|
|
|
2420
2410
|
"""
|
|
2421
2411
|
safety_tool_colliders: Annotated[
|
|
2422
|
-
|
|
2412
|
+
dict[str, ColliderDictionary] | None, Field(title='SafetyToolColliders')
|
|
2423
2413
|
] = None
|
|
2424
2414
|
"""
|
|
2425
2415
|
Maps a TCP name to its tool collider. Key must be a TCP identifier.
|
|
@@ -2427,23 +2417,23 @@ class MotionGroupDescription(BaseModel):
|
|
|
2427
2417
|
|
|
2428
2418
|
"""
|
|
2429
2419
|
operation_limits: OperationLimits
|
|
2430
|
-
payloads: Annotated[
|
|
2431
|
-
|
|
2432
|
-
|
|
2420
|
+
payloads: Annotated[dict[str, Payload] | None, Field(title='PayloadDictionary')] = (
|
|
2421
|
+
None
|
|
2422
|
+
)
|
|
2433
2423
|
"""
|
|
2434
2424
|
Maps a payload name to its configuration. Key must be a payload identifier.
|
|
2435
2425
|
Values are payload objects.
|
|
2436
2426
|
|
|
2437
2427
|
"""
|
|
2438
|
-
cycle_time: Annotated[
|
|
2428
|
+
cycle_time: Annotated[int | None, Field(ge=0, le=2147483647)] = None
|
|
2439
2429
|
"""
|
|
2440
2430
|
[ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.
|
|
2441
2431
|
"""
|
|
2442
|
-
dh_parameters:
|
|
2432
|
+
dh_parameters: list[DHParameter] | None = None
|
|
2443
2433
|
"""
|
|
2444
2434
|
The DH parameters describing the motion group geometry, starting from base.
|
|
2445
2435
|
"""
|
|
2446
|
-
serial_number:
|
|
2436
|
+
serial_number: str | None = None
|
|
2447
2437
|
"""
|
|
2448
2438
|
The serial number of the motion group, if available. If not available, the serial number of the robot controller. If not available, empty.
|
|
2449
2439
|
|
|
@@ -2460,28 +2450,28 @@ class Tool(RootModel):
|
|
|
2460
2450
|
|
|
2461
2451
|
"""
|
|
2462
2452
|
|
|
2463
|
-
root:
|
|
2453
|
+
root: dict[str, Collider]
|
|
2464
2454
|
|
|
2465
2455
|
|
|
2466
2456
|
class CollisionSetup(BaseModel):
|
|
2467
|
-
colliders:
|
|
2457
|
+
colliders: ColliderDictionary | None = None
|
|
2468
2458
|
"""
|
|
2469
2459
|
Colliders are checked against links and tool.
|
|
2470
2460
|
|
|
2471
2461
|
"""
|
|
2472
|
-
link_chain:
|
|
2462
|
+
link_chain: LinkChain | None = None
|
|
2473
2463
|
"""
|
|
2474
2464
|
The shape of the motion groups links to validate against colliders.
|
|
2475
2465
|
Indexed along the kinematic chain, starting with a static base shape before first joint.
|
|
2476
2466
|
The base of the motion group is not checked for collision against the environment.
|
|
2477
2467
|
|
|
2478
2468
|
"""
|
|
2479
|
-
tool:
|
|
2469
|
+
tool: Tool | None = None
|
|
2480
2470
|
"""
|
|
2481
2471
|
Shape of the tool to validate against colliders.
|
|
2482
2472
|
|
|
2483
2473
|
"""
|
|
2484
|
-
self_collision_detection:
|
|
2474
|
+
self_collision_detection: bool | None = True
|
|
2485
2475
|
"""
|
|
2486
2476
|
If true, self-collision detection is enabled for the motion group.
|
|
2487
2477
|
|
|
@@ -2509,7 +2499,7 @@ class CollisionSetups(RootModel):
|
|
|
2509
2499
|
|
|
2510
2500
|
"""
|
|
2511
2501
|
|
|
2512
|
-
root:
|
|
2502
|
+
root: dict[str, CollisionSetup]
|
|
2513
2503
|
|
|
2514
2504
|
|
|
2515
2505
|
class MotionGroupSetup(BaseModel):
|
|
@@ -2518,18 +2508,18 @@ class MotionGroupSetup(BaseModel):
|
|
|
2518
2508
|
"""
|
|
2519
2509
|
[ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.
|
|
2520
2510
|
"""
|
|
2521
|
-
mounting:
|
|
2511
|
+
mounting: Pose | None = None
|
|
2522
2512
|
"""
|
|
2523
2513
|
The offset from the world frame to the motion group base.
|
|
2524
2514
|
"""
|
|
2525
|
-
tcp_offset:
|
|
2526
|
-
global_limits:
|
|
2527
|
-
payload:
|
|
2528
|
-
collision_setups:
|
|
2515
|
+
tcp_offset: Pose | None = None
|
|
2516
|
+
global_limits: LimitSet | None = None
|
|
2517
|
+
payload: Payload | None = None
|
|
2518
|
+
collision_setups: CollisionSetups | None = None
|
|
2529
2519
|
|
|
2530
2520
|
|
|
2531
2521
|
class DoubleArray(RootModel):
|
|
2532
|
-
root:
|
|
2522
|
+
root: list[float]
|
|
2533
2523
|
|
|
2534
2524
|
def __getitem__(self, index: int) -> float:
|
|
2535
2525
|
"""
|
|
@@ -2557,23 +2547,70 @@ class DoubleArray(RootModel):
|
|
|
2557
2547
|
|
|
2558
2548
|
|
|
2559
2549
|
class BlendingAuto(BaseModel):
|
|
2560
|
-
min_velocity_in_percent: Annotated[
|
|
2550
|
+
min_velocity_in_percent: Annotated[int | None, Field(ge=0, le=100)] = None
|
|
2561
2551
|
"""
|
|
2562
|
-
Auto-blending is used to keep a constant velocity when blending between two motion commands.
|
|
2552
|
+
Auto-blending is used to keep a constant velocity when blending between two motion commands. To use auto-blending, the TCP velocity limit must be set.
|
|
2563
2553
|
It changes the TCP path around the target point of the motion command.
|
|
2564
|
-
The value represents the percentage of the original velocity.
|
|
2554
|
+
The value represents the percentage of the original velocity. Auto-blending is always performed in cartesian space.
|
|
2565
2555
|
|
|
2566
2556
|
"""
|
|
2567
2557
|
blending_name: Literal['BlendingAuto'] = 'BlendingAuto'
|
|
2568
2558
|
|
|
2569
2559
|
|
|
2560
|
+
class BlendingSpace(Enum):
|
|
2561
|
+
"""
|
|
2562
|
+
Defines the space in which blending is performed.
|
|
2563
|
+
- `JOINT`: Zone blending is performed in joint space
|
|
2564
|
+
- `CARTESIAN`: Auto-blending is performed in cartesian space
|
|
2565
|
+
|
|
2566
|
+
"""
|
|
2567
|
+
|
|
2568
|
+
JOINT = 'JOINT'
|
|
2569
|
+
CARTESIAN = 'CARTESIAN'
|
|
2570
|
+
|
|
2571
|
+
|
|
2570
2572
|
class BlendingPosition(BaseModel):
|
|
2571
|
-
position_zone_radius:
|
|
2573
|
+
position_zone_radius: float | None = None
|
|
2572
2574
|
"""
|
|
2573
2575
|
Specifies the maximum radius in [mm] around the motion command's target point
|
|
2574
2576
|
where the TCP path can be altered to blend the motion command into the following one.
|
|
2575
2577
|
If auto-blending blends too much of the resulting trajectory, use position-blending to restrict the blending zone radius.
|
|
2576
2578
|
|
|
2579
|
+
"""
|
|
2580
|
+
position_zone_percentage: Annotated[float | None, Field(ge=0.0, le=100.0)] = None
|
|
2581
|
+
"""
|
|
2582
|
+
Specifies the maximum blending percentage based on the trajectory length in position space
|
|
2583
|
+
around the motion command's target point. Percentage indicated in 0.0 - 100.0.
|
|
2584
|
+
|
|
2585
|
+
"""
|
|
2586
|
+
orientation_zone_radius: float | None = None
|
|
2587
|
+
"""
|
|
2588
|
+
Specifies the maximum radius in [rad] for orientation blending around the motion command's
|
|
2589
|
+
target orientation. At the target's orientation, the TCP orientation can be altered to blend into the following motion.
|
|
2590
|
+
|
|
2591
|
+
"""
|
|
2592
|
+
orientation_zone_percentage: Annotated[float | None, Field(ge=0.0, le=100.0)] = None
|
|
2593
|
+
"""
|
|
2594
|
+
Specifies the maximum blending percentage for orientation blending
|
|
2595
|
+
based on the trajectory length in orientation space. Percentage indicated in 0.0 - 100.0.
|
|
2596
|
+
|
|
2597
|
+
"""
|
|
2598
|
+
joints_zone_radius: float | None = None
|
|
2599
|
+
"""
|
|
2600
|
+
Specifies the maximum radius in [rad] for joint space blending around the motion command's
|
|
2601
|
+
target joint configuration. At the target joint configuration, the joint path can be altered to blend into the following motion.
|
|
2602
|
+
|
|
2603
|
+
"""
|
|
2604
|
+
joints_zone_percentage: Annotated[float | None, Field(ge=0.0, le=100.0)] = None
|
|
2605
|
+
"""
|
|
2606
|
+
Specifies the maximum blending percentage for joint space blending
|
|
2607
|
+
based on the trajectory length in joint space. Percentage indicated in 0.0 to 100.0.
|
|
2608
|
+
|
|
2609
|
+
"""
|
|
2610
|
+
space: BlendingSpace | None = None
|
|
2611
|
+
"""
|
|
2612
|
+
Defines the space in which blending is performed.
|
|
2613
|
+
|
|
2577
2614
|
"""
|
|
2578
2615
|
blending_name: Literal['BlendingPosition'] = 'BlendingPosition'
|
|
2579
2616
|
|
|
@@ -2584,34 +2621,34 @@ class LimitsOverride(BaseModel):
|
|
|
2584
2621
|
|
|
2585
2622
|
"""
|
|
2586
2623
|
|
|
2587
|
-
joint_velocity_limits:
|
|
2624
|
+
joint_velocity_limits: list[float] | None = None
|
|
2588
2625
|
"""
|
|
2589
2626
|
Maximum joint velocity in [rad/s] for each joint.
|
|
2590
2627
|
Either leave this field empty or set a value for each joint.
|
|
2591
2628
|
|
|
2592
2629
|
"""
|
|
2593
|
-
joint_acceleration_limits:
|
|
2630
|
+
joint_acceleration_limits: list[float] | None = None
|
|
2594
2631
|
"""
|
|
2595
2632
|
Maximum joint acceleration in [rad/s^2] for each joint.
|
|
2596
2633
|
Either leave this field empty or set a value for each joint.
|
|
2597
2634
|
|
|
2598
2635
|
"""
|
|
2599
|
-
tcp_velocity_limit:
|
|
2636
|
+
tcp_velocity_limit: float | None = None
|
|
2600
2637
|
"""
|
|
2601
2638
|
Maximum allowed TCP velocity in [mm/s].
|
|
2602
2639
|
|
|
2603
2640
|
"""
|
|
2604
|
-
tcp_acceleration_limit:
|
|
2641
|
+
tcp_acceleration_limit: float | None = None
|
|
2605
2642
|
"""
|
|
2606
2643
|
Maximum allowed TCP acceleration in [mm/s^2].
|
|
2607
2644
|
|
|
2608
2645
|
"""
|
|
2609
|
-
tcp_orientation_velocity_limit:
|
|
2646
|
+
tcp_orientation_velocity_limit: float | None = None
|
|
2610
2647
|
"""
|
|
2611
2648
|
Maximum allowed TCP rotation velocity in [rad/s].
|
|
2612
2649
|
|
|
2613
2650
|
"""
|
|
2614
|
-
tcp_orientation_acceleration_limit:
|
|
2651
|
+
tcp_orientation_acceleration_limit: float | None = None
|
|
2615
2652
|
"""
|
|
2616
2653
|
Maximum allowed TCP rotation acceleration in [rad/s^2].
|
|
2617
2654
|
|
|
@@ -2642,7 +2679,7 @@ class PathCubicSpline(BaseModel):
|
|
|
2642
2679
|
|
|
2643
2680
|
"""
|
|
2644
2681
|
|
|
2645
|
-
parameters:
|
|
2682
|
+
parameters: list[CubicSplineParameter]
|
|
2646
2683
|
path_definition_name: Literal['PathCubicSpline'] = 'PathCubicSpline'
|
|
2647
2684
|
|
|
2648
2685
|
|
|
@@ -2683,21 +2720,20 @@ class PathJointPTP(BaseModel):
|
|
|
2683
2720
|
|
|
2684
2721
|
class MotionCommand(BaseModel):
|
|
2685
2722
|
blending: Annotated[
|
|
2686
|
-
|
|
2687
|
-
Field(discriminator='blending_name'),
|
|
2723
|
+
BlendingAuto | BlendingPosition | None, Field(discriminator='blending_name')
|
|
2688
2724
|
] = None
|
|
2689
2725
|
"""
|
|
2690
2726
|
Blending alters the TCP path at the target point of a motion command
|
|
2691
2727
|
to ensure that the velocity does not drop to zero between two motion commands.
|
|
2692
2728
|
|
|
2693
2729
|
"""
|
|
2694
|
-
limits_override:
|
|
2730
|
+
limits_override: LimitsOverride | None = None
|
|
2695
2731
|
"""
|
|
2696
2732
|
Limits override is used to override the global limits of the motion group for this segment of the motion.
|
|
2697
2733
|
|
|
2698
2734
|
"""
|
|
2699
2735
|
path: Annotated[
|
|
2700
|
-
|
|
2736
|
+
PathCartesianPTP | PathCubicSpline | PathLine | PathCircle | PathJointPTP,
|
|
2701
2737
|
Field(discriminator='path_definition_name'),
|
|
2702
2738
|
]
|
|
2703
2739
|
|
|
@@ -2716,7 +2752,7 @@ class PlanTrajectoryRequest(BaseModel):
|
|
|
2716
2752
|
To move the robot to the start joint position use the endpoint [streamMoveToTrajectoryViaJointP2P](streamMoveToTrajectoryViaJointP2P).
|
|
2717
2753
|
|
|
2718
2754
|
"""
|
|
2719
|
-
motion_commands:
|
|
2755
|
+
motion_commands: list[MotionCommand]
|
|
2720
2756
|
"""
|
|
2721
2757
|
List of motion commands. A command consists of a path definition (line, circle, joint_ptp, cartesian_ptp, cubic_spline), blending, and limits override.
|
|
2722
2758
|
|
|
@@ -2724,17 +2760,17 @@ class PlanTrajectoryRequest(BaseModel):
|
|
|
2724
2760
|
|
|
2725
2761
|
|
|
2726
2762
|
class JointTrajectory(BaseModel):
|
|
2727
|
-
joint_positions:
|
|
2763
|
+
joint_positions: list[Joints]
|
|
2728
2764
|
"""
|
|
2729
2765
|
List of joint positions [rad] for each sample.
|
|
2730
2766
|
The number of samples must match the number of timestamps provided in the times field.
|
|
2731
2767
|
|
|
2732
2768
|
"""
|
|
2733
|
-
times:
|
|
2769
|
+
times: list[float]
|
|
2734
2770
|
"""
|
|
2735
2771
|
Timestamp for each sample [s].
|
|
2736
2772
|
"""
|
|
2737
|
-
locations:
|
|
2773
|
+
locations: list[Location]
|
|
2738
2774
|
|
|
2739
2775
|
|
|
2740
2776
|
class FeedbackOutOfWorkspace(BaseModel):
|
|
@@ -2742,7 +2778,7 @@ class FeedbackOutOfWorkspace(BaseModel):
|
|
|
2742
2778
|
Requested TCP pose is outside of motion group's workspace.
|
|
2743
2779
|
"""
|
|
2744
2780
|
|
|
2745
|
-
invalid_tcp_pose:
|
|
2781
|
+
invalid_tcp_pose: Pose | None = None
|
|
2746
2782
|
error_feedback_name: Literal['FeedbackOutOfWorkspace'] = 'FeedbackOutOfWorkspace'
|
|
2747
2783
|
|
|
2748
2784
|
|
|
@@ -2763,8 +2799,8 @@ class FeedbackSingularity(BaseModel):
|
|
|
2763
2799
|
|
|
2764
2800
|
"""
|
|
2765
2801
|
|
|
2766
|
-
singularity_type:
|
|
2767
|
-
singular_joint_position:
|
|
2802
|
+
singularity_type: SingularityTypeEnum | None = None
|
|
2803
|
+
singular_joint_position: DoubleArray | None = None
|
|
2768
2804
|
error_feedback_name: Literal['FeedbackSingularity'] = 'FeedbackSingularity'
|
|
2769
2805
|
|
|
2770
2806
|
|
|
@@ -2775,46 +2811,44 @@ class FeedbackJointLimitExceeded(BaseModel):
|
|
|
2775
2811
|
|
|
2776
2812
|
"""
|
|
2777
2813
|
|
|
2778
|
-
joint_index: Annotated[
|
|
2779
|
-
joint_position:
|
|
2814
|
+
joint_index: Annotated[int | None, Field(ge=0, le=2147483647)] = None
|
|
2815
|
+
joint_position: DoubleArray | None = None
|
|
2780
2816
|
error_feedback_name: Literal['FeedbackJointLimitExceeded'] = (
|
|
2781
2817
|
'FeedbackJointLimitExceeded'
|
|
2782
2818
|
)
|
|
2783
2819
|
|
|
2784
2820
|
|
|
2785
2821
|
class CollisionContact(BaseModel):
|
|
2786
|
-
local:
|
|
2787
|
-
root:
|
|
2822
|
+
local: Vector3d | None = None
|
|
2823
|
+
root: Vector3d | None = None
|
|
2788
2824
|
|
|
2789
2825
|
|
|
2790
2826
|
class Collision(BaseModel):
|
|
2791
|
-
id_of_a:
|
|
2792
|
-
id_of_b:
|
|
2793
|
-
id_of_layer:
|
|
2794
|
-
normal_root_on_b:
|
|
2795
|
-
position_on_a:
|
|
2796
|
-
position_on_b:
|
|
2827
|
+
id_of_a: str | None = None
|
|
2828
|
+
id_of_b: str | None = None
|
|
2829
|
+
id_of_layer: str | None = None
|
|
2830
|
+
normal_root_on_b: Vector3d | None = None
|
|
2831
|
+
position_on_a: CollisionContact | None = None
|
|
2832
|
+
position_on_b: CollisionContact | None = None
|
|
2797
2833
|
|
|
2798
2834
|
|
|
2799
2835
|
class FeedbackCollision(BaseModel):
|
|
2800
|
-
collisions:
|
|
2801
|
-
joint_position:
|
|
2802
|
-
tcp_pose:
|
|
2836
|
+
collisions: list[Collision] | None = None
|
|
2837
|
+
joint_position: DoubleArray | None = None
|
|
2838
|
+
tcp_pose: Pose | None = None
|
|
2803
2839
|
error_feedback_name: Literal['FeedbackCollision'] = 'FeedbackCollision'
|
|
2804
2840
|
|
|
2805
2841
|
|
|
2806
2842
|
class PlanTrajectoryFailedResponse(BaseModel):
|
|
2807
2843
|
error_feedback: Annotated[
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
FeedbackCollision,
|
|
2813
|
-
],
|
|
2844
|
+
FeedbackOutOfWorkspace
|
|
2845
|
+
| FeedbackSingularity
|
|
2846
|
+
| FeedbackJointLimitExceeded
|
|
2847
|
+
| FeedbackCollision,
|
|
2814
2848
|
Field(discriminator='error_feedback_name'),
|
|
2815
2849
|
]
|
|
2816
2850
|
error_location_on_trajectory: Location
|
|
2817
|
-
joint_trajectory:
|
|
2851
|
+
joint_trajectory: JointTrajectory | None = None
|
|
2818
2852
|
"""
|
|
2819
2853
|
The joint trajectory from the start joint position to the error.
|
|
2820
2854
|
|
|
@@ -2822,14 +2856,14 @@ class PlanTrajectoryFailedResponse(BaseModel):
|
|
|
2822
2856
|
|
|
2823
2857
|
|
|
2824
2858
|
class PlanTrajectoryResponse(BaseModel):
|
|
2825
|
-
response:
|
|
2859
|
+
response: JointTrajectory | PlanTrajectoryFailedResponse
|
|
2826
2860
|
|
|
2827
2861
|
|
|
2828
2862
|
class ValidationError(BaseModel):
|
|
2829
|
-
loc: Annotated[
|
|
2863
|
+
loc: Annotated[list[str | int], Field(title='Location')]
|
|
2830
2864
|
msg: Annotated[str, Field(title='Message')]
|
|
2831
2865
|
type: Annotated[str, Field(title='Error Type')]
|
|
2832
|
-
input:
|
|
2866
|
+
input: dict[str, Any]
|
|
2833
2867
|
|
|
2834
2868
|
|
|
2835
2869
|
class ErrorInvalidJointCount(BaseModel):
|
|
@@ -2858,12 +2892,12 @@ class ErrorJointLimitExceeded(BaseModel):
|
|
|
2858
2892
|
|
|
2859
2893
|
"""
|
|
2860
2894
|
|
|
2861
|
-
joint_index: Annotated[
|
|
2895
|
+
joint_index: Annotated[int | None, Field(ge=0, le=2147483647)] = None
|
|
2862
2896
|
"""
|
|
2863
2897
|
Index of the joint exceeding its limits (0-based).
|
|
2864
2898
|
|
|
2865
2899
|
"""
|
|
2866
|
-
joint_position:
|
|
2900
|
+
joint_position: DoubleArray | None = None
|
|
2867
2901
|
"""
|
|
2868
2902
|
The joint position violating the limits.
|
|
2869
2903
|
|
|
@@ -2877,8 +2911,8 @@ class ErrorJointPositionCollision(BaseModel):
|
|
|
2877
2911
|
|
|
2878
2912
|
"""
|
|
2879
2913
|
|
|
2880
|
-
collisions:
|
|
2881
|
-
joint_position:
|
|
2914
|
+
collisions: list[Collision] | None = None
|
|
2915
|
+
joint_position: DoubleArray | None = None
|
|
2882
2916
|
"""
|
|
2883
2917
|
The joint position that collides.
|
|
2884
2918
|
|
|
@@ -2890,13 +2924,10 @@ class ErrorJointPositionCollision(BaseModel):
|
|
|
2890
2924
|
|
|
2891
2925
|
class PlanValidationError(ValidationError):
|
|
2892
2926
|
data: Annotated[
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
ErrorJointPositionCollision,
|
|
2898
|
-
]
|
|
2899
|
-
],
|
|
2927
|
+
ErrorInvalidJointCount
|
|
2928
|
+
| ErrorJointLimitExceeded
|
|
2929
|
+
| ErrorJointPositionCollision
|
|
2930
|
+
| None,
|
|
2900
2931
|
Field(discriminator='error_feedback_name'),
|
|
2901
2932
|
] = None
|
|
2902
2933
|
"""
|
|
@@ -2906,7 +2937,7 @@ class PlanValidationError(ValidationError):
|
|
|
2906
2937
|
|
|
2907
2938
|
|
|
2908
2939
|
class Plan422Response(BaseModel):
|
|
2909
|
-
detail: Annotated[
|
|
2940
|
+
detail: Annotated[list[PlanValidationError] | None, Field(title='Detail')] = None
|
|
2910
2941
|
|
|
2911
2942
|
|
|
2912
2943
|
class RRTConnectAlgorithm(BaseModel):
|
|
@@ -2921,25 +2952,25 @@ class RRTConnectAlgorithm(BaseModel):
|
|
|
2921
2952
|
This is a custom implementation optimized for manipulator kinematics and collision checking in industrial contexts.
|
|
2922
2953
|
|
|
2923
2954
|
"""
|
|
2924
|
-
max_iterations: Annotated[
|
|
2955
|
+
max_iterations: Annotated[int | None, Field(ge=1)] = 10000
|
|
2925
2956
|
"""
|
|
2926
2957
|
Maximum number of iterations for the RRT Connect algorithm.
|
|
2927
2958
|
Higher values increase likelihood of success, but also computation time.
|
|
2928
2959
|
|
|
2929
2960
|
"""
|
|
2930
|
-
max_step_size:
|
|
2961
|
+
max_step_size: float | None = 1
|
|
2931
2962
|
"""
|
|
2932
2963
|
Maximum step size for tree extension in joint space.
|
|
2933
2964
|
"""
|
|
2934
|
-
adaptive_step_size:
|
|
2965
|
+
adaptive_step_size: bool | None = True
|
|
2935
2966
|
"""
|
|
2936
2967
|
Adjust the maximum step size during the search based on the recent success rate of tree expansion.
|
|
2937
2968
|
"""
|
|
2938
|
-
apply_smoothing:
|
|
2969
|
+
apply_smoothing: bool | None = True
|
|
2939
2970
|
"""
|
|
2940
2971
|
Apply smoothing after the search has succeeded. This will remove as many intermediate points as possible while keeping the path valid.
|
|
2941
2972
|
"""
|
|
2942
|
-
apply_blending:
|
|
2973
|
+
apply_blending: bool | None = True
|
|
2943
2974
|
"""
|
|
2944
2975
|
Apply blending after the search has succeeded and smoothing has been applied. This will apply the largest viable blending at each intermediate point.
|
|
2945
2976
|
"""
|
|
@@ -2954,7 +2985,7 @@ class MidpointInsertionAlgorithm(BaseModel):
|
|
|
2954
2985
|
This algorithm adds a single midpoint between the start and target joint position to find collision-free paths.
|
|
2955
2986
|
|
|
2956
2987
|
"""
|
|
2957
|
-
max_iterations: Annotated[
|
|
2988
|
+
max_iterations: Annotated[int | None, Field(ge=1)] = 1000
|
|
2958
2989
|
"""
|
|
2959
2990
|
Maximum number of iterations for the midpoint insertion algorithm.
|
|
2960
2991
|
Higher values increase likelyhood of success, but also computation time (linear).
|
|
@@ -2964,7 +2995,7 @@ class MidpointInsertionAlgorithm(BaseModel):
|
|
|
2964
2995
|
|
|
2965
2996
|
class CollisionFreeAlgorithm(RootModel):
|
|
2966
2997
|
root: Annotated[
|
|
2967
|
-
|
|
2998
|
+
RRTConnectAlgorithm | MidpointInsertionAlgorithm,
|
|
2968
2999
|
Field(discriminator='algorithm_name', title='CollisionFreeAlgorithm'),
|
|
2969
3000
|
]
|
|
2970
3001
|
"""
|
|
@@ -3008,7 +3039,7 @@ class ErrorMaxIterationsExceeded(BaseModel):
|
|
|
3008
3039
|
|
|
3009
3040
|
"""
|
|
3010
3041
|
|
|
3011
|
-
max_iterations:
|
|
3042
|
+
max_iterations: int | None = None
|
|
3012
3043
|
"""
|
|
3013
3044
|
The maximum number of iterations that was reached.
|
|
3014
3045
|
|
|
@@ -3035,7 +3066,7 @@ class PlanCollisionFreeResponse(BaseModel):
|
|
|
3035
3066
|
|
|
3036
3067
|
"""
|
|
3037
3068
|
|
|
3038
|
-
response:
|
|
3069
|
+
response: JointTrajectory | PlanCollisionFreeFailedResponse
|
|
3039
3070
|
|
|
3040
3071
|
|
|
3041
3072
|
class JointPositionLimits(RootModel):
|
|
@@ -3044,7 +3075,7 @@ class JointPositionLimits(RootModel):
|
|
|
3044
3075
|
|
|
3045
3076
|
"""
|
|
3046
3077
|
|
|
3047
|
-
root: Annotated[
|
|
3078
|
+
root: Annotated[list[LimitRange], Field(title='JointPositionLimits')]
|
|
3048
3079
|
"""
|
|
3049
3080
|
Joint position limits in [rad], indexed starting from base.
|
|
3050
3081
|
|
|
@@ -3077,27 +3108,27 @@ class JointPositionLimits(RootModel):
|
|
|
3077
3108
|
|
|
3078
3109
|
class InverseKinematicsRequest(BaseModel):
|
|
3079
3110
|
motion_group_model: MotionGroupModel
|
|
3080
|
-
tcp_poses:
|
|
3111
|
+
tcp_poses: list[Pose]
|
|
3081
3112
|
"""
|
|
3082
3113
|
List of TCP poses for which the inverse solutions are computed.
|
|
3083
3114
|
|
|
3084
3115
|
"""
|
|
3085
|
-
tcp_offset:
|
|
3086
|
-
mounting:
|
|
3116
|
+
tcp_offset: Pose | None = None
|
|
3117
|
+
mounting: Pose | None = None
|
|
3087
3118
|
"""
|
|
3088
3119
|
Offset from the world frame to the motion group base.
|
|
3089
3120
|
"""
|
|
3090
|
-
joint_position_limits:
|
|
3091
|
-
collision_setups:
|
|
3121
|
+
joint_position_limits: JointPositionLimits | None = None
|
|
3122
|
+
collision_setups: CollisionSetups | None = None
|
|
3092
3123
|
|
|
3093
3124
|
|
|
3094
3125
|
class InverseKinematicsResponse(BaseModel):
|
|
3095
|
-
joints:
|
|
3126
|
+
joints: list[list[DoubleArray]]
|
|
3096
3127
|
|
|
3097
3128
|
|
|
3098
3129
|
class InverseKinematicsValidationError(ValidationError):
|
|
3099
3130
|
data: Annotated[
|
|
3100
|
-
|
|
3131
|
+
ErrorInvalidJointCount | ErrorJointLimitExceeded | None,
|
|
3101
3132
|
Field(discriminator='error_feedback_name'),
|
|
3102
3133
|
] = None
|
|
3103
3134
|
"""
|
|
@@ -3108,26 +3139,26 @@ class InverseKinematicsValidationError(ValidationError):
|
|
|
3108
3139
|
|
|
3109
3140
|
class InverseKinematics422Response(BaseModel):
|
|
3110
3141
|
detail: Annotated[
|
|
3111
|
-
|
|
3142
|
+
list[InverseKinematicsValidationError] | None, Field(title='Detail')
|
|
3112
3143
|
] = None
|
|
3113
3144
|
|
|
3114
3145
|
|
|
3115
3146
|
class ForwardKinematicsRequest(BaseModel):
|
|
3116
3147
|
motion_group_model: MotionGroupModel
|
|
3117
|
-
joint_positions:
|
|
3148
|
+
joint_positions: list[DoubleArray]
|
|
3118
3149
|
"""
|
|
3119
3150
|
List of joint positions [rad] for which TCP poses are computed.
|
|
3120
3151
|
|
|
3121
3152
|
"""
|
|
3122
|
-
tcp_offset:
|
|
3123
|
-
mounting:
|
|
3153
|
+
tcp_offset: Pose | None = None
|
|
3154
|
+
mounting: Pose | None = None
|
|
3124
3155
|
"""
|
|
3125
3156
|
Offset from the world frame to the motion group base.
|
|
3126
3157
|
"""
|
|
3127
3158
|
|
|
3128
3159
|
|
|
3129
3160
|
class ForwardKinematicsResponse(BaseModel):
|
|
3130
|
-
tcp_poses:
|
|
3161
|
+
tcp_poses: list[Pose]
|
|
3131
3162
|
"""
|
|
3132
3163
|
List of computed TCP poses corresponding to the input joint positions.
|
|
3133
3164
|
|
|
@@ -3135,17 +3166,17 @@ class ForwardKinematicsResponse(BaseModel):
|
|
|
3135
3166
|
|
|
3136
3167
|
|
|
3137
3168
|
class ForwardKinematicsValidationError(ValidationError):
|
|
3138
|
-
data:
|
|
3169
|
+
data: ErrorInvalidJointCount | None = None
|
|
3139
3170
|
|
|
3140
3171
|
|
|
3141
3172
|
class ForwardKinematics422Response(BaseModel):
|
|
3142
3173
|
detail: Annotated[
|
|
3143
|
-
|
|
3174
|
+
list[ForwardKinematicsValidationError] | None, Field(title='Detail')
|
|
3144
3175
|
] = None
|
|
3145
3176
|
|
|
3146
3177
|
|
|
3147
3178
|
class ListTrajectoriesResponse(BaseModel):
|
|
3148
|
-
trajectories:
|
|
3179
|
+
trajectories: list[str] | None = None
|
|
3149
3180
|
"""
|
|
3150
3181
|
Identifiers of trajectories which are currently cached.
|
|
3151
3182
|
Use [addTrajectory](addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them.
|
|
@@ -3165,7 +3196,7 @@ class AddTrajectoryRequest(BaseModel):
|
|
|
3165
3196
|
an equal number of corresponding timestamps.
|
|
3166
3197
|
|
|
3167
3198
|
"""
|
|
3168
|
-
tcp:
|
|
3199
|
+
tcp: str | None = None
|
|
3169
3200
|
"""
|
|
3170
3201
|
Unique identifier of the tool the trajectory is planned for.
|
|
3171
3202
|
"""
|
|
@@ -3176,13 +3207,13 @@ class TcpRequiredError(BaseModel):
|
|
|
3176
3207
|
Requested motion group requires TCP to be defined.
|
|
3177
3208
|
"""
|
|
3178
3209
|
|
|
3179
|
-
tcp_missing:
|
|
3210
|
+
tcp_missing: dict[str, Any] | None = None
|
|
3180
3211
|
|
|
3181
3212
|
|
|
3182
3213
|
class InconsistentTrajectorySize(BaseModel):
|
|
3183
|
-
joint_position_size:
|
|
3184
|
-
times_size:
|
|
3185
|
-
locations_size:
|
|
3214
|
+
joint_position_size: int | None = None
|
|
3215
|
+
times_size: int | None = None
|
|
3216
|
+
locations_size: int | None = None
|
|
3186
3217
|
|
|
3187
3218
|
|
|
3188
3219
|
class InconsistentTrajectorySizeError(BaseModel):
|
|
@@ -3191,24 +3222,24 @@ class InconsistentTrajectorySizeError(BaseModel):
|
|
|
3191
3222
|
|
|
3192
3223
|
"""
|
|
3193
3224
|
|
|
3194
|
-
inconsistent_trajectory_size:
|
|
3225
|
+
inconsistent_trajectory_size: InconsistentTrajectorySize | None = None
|
|
3195
3226
|
|
|
3196
3227
|
|
|
3197
3228
|
class JointLimitExceededError(BaseModel):
|
|
3198
|
-
joint_limit_exceeded:
|
|
3229
|
+
joint_limit_exceeded: FeedbackJointLimitExceeded | None = None
|
|
3199
3230
|
|
|
3200
3231
|
|
|
3201
3232
|
class CollisionError(BaseModel):
|
|
3202
|
-
collision:
|
|
3233
|
+
collision: FeedbackCollision | None = None
|
|
3203
3234
|
|
|
3204
3235
|
|
|
3205
3236
|
class TorqueExceeded(BaseModel):
|
|
3206
|
-
torque_value:
|
|
3237
|
+
torque_value: float | None = None
|
|
3207
3238
|
"""
|
|
3208
3239
|
The torque value that was exceeded.
|
|
3209
3240
|
|
|
3210
3241
|
"""
|
|
3211
|
-
torque_limit:
|
|
3242
|
+
torque_limit: float | None = None
|
|
3212
3243
|
"""
|
|
3213
3244
|
The value of the torque limit that was exceeded.
|
|
3214
3245
|
|
|
@@ -3216,23 +3247,23 @@ class TorqueExceeded(BaseModel):
|
|
|
3216
3247
|
|
|
3217
3248
|
|
|
3218
3249
|
class TorqueExceededError(BaseModel):
|
|
3219
|
-
torque_exceeded:
|
|
3250
|
+
torque_exceeded: TorqueExceeded | None = None
|
|
3220
3251
|
|
|
3221
3252
|
|
|
3222
3253
|
class InvalidDof(BaseModel):
|
|
3223
|
-
valid_dof:
|
|
3254
|
+
valid_dof: int | None = None
|
|
3224
3255
|
"""
|
|
3225
3256
|
The valid degrees of freedom for the motion group.
|
|
3226
3257
|
|
|
3227
3258
|
"""
|
|
3228
|
-
joint_position:
|
|
3259
|
+
joint_position: list[float] | None = None
|
|
3229
3260
|
"""
|
|
3230
3261
|
The joint position that is out of its limits.
|
|
3231
3262
|
"""
|
|
3232
3263
|
|
|
3233
3264
|
|
|
3234
3265
|
class InvalidDofError(BaseModel):
|
|
3235
|
-
invalid_dof:
|
|
3266
|
+
invalid_dof: InvalidDof | None = None
|
|
3236
3267
|
|
|
3237
3268
|
|
|
3238
3269
|
class NanValue(BaseModel):
|
|
@@ -3240,33 +3271,32 @@ class NanValue(BaseModel):
|
|
|
3240
3271
|
Requested joint position contains NaN values.
|
|
3241
3272
|
"""
|
|
3242
3273
|
|
|
3243
|
-
joint_position:
|
|
3274
|
+
joint_position: list[float] | None = None
|
|
3244
3275
|
"""
|
|
3245
3276
|
The joint position that is out of its limits.
|
|
3246
3277
|
"""
|
|
3247
3278
|
|
|
3248
3279
|
|
|
3249
3280
|
class NanValueError(BaseModel):
|
|
3250
|
-
nan_value:
|
|
3281
|
+
nan_value: NanValue | None = None
|
|
3251
3282
|
"""
|
|
3252
3283
|
Requested joint position contains NaN values.
|
|
3253
3284
|
"""
|
|
3254
3285
|
|
|
3255
3286
|
|
|
3256
3287
|
class AddTrajectoryError(BaseModel):
|
|
3257
|
-
message:
|
|
3258
|
-
location:
|
|
3259
|
-
data:
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
] = None
|
|
3288
|
+
message: str | None = None
|
|
3289
|
+
location: Location | None = None
|
|
3290
|
+
data: (
|
|
3291
|
+
TcpRequiredError
|
|
3292
|
+
| InconsistentTrajectorySizeError
|
|
3293
|
+
| JointLimitExceededError
|
|
3294
|
+
| CollisionError
|
|
3295
|
+
| TorqueExceededError
|
|
3296
|
+
| InvalidDofError
|
|
3297
|
+
| NanValueError
|
|
3298
|
+
| None
|
|
3299
|
+
) = None
|
|
3270
3300
|
|
|
3271
3301
|
|
|
3272
3302
|
class AddTrajectoryResponse(BaseModel):
|
|
@@ -3281,12 +3311,12 @@ class AddTrajectoryResponse(BaseModel):
|
|
|
3281
3311
|
|
|
3282
3312
|
"""
|
|
3283
3313
|
|
|
3284
|
-
trajectory:
|
|
3314
|
+
trajectory: str | None = None
|
|
3285
3315
|
"""
|
|
3286
3316
|
The unique identifier of the trajectory. Use this identifier to execute the trajectory with the [executeTrajectory](executeTrajectory) endpoint.
|
|
3287
3317
|
|
|
3288
3318
|
"""
|
|
3289
|
-
error:
|
|
3319
|
+
error: AddTrajectoryError | None = None
|
|
3290
3320
|
"""
|
|
3291
3321
|
Always check this field first. If this field is present, the trajectory has an error and is only partially or not executable.
|
|
3292
3322
|
|
|
@@ -3329,7 +3359,7 @@ class TrajectoryData(BaseModel):
|
|
|
3329
3359
|
Type specifier for server, set automatically.
|
|
3330
3360
|
|
|
3331
3361
|
"""
|
|
3332
|
-
motion_group:
|
|
3362
|
+
motion_group: str | None = None
|
|
3333
3363
|
"""
|
|
3334
3364
|
Identifier of the motion-group.
|
|
3335
3365
|
"""
|
|
@@ -3339,7 +3369,7 @@ class TrajectoryData(BaseModel):
|
|
|
3339
3369
|
an equal number of corresponding timestamps.
|
|
3340
3370
|
|
|
3341
3371
|
"""
|
|
3342
|
-
tcp:
|
|
3372
|
+
tcp: str | None = None
|
|
3343
3373
|
"""
|
|
3344
3374
|
Unique identifier of the tool the trajectory is planned for.
|
|
3345
3375
|
"""
|
|
@@ -3359,14 +3389,14 @@ class InitializeMovementRequest(BaseModel):
|
|
|
3359
3389
|
|
|
3360
3390
|
"""
|
|
3361
3391
|
trajectory: Annotated[
|
|
3362
|
-
|
|
3392
|
+
TrajectoryId | TrajectoryData, Field(discriminator='message_type')
|
|
3363
3393
|
]
|
|
3364
3394
|
"""
|
|
3365
3395
|
The trajectory which should be executed and locked to the connection.
|
|
3366
3396
|
|
|
3367
3397
|
"""
|
|
3368
|
-
initial_location:
|
|
3369
|
-
response_coordinate_system:
|
|
3398
|
+
initial_location: Location | None = None
|
|
3399
|
+
response_coordinate_system: str | None = None
|
|
3370
3400
|
"""
|
|
3371
3401
|
Unique identifier addressing a coordinate system to which the responses are transformed.
|
|
3372
3402
|
If not set, world coordinate system is used.
|
|
@@ -3454,26 +3484,26 @@ class StartMovementRequest(BaseModel):
|
|
|
3454
3484
|
Type specifier for server, set automatically.
|
|
3455
3485
|
|
|
3456
3486
|
"""
|
|
3457
|
-
direction:
|
|
3458
|
-
target_location:
|
|
3487
|
+
direction: Direction | None = 'DIRECTION_FORWARD'
|
|
3488
|
+
target_location: Location | None = None
|
|
3459
3489
|
"""
|
|
3460
3490
|
The target location to which the motion group moves along the trajectory to.
|
|
3461
3491
|
If `direction` and `target_location` are both specified, target location takes precedence.
|
|
3462
3492
|
If neither is specified, the default is `DIRECTION_FORWARD`.
|
|
3463
3493
|
|
|
3464
3494
|
"""
|
|
3465
|
-
set_outputs:
|
|
3495
|
+
set_outputs: list[SetIO] | None = None
|
|
3466
3496
|
"""
|
|
3467
3497
|
Attaches a list of output commands to the trajectory. The outputs are set to the specified values right after the specified location was reached.
|
|
3468
3498
|
If the specified location is located before the start location (forward direction: value is smaller, backward direction: value is bigger), the output is not set.
|
|
3469
3499
|
|
|
3470
3500
|
"""
|
|
3471
|
-
start_on_io:
|
|
3501
|
+
start_on_io: StartOnIO | None = None
|
|
3472
3502
|
"""
|
|
3473
3503
|
Defines an input/output that is listened to before the movement. Execution starts if the defined comparator evaluates to `true`.
|
|
3474
3504
|
|
|
3475
3505
|
"""
|
|
3476
|
-
pause_on_io:
|
|
3506
|
+
pause_on_io: PauseOnIO | None = None
|
|
3477
3507
|
"""
|
|
3478
3508
|
Defines an input/output that is listened to during the movement. Execution pauses if the defined comparator evaluates to `true`.
|
|
3479
3509
|
|
|
@@ -3517,12 +3547,10 @@ class PlaybackSpeedRequest(BaseModel):
|
|
|
3517
3547
|
|
|
3518
3548
|
class ExecuteTrajectoryRequest(RootModel):
|
|
3519
3549
|
root: Annotated[
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
PlaybackSpeedRequest,
|
|
3525
|
-
],
|
|
3550
|
+
InitializeMovementRequest
|
|
3551
|
+
| StartMovementRequest
|
|
3552
|
+
| PauseMovementRequest
|
|
3553
|
+
| PlaybackSpeedRequest,
|
|
3526
3554
|
Field(discriminator='message_type', title='ExecuteTrajectoryRequest'),
|
|
3527
3555
|
]
|
|
3528
3556
|
|
|
@@ -3533,11 +3561,11 @@ class InitializeMovementResponse(BaseModel):
|
|
|
3533
3561
|
|
|
3534
3562
|
"""
|
|
3535
3563
|
|
|
3536
|
-
message:
|
|
3564
|
+
message: str | None = None
|
|
3537
3565
|
"""
|
|
3538
3566
|
Error message in case of invalid InitializeMovementRequest.
|
|
3539
3567
|
"""
|
|
3540
|
-
add_trajectory_error:
|
|
3568
|
+
add_trajectory_error: AddTrajectoryError | None = None
|
|
3541
3569
|
"""
|
|
3542
3570
|
Error can occur if joint trajectory was added by [InitializeMovementRequest](InitializeMovementRequest) and the trajectory is invalid.
|
|
3543
3571
|
|
|
@@ -3553,7 +3581,7 @@ class StartMovementResponse(BaseModel):
|
|
|
3553
3581
|
|
|
3554
3582
|
"""
|
|
3555
3583
|
|
|
3556
|
-
message:
|
|
3584
|
+
message: str | None = None
|
|
3557
3585
|
"""
|
|
3558
3586
|
Error message in case of invalid StartMovementResquest.
|
|
3559
3587
|
"""
|
|
@@ -3568,7 +3596,7 @@ class PauseMovementResponse(BaseModel):
|
|
|
3568
3596
|
|
|
3569
3597
|
"""
|
|
3570
3598
|
|
|
3571
|
-
message:
|
|
3599
|
+
message: str | None = None
|
|
3572
3600
|
"""
|
|
3573
3601
|
Error message in case of invalid PauseMovementResquest.
|
|
3574
3602
|
"""
|
|
@@ -3581,7 +3609,7 @@ class PlaybackSpeedResponse(BaseModel):
|
|
|
3581
3609
|
|
|
3582
3610
|
"""
|
|
3583
3611
|
|
|
3584
|
-
message:
|
|
3612
|
+
message: str | None = None
|
|
3585
3613
|
"""
|
|
3586
3614
|
Error message in case of invalid PlaybackSpeedRequest.
|
|
3587
3615
|
"""
|
|
@@ -3603,13 +3631,11 @@ class MovementErrorResponse(BaseModel):
|
|
|
3603
3631
|
|
|
3604
3632
|
class ExecuteTrajectoryResponse(RootModel):
|
|
3605
3633
|
root: Annotated[
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
MovementErrorResponse,
|
|
3612
|
-
],
|
|
3634
|
+
InitializeMovementResponse
|
|
3635
|
+
| StartMovementResponse
|
|
3636
|
+
| PauseMovementResponse
|
|
3637
|
+
| PlaybackSpeedResponse
|
|
3638
|
+
| MovementErrorResponse,
|
|
3613
3639
|
Field(discriminator='kind', title='ExecuteTrajectoryResponse'),
|
|
3614
3640
|
]
|
|
3615
3641
|
|
|
@@ -3628,12 +3654,12 @@ class InitializeJoggingRequest(BaseModel):
|
|
|
3628
3654
|
"""
|
|
3629
3655
|
Identifier of the motion group.
|
|
3630
3656
|
"""
|
|
3631
|
-
tcp:
|
|
3657
|
+
tcp: str | None = None
|
|
3632
3658
|
"""
|
|
3633
3659
|
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.
|
|
3634
3660
|
|
|
3635
3661
|
"""
|
|
3636
|
-
response_coordinate_system:
|
|
3662
|
+
response_coordinate_system: str | None = None
|
|
3637
3663
|
"""
|
|
3638
3664
|
Unique identifier addressing a coordinate system to which the responses are transformed.
|
|
3639
3665
|
If not set, world coordinate system is used.
|
|
@@ -3671,7 +3697,7 @@ class TcpVelocityRequest(BaseModel):
|
|
|
3671
3697
|
"""
|
|
3672
3698
|
translation: Vector3d
|
|
3673
3699
|
rotation: Vector3d
|
|
3674
|
-
use_tool_coordinate_system:
|
|
3700
|
+
use_tool_coordinate_system: bool | None = False
|
|
3675
3701
|
"""
|
|
3676
3702
|
If true, TCP velocities are interpreted in the tool coordinate system, specified by the TCP.
|
|
3677
3703
|
If false, TCP velocities are interpreted in the world coordinate system.
|
|
@@ -3694,12 +3720,10 @@ class PauseJoggingRequest(BaseModel):
|
|
|
3694
3720
|
|
|
3695
3721
|
class ExecuteJoggingRequest(RootModel):
|
|
3696
3722
|
root: Annotated[
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
PauseJoggingRequest,
|
|
3702
|
-
],
|
|
3723
|
+
InitializeJoggingRequest
|
|
3724
|
+
| JointVelocityRequest
|
|
3725
|
+
| TcpVelocityRequest
|
|
3726
|
+
| PauseJoggingRequest,
|
|
3703
3727
|
Field(discriminator='message_type', title='ExecuteJoggingRequest'),
|
|
3704
3728
|
]
|
|
3705
3729
|
|
|
@@ -3710,7 +3734,7 @@ class InitializeJoggingResponse(BaseModel):
|
|
|
3710
3734
|
|
|
3711
3735
|
"""
|
|
3712
3736
|
|
|
3713
|
-
message:
|
|
3737
|
+
message: str | None = None
|
|
3714
3738
|
"""
|
|
3715
3739
|
Error message in case of invalid InitializeJoggingRequest.
|
|
3716
3740
|
"""
|
|
@@ -3723,7 +3747,7 @@ class PauseJoggingResponse(BaseModel):
|
|
|
3723
3747
|
|
|
3724
3748
|
"""
|
|
3725
3749
|
|
|
3726
|
-
message:
|
|
3750
|
+
message: str | None = None
|
|
3727
3751
|
"""
|
|
3728
3752
|
Error message in case of invalid PauseJoggingRequest.
|
|
3729
3753
|
"""
|
|
@@ -3736,7 +3760,7 @@ class TcpVelocityResponse(BaseModel):
|
|
|
3736
3760
|
|
|
3737
3761
|
"""
|
|
3738
3762
|
|
|
3739
|
-
message:
|
|
3763
|
+
message: str | None = None
|
|
3740
3764
|
"""
|
|
3741
3765
|
Error message in case of invalid TcpVelocityRequest.
|
|
3742
3766
|
"""
|
|
@@ -3749,7 +3773,7 @@ class JointVelocityResponse(BaseModel):
|
|
|
3749
3773
|
|
|
3750
3774
|
"""
|
|
3751
3775
|
|
|
3752
|
-
message:
|
|
3776
|
+
message: str | None = None
|
|
3753
3777
|
"""
|
|
3754
3778
|
Error message in case of invalid JointVelocityRequest.
|
|
3755
3779
|
"""
|
|
@@ -3758,13 +3782,11 @@ class JointVelocityResponse(BaseModel):
|
|
|
3758
3782
|
|
|
3759
3783
|
class ExecuteJoggingResponse(RootModel):
|
|
3760
3784
|
root: Annotated[
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
MovementErrorResponse,
|
|
3767
|
-
],
|
|
3785
|
+
InitializeJoggingResponse
|
|
3786
|
+
| PauseJoggingResponse
|
|
3787
|
+
| TcpVelocityResponse
|
|
3788
|
+
| JointVelocityResponse
|
|
3789
|
+
| MovementErrorResponse,
|
|
3768
3790
|
Field(discriminator='kind', title='ExecuteJoggingResponse'),
|
|
3769
3791
|
]
|
|
3770
3792
|
|
|
@@ -3784,14 +3806,14 @@ class Program(BaseModel):
|
|
|
3784
3806
|
title='Unique program identifier',
|
|
3785
3807
|
),
|
|
3786
3808
|
]
|
|
3787
|
-
name: Annotated[
|
|
3788
|
-
description: Annotated[
|
|
3809
|
+
name: Annotated[str | None, Field(title='Program name')] = None
|
|
3810
|
+
description: Annotated[str | None, Field(title='Program description')] = None
|
|
3789
3811
|
app: Annotated[str, Field(title='The app containing the program.')]
|
|
3790
3812
|
input_schema: Annotated[
|
|
3791
|
-
|
|
3813
|
+
dict[str, Any] | None, Field(title='Program input json schema')
|
|
3792
3814
|
] = None
|
|
3793
3815
|
preconditions: Annotated[
|
|
3794
|
-
|
|
3816
|
+
dict[str, Any] | None,
|
|
3795
3817
|
Field(title='Preconditions before the program can be started'),
|
|
3796
3818
|
] = None
|
|
3797
3819
|
|
|
@@ -3801,7 +3823,7 @@ class ProgramStartRequest(BaseModel):
|
|
|
3801
3823
|
The state of a program run.
|
|
3802
3824
|
"""
|
|
3803
3825
|
|
|
3804
|
-
arguments:
|
|
3826
|
+
arguments: dict[str, Any]
|
|
3805
3827
|
"""
|
|
3806
3828
|
The arguments to pass to the program.
|
|
3807
3829
|
"""
|
|
@@ -3832,7 +3854,7 @@ class ProgramRun(BaseModel):
|
|
|
3832
3854
|
"""
|
|
3833
3855
|
Unique identifier of the program
|
|
3834
3856
|
"""
|
|
3835
|
-
app: Annotated[
|
|
3857
|
+
app: Annotated[str | None, Field(title='App Id')] = None
|
|
3836
3858
|
"""
|
|
3837
3859
|
Identifier of the app that produced the program run
|
|
3838
3860
|
"""
|
|
@@ -3840,35 +3862,35 @@ class ProgramRun(BaseModel):
|
|
|
3840
3862
|
"""
|
|
3841
3863
|
State of the program run
|
|
3842
3864
|
"""
|
|
3843
|
-
logs: Annotated[
|
|
3865
|
+
logs: Annotated[str | None, Field(title='Logs')] = None
|
|
3844
3866
|
"""
|
|
3845
3867
|
Logs of the program run
|
|
3846
3868
|
"""
|
|
3847
|
-
stdout: Annotated[
|
|
3869
|
+
stdout: Annotated[str | None, Field(title='Stdout')] = None
|
|
3848
3870
|
"""
|
|
3849
3871
|
Stdout of the program run
|
|
3850
3872
|
"""
|
|
3851
|
-
stderr: Annotated[
|
|
3873
|
+
stderr: Annotated[str | None, Field(title='Stderr')] = None
|
|
3852
3874
|
"""
|
|
3853
3875
|
Stderr of the program run
|
|
3854
3876
|
"""
|
|
3855
|
-
error: Annotated[
|
|
3877
|
+
error: Annotated[str | None, Field(title='Error')] = None
|
|
3856
3878
|
"""
|
|
3857
3879
|
Error message of the program run, if any
|
|
3858
3880
|
"""
|
|
3859
|
-
traceback: Annotated[
|
|
3881
|
+
traceback: Annotated[str | None, Field(title='Traceback')] = None
|
|
3860
3882
|
"""
|
|
3861
3883
|
Traceback of the program run, if any
|
|
3862
3884
|
"""
|
|
3863
|
-
start_time: Annotated[
|
|
3885
|
+
start_time: Annotated[AwareDatetime | None, Field(title='Start Time')] = None
|
|
3864
3886
|
"""
|
|
3865
3887
|
Start time of the program run in RFC3339 format
|
|
3866
3888
|
"""
|
|
3867
|
-
end_time: Annotated[
|
|
3889
|
+
end_time: Annotated[AwareDatetime | None, Field(title='End Time')] = None
|
|
3868
3890
|
"""
|
|
3869
3891
|
End time of the program run in RFC3339 format
|
|
3870
3892
|
"""
|
|
3871
|
-
input_data: Annotated[
|
|
3893
|
+
input_data: Annotated[dict[str, Any] | None, Field(title='Input Data')] = None
|
|
3872
3894
|
"""
|
|
3873
3895
|
Input data of the program run
|
|
3874
3896
|
"""
|
|
@@ -3879,13 +3901,13 @@ class ValidationError2(BaseModel):
|
|
|
3879
3901
|
A validation error of a program.
|
|
3880
3902
|
"""
|
|
3881
3903
|
|
|
3882
|
-
loc: Annotated[
|
|
3904
|
+
loc: Annotated[list[int], Field(title='Location')]
|
|
3883
3905
|
msg: Annotated[str, Field(title='Message')]
|
|
3884
3906
|
type: Annotated[str, Field(title='Error Type')]
|
|
3885
3907
|
|
|
3886
3908
|
|
|
3887
3909
|
class HTTPValidationError(BaseModel):
|
|
3888
|
-
detail: Annotated[
|
|
3910
|
+
detail: Annotated[list[ValidationError2] | None, Field(title='Detail')] = None
|
|
3889
3911
|
|
|
3890
3912
|
|
|
3891
3913
|
class MotionGroupInfo(BaseModel):
|
|
@@ -3907,7 +3929,7 @@ class MotionGroupInfo(BaseModel):
|
|
|
3907
3929
|
|
|
3908
3930
|
|
|
3909
3931
|
class MotionGroupInfos(RootModel):
|
|
3910
|
-
root:
|
|
3932
|
+
root: list[MotionGroupInfo]
|
|
3911
3933
|
|
|
3912
3934
|
def __getitem__(self, index: int) -> MotionGroupInfo:
|
|
3913
3935
|
"""
|
|
@@ -3940,22 +3962,22 @@ class MotionGroupJoints(BaseModel):
|
|
|
3940
3962
|
Everything but positions is optional.
|
|
3941
3963
|
"""
|
|
3942
3964
|
|
|
3943
|
-
positions:
|
|
3965
|
+
positions: list[float]
|
|
3944
3966
|
"""
|
|
3945
3967
|
The joint positions of the motion group.
|
|
3946
3968
|
|
|
3947
3969
|
"""
|
|
3948
|
-
velocities:
|
|
3970
|
+
velocities: list[float] | None = None
|
|
3949
3971
|
"""
|
|
3950
3972
|
The joint velocities of the motion group.
|
|
3951
3973
|
|
|
3952
3974
|
"""
|
|
3953
|
-
accelerations:
|
|
3975
|
+
accelerations: list[float] | None = None
|
|
3954
3976
|
"""
|
|
3955
3977
|
The joint accelerations of the motion group.
|
|
3956
3978
|
|
|
3957
3979
|
"""
|
|
3958
|
-
torques:
|
|
3980
|
+
torques: list[float] | None = None
|
|
3959
3981
|
"""
|
|
3960
3982
|
The joint torques of the motion group.
|
|
3961
3983
|
|
|
@@ -3963,13 +3985,13 @@ class MotionGroupJoints(BaseModel):
|
|
|
3963
3985
|
|
|
3964
3986
|
|
|
3965
3987
|
class RobotTcpData(BaseModel):
|
|
3966
|
-
name:
|
|
3988
|
+
name: str | None = None
|
|
3967
3989
|
"""
|
|
3968
3990
|
A readable and changeable name for frontend visualization.
|
|
3969
3991
|
"""
|
|
3970
3992
|
position: Vector3d
|
|
3971
|
-
orientation:
|
|
3972
|
-
orientation_type:
|
|
3993
|
+
orientation: Orientation | None = None
|
|
3994
|
+
orientation_type: OrientationType | None = 'ROTATION_VECTOR'
|
|
3973
3995
|
|
|
3974
3996
|
|
|
3975
3997
|
class RobotTcp(RobotTcpData):
|
|
@@ -3981,7 +4003,7 @@ class RobotTcp(RobotTcpData):
|
|
|
3981
4003
|
|
|
3982
4004
|
class RobotTcps(RootModel):
|
|
3983
4005
|
root: Annotated[
|
|
3984
|
-
|
|
4006
|
+
list[RobotTcp],
|
|
3985
4007
|
Field(
|
|
3986
4008
|
examples=[
|
|
3987
4009
|
[
|
|
@@ -4087,7 +4109,7 @@ class ExternalJointStreamDatapoint(BaseModel):
|
|
|
4087
4109
|
|
|
4088
4110
|
|
|
4089
4111
|
class ExternalJointStreamDatapoints(RootModel):
|
|
4090
|
-
root:
|
|
4112
|
+
root: list[ExternalJointStreamDatapoint]
|
|
4091
4113
|
|
|
4092
4114
|
def __getitem__(self, index: int) -> ExternalJointStreamDatapoint:
|
|
4093
4115
|
"""
|
|
@@ -4133,7 +4155,7 @@ class MetadataObject(RootModel):
|
|
|
4133
4155
|
A metadata object.
|
|
4134
4156
|
"""
|
|
4135
4157
|
|
|
4136
|
-
root:
|
|
4158
|
+
root: dict[str, str]
|
|
4137
4159
|
|
|
4138
4160
|
|
|
4139
4161
|
class BinaryObject(RootModel):
|
|
@@ -4156,13 +4178,13 @@ class BusIODescription(BaseModel):
|
|
|
4156
4178
|
"""
|
|
4157
4179
|
direction: IODirection
|
|
4158
4180
|
value_type: IOValueType
|
|
4159
|
-
unit:
|
|
4160
|
-
min:
|
|
4161
|
-
max:
|
|
4181
|
+
unit: UnitType | None = None
|
|
4182
|
+
min: IOBoundary | None = None
|
|
4183
|
+
max: IOBoundary | None = None
|
|
4162
4184
|
|
|
4163
4185
|
|
|
4164
4186
|
class ListBusIODescriptionsResponse(RootModel):
|
|
4165
|
-
root:
|
|
4187
|
+
root: list[BusIODescription]
|
|
4166
4188
|
|
|
4167
4189
|
def __getitem__(self, index: int) -> BusIODescription:
|
|
4168
4190
|
"""
|
|
@@ -4203,7 +4225,7 @@ class BusIOsStateEnum(Enum):
|
|
|
4203
4225
|
|
|
4204
4226
|
class BusIOsState(BaseModel):
|
|
4205
4227
|
state: BusIOsStateEnum
|
|
4206
|
-
message:
|
|
4228
|
+
message: str | None = None
|
|
4207
4229
|
"""
|
|
4208
4230
|
A message providing additional information on the input/output service, e.g., BUS service status, encountered errors.
|
|
4209
4231
|
May be empty if no additional information is available.
|
|
@@ -4251,7 +4273,7 @@ class ProfinetSlotDescription(BaseModel):
|
|
|
4251
4273
|
The API identifies the application relation (AR) that is using the slot.
|
|
4252
4274
|
|
|
4253
4275
|
"""
|
|
4254
|
-
subslots:
|
|
4276
|
+
subslots: list[ProfinetSubSlotDescription]
|
|
4255
4277
|
"""
|
|
4256
4278
|
An array of PROFINET subslots.
|
|
4257
4279
|
|
|
@@ -4269,14 +4291,14 @@ class ProfinetDescription(BaseModel):
|
|
|
4269
4291
|
The device identifier of the PROFINET device, identifying the specific device within the vendor's range.
|
|
4270
4292
|
|
|
4271
4293
|
"""
|
|
4272
|
-
slots:
|
|
4273
|
-
device_name: Annotated[
|
|
4294
|
+
slots: list[ProfinetSlotDescription] | None = None
|
|
4295
|
+
device_name: Annotated[str | None, Field(examples=['pnDevice'])] = None
|
|
4274
4296
|
"""
|
|
4275
4297
|
Name of Station (NoS) of the PROFINET device. The NoS is used in combination with IPv4 record to identify your device in the PROFINET network.
|
|
4276
4298
|
The `device_name` will be used as NoS if no REMA XML file is already present on your NOVA instance and no `rema_xml_content` is provided.
|
|
4277
4299
|
|
|
4278
4300
|
"""
|
|
4279
|
-
ip_config:
|
|
4301
|
+
ip_config: BusIOProfinetIpConfig | None = None
|
|
4280
4302
|
|
|
4281
4303
|
|
|
4282
4304
|
class ProfinetIOTypeEnum(Enum):
|
|
@@ -4325,7 +4347,7 @@ class ProfinetIOData(BaseModel):
|
|
|
4325
4347
|
The byte address is used to locate the specific input/output variable within the device's memory or data structure.
|
|
4326
4348
|
|
|
4327
4349
|
"""
|
|
4328
|
-
bit_address: Annotated[
|
|
4350
|
+
bit_address: Annotated[int | None, Field(ge=0, le=7)] = None
|
|
4329
4351
|
"""
|
|
4330
4352
|
The bit address of the input/output variable within the byte or word address.
|
|
4331
4353
|
The bit address is used to specify the exact bit within the byte or word that corresponds to the input/output variable.
|
|
@@ -4347,7 +4369,7 @@ class ProfinetIOs(RootModel):
|
|
|
4347
4369
|
Array of PROFINET input/output variable configurations.
|
|
4348
4370
|
"""
|
|
4349
4371
|
|
|
4350
|
-
root:
|
|
4372
|
+
root: list[ProfinetIO]
|
|
4351
4373
|
"""
|
|
4352
4374
|
Array of PROFINET input/output variable configurations.
|
|
4353
4375
|
"""
|
|
@@ -4478,7 +4500,7 @@ class ModbusIOs(RootModel):
|
|
|
4478
4500
|
Array of MODBUS input/output variable configurations.
|
|
4479
4501
|
"""
|
|
4480
4502
|
|
|
4481
|
-
root:
|
|
4503
|
+
root: list[ModbusIO]
|
|
4482
4504
|
"""
|
|
4483
4505
|
Array of MODBUS input/output variable configurations.
|
|
4484
4506
|
"""
|
|
@@ -4525,7 +4547,7 @@ class ConfigurationResource(BaseModel):
|
|
|
4525
4547
|
"""
|
|
4526
4548
|
Human-readable name of the configuration resource.
|
|
4527
4549
|
"""
|
|
4528
|
-
children:
|
|
4550
|
+
children: ConfigurationResourceArray | None = None
|
|
4529
4551
|
|
|
4530
4552
|
|
|
4531
4553
|
class ConfigurationResourceArray(RootModel):
|
|
@@ -4533,7 +4555,7 @@ class ConfigurationResourceArray(RootModel):
|
|
|
4533
4555
|
Array of configuration resources.
|
|
4534
4556
|
"""
|
|
4535
4557
|
|
|
4536
|
-
root:
|
|
4558
|
+
root: list[ConfigurationResource]
|
|
4537
4559
|
"""
|
|
4538
4560
|
Array of configuration resources.
|
|
4539
4561
|
"""
|