viam-sdk 0.45.2__py3-none-win_amd64.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.
Potentially problematic release.
This version of viam-sdk might be problematic. Click here for more details.
- viam/__init__.py +71 -0
- viam/app/__init__.py +0 -0
- viam/app/_logs.py +34 -0
- viam/app/app_client.py +2525 -0
- viam/app/billing_client.py +143 -0
- viam/app/data_client.py +1715 -0
- viam/app/ml_training_client.py +251 -0
- viam/app/provisioning_client.py +95 -0
- viam/app/viam_client.py +260 -0
- viam/components/__init__.py +0 -0
- viam/components/arm/__init__.py +16 -0
- viam/components/arm/arm.py +223 -0
- viam/components/arm/client.py +124 -0
- viam/components/arm/service.py +123 -0
- viam/components/audio_input/__init__.py +18 -0
- viam/components/audio_input/audio_input.py +81 -0
- viam/components/audio_input/client.py +70 -0
- viam/components/audio_input/service.py +114 -0
- viam/components/base/__init__.py +13 -0
- viam/components/base/base.py +260 -0
- viam/components/base/client.py +153 -0
- viam/components/base/service.py +138 -0
- viam/components/board/__init__.py +9 -0
- viam/components/board/board.py +414 -0
- viam/components/board/client.py +241 -0
- viam/components/board/service.py +223 -0
- viam/components/button/__init__.py +10 -0
- viam/components/button/button.py +41 -0
- viam/components/button/client.py +52 -0
- viam/components/button/service.py +46 -0
- viam/components/camera/__init__.py +22 -0
- viam/components/camera/camera.py +138 -0
- viam/components/camera/client.py +98 -0
- viam/components/camera/service.py +105 -0
- viam/components/component_base.py +65 -0
- viam/components/encoder/__init__.py +18 -0
- viam/components/encoder/client.py +83 -0
- viam/components/encoder/encoder.py +118 -0
- viam/components/encoder/service.py +72 -0
- viam/components/gantry/__init__.py +11 -0
- viam/components/gantry/client.py +115 -0
- viam/components/gantry/gantry.py +156 -0
- viam/components/gantry/service.py +113 -0
- viam/components/generic/__init__.py +18 -0
- viam/components/generic/client.py +62 -0
- viam/components/generic/generic.py +76 -0
- viam/components/generic/service.py +40 -0
- viam/components/gripper/__init__.py +11 -0
- viam/components/gripper/client.py +85 -0
- viam/components/gripper/gripper.py +114 -0
- viam/components/gripper/service.py +81 -0
- viam/components/input/__init__.py +15 -0
- viam/components/input/client.py +194 -0
- viam/components/input/input.py +297 -0
- viam/components/input/service.py +175 -0
- viam/components/motor/__init__.py +11 -0
- viam/components/motor/client.py +168 -0
- viam/components/motor/motor.py +301 -0
- viam/components/motor/service.py +150 -0
- viam/components/movement_sensor/__init__.py +21 -0
- viam/components/movement_sensor/client.py +161 -0
- viam/components/movement_sensor/movement_sensor.py +253 -0
- viam/components/movement_sensor/service.py +146 -0
- viam/components/pose_tracker/__init__.py +17 -0
- viam/components/pose_tracker/client.py +50 -0
- viam/components/pose_tracker/pose_tracker.py +40 -0
- viam/components/pose_tracker/service.py +45 -0
- viam/components/power_sensor/__init__.py +17 -0
- viam/components/power_sensor/client.py +86 -0
- viam/components/power_sensor/power_sensor.py +104 -0
- viam/components/power_sensor/service.py +72 -0
- viam/components/sensor/__init__.py +18 -0
- viam/components/sensor/client.py +49 -0
- viam/components/sensor/sensor.py +48 -0
- viam/components/sensor/service.py +51 -0
- viam/components/servo/__init__.py +11 -0
- viam/components/servo/client.py +86 -0
- viam/components/servo/service.py +80 -0
- viam/components/servo/servo.py +114 -0
- viam/components/switch/__init__.py +10 -0
- viam/components/switch/client.py +83 -0
- viam/components/switch/service.py +72 -0
- viam/components/switch/switch.py +95 -0
- viam/errors.py +105 -0
- viam/gen/__init__.py +0 -0
- viam/gen/app/__init__.py +0 -0
- viam/gen/app/agent/__init__.py +0 -0
- viam/gen/app/agent/v1/__init__.py +0 -0
- viam/gen/app/agent/v1/agent_grpc.py +29 -0
- viam/gen/app/agent/v1/agent_pb2.py +47 -0
- viam/gen/app/agent/v1/agent_pb2.pyi +280 -0
- viam/gen/app/cloudslam/__init__.py +0 -0
- viam/gen/app/cloudslam/v1/__init__.py +0 -0
- viam/gen/app/cloudslam/v1/cloud_slam_grpc.py +70 -0
- viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +54 -0
- viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +384 -0
- viam/gen/app/data/__init__.py +0 -0
- viam/gen/app/data/v1/__init__.py +0 -0
- viam/gen/app/data/v1/data_grpc.py +206 -0
- viam/gen/app/data/v1/data_pb2.py +178 -0
- viam/gen/app/data/v1/data_pb2.pyi +1485 -0
- viam/gen/app/datapipelines/__init__.py +0 -0
- viam/gen/app/datapipelines/v1/__init__.py +0 -0
- viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +56 -0
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +370 -0
- viam/gen/app/dataset/__init__.py +0 -0
- viam/gen/app/dataset/v1/__init__.py +0 -0
- viam/gen/app/dataset/v1/dataset_grpc.py +60 -0
- viam/gen/app/dataset/v1/dataset_pb2.py +40 -0
- viam/gen/app/dataset/v1/dataset_pb2.pyi +179 -0
- viam/gen/app/datasync/__init__.py +0 -0
- viam/gen/app/datasync/v1/__init__.py +0 -0
- viam/gen/app/datasync/v1/data_sync_grpc.py +47 -0
- viam/gen/app/datasync/v1/data_sync_pb2.py +70 -0
- viam/gen/app/datasync/v1/data_sync_pb2.pyi +425 -0
- viam/gen/app/mlinference/__init__.py +0 -0
- viam/gen/app/mlinference/v1/__init__.py +0 -0
- viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
- viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
- viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
- viam/gen/app/mltraining/__init__.py +0 -0
- viam/gen/app/mltraining/v1/__init__.py +0 -0
- viam/gen/app/mltraining/v1/ml_training_grpc.py +78 -0
- viam/gen/app/mltraining/v1/ml_training_pb2.py +124 -0
- viam/gen/app/mltraining/v1/ml_training_pb2.pyi +415 -0
- viam/gen/app/packages/__init__.py +0 -0
- viam/gen/app/packages/v1/__init__.py +0 -0
- viam/gen/app/packages/v1/packages_grpc.py +54 -0
- viam/gen/app/packages/v1/packages_pb2.py +52 -0
- viam/gen/app/packages/v1/packages_pb2.pyi +311 -0
- viam/gen/app/v1/__init__.py +0 -0
- viam/gen/app/v1/app_grpc.py +863 -0
- viam/gen/app/v1/app_pb2.py +649 -0
- viam/gen/app/v1/app_pb2.pyi +5279 -0
- viam/gen/app/v1/billing_grpc.py +76 -0
- viam/gen/app/v1/billing_pb2.py +92 -0
- viam/gen/app/v1/billing_pb2.pyi +463 -0
- viam/gen/app/v1/end_user_grpc.py +59 -0
- viam/gen/app/v1/end_user_pb2.py +55 -0
- viam/gen/app/v1/end_user_pb2.pyi +181 -0
- viam/gen/app/v1/robot_grpc.py +55 -0
- viam/gen/app/v1/robot_pb2.py +127 -0
- viam/gen/app/v1/robot_pb2.pyi +1202 -0
- viam/gen/common/__init__.py +0 -0
- viam/gen/common/v1/__init__.py +0 -0
- viam/gen/common/v1/common_grpc.py +0 -0
- viam/gen/common/v1/common_pb2.py +78 -0
- viam/gen/common/v1/common_pb2.pyi +687 -0
- viam/gen/component/__init__.py +0 -0
- viam/gen/component/arm/__init__.py +0 -0
- viam/gen/component/arm/v1/__init__.py +0 -0
- viam/gen/component/arm/v1/arm_grpc.py +102 -0
- viam/gen/component/arm/v1/arm_pb2.py +74 -0
- viam/gen/component/arm/v1/arm_pb2.pyi +344 -0
- viam/gen/component/audioinput/__init__.py +0 -0
- viam/gen/component/audioinput/v1/__init__.py +0 -0
- viam/gen/component/audioinput/v1/audioinput_grpc.py +63 -0
- viam/gen/component/audioinput/v1/audioinput_pb2.py +45 -0
- viam/gen/component/audioinput/v1/audioinput_pb2.pyi +179 -0
- viam/gen/component/base/__init__.py +0 -0
- viam/gen/component/base/v1/__init__.py +0 -0
- viam/gen/component/base/v1/base_grpc.py +94 -0
- viam/gen/component/base/v1/base_pb2.py +66 -0
- viam/gen/component/base/v1/base_pb2.pyi +258 -0
- viam/gen/component/board/__init__.py +0 -0
- viam/gen/component/board/v1/__init__.py +0 -0
- viam/gen/component/board/v1/board_grpc.py +127 -0
- viam/gen/component/board/v1/board_pb2.py +103 -0
- viam/gen/component/board/v1/board_pb2.pyi +496 -0
- viam/gen/component/button/__init__.py +0 -0
- viam/gen/component/button/v1/__init__.py +0 -0
- viam/gen/component/button/v1/button_grpc.py +38 -0
- viam/gen/component/button/v1/button_pb2.py +28 -0
- viam/gen/component/button/v1/button_pb2.pyi +39 -0
- viam/gen/component/camera/__init__.py +0 -0
- viam/gen/component/camera/v1/__init__.py +0 -0
- viam/gen/component/camera/v1/camera_grpc.py +79 -0
- viam/gen/component/camera/v1/camera_pb2.py +67 -0
- viam/gen/component/camera/v1/camera_pb2.pyi +373 -0
- viam/gen/component/encoder/__init__.py +0 -0
- viam/gen/component/encoder/v1/__init__.py +0 -0
- viam/gen/component/encoder/v1/encoder_grpc.py +62 -0
- viam/gen/component/encoder/v1/encoder_pb2.py +44 -0
- viam/gen/component/encoder/v1/encoder_pb2.pyi +147 -0
- viam/gen/component/gantry/__init__.py +0 -0
- viam/gen/component/gantry/v1/__init__.py +0 -0
- viam/gen/component/gantry/v1/gantry_grpc.py +86 -0
- viam/gen/component/gantry/v1/gantry_pb2.py +62 -0
- viam/gen/component/gantry/v1/gantry_pb2.pyi +239 -0
- viam/gen/component/generic/__init__.py +0 -0
- viam/gen/component/generic/v1/__init__.py +0 -0
- viam/gen/component/generic/v1/generic_grpc.py +37 -0
- viam/gen/component/generic/v1/generic_pb2.py +23 -0
- viam/gen/component/generic/v1/generic_pb2.pyi +6 -0
- viam/gen/component/gripper/__init__.py +0 -0
- viam/gen/component/gripper/v1/__init__.py +0 -0
- viam/gen/component/gripper/v1/gripper_grpc.py +70 -0
- viam/gen/component/gripper/v1/gripper_pb2.py +48 -0
- viam/gen/component/gripper/v1/gripper_pb2.pyi +137 -0
- viam/gen/component/inputcontroller/__init__.py +0 -0
- viam/gen/component/inputcontroller/v1/__init__.py +0 -0
- viam/gen/component/inputcontroller/v1/input_controller_grpc.py +71 -0
- viam/gen/component/inputcontroller/v1/input_controller_pb2.py +55 -0
- viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi +243 -0
- viam/gen/component/motor/__init__.py +0 -0
- viam/gen/component/motor/v1/__init__.py +0 -0
- viam/gen/component/motor/v1/motor_grpc.py +118 -0
- viam/gen/component/motor/v1/motor_pb2.py +86 -0
- viam/gen/component/motor/v1/motor_pb2.pyi +368 -0
- viam/gen/component/movementsensor/__init__.py +0 -0
- viam/gen/component/movementsensor/v1/__init__.py +0 -0
- viam/gen/component/movementsensor/v1/movementsensor_grpc.py +110 -0
- viam/gen/component/movementsensor/v1/movementsensor_pb2.py +78 -0
- viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi +384 -0
- viam/gen/component/posetracker/__init__.py +0 -0
- viam/gen/component/posetracker/v1/__init__.py +0 -0
- viam/gen/component/posetracker/v1/pose_tracker_grpc.py +46 -0
- viam/gen/component/posetracker/v1/pose_tracker_pb2.py +34 -0
- viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi +79 -0
- viam/gen/component/powersensor/__init__.py +0 -0
- viam/gen/component/powersensor/v1/__init__.py +0 -0
- viam/gen/component/powersensor/v1/powersensor_grpc.py +62 -0
- viam/gen/component/powersensor/v1/powersensor_pb2.py +42 -0
- viam/gen/component/powersensor/v1/powersensor_pb2.pyi +124 -0
- viam/gen/component/sensor/__init__.py +0 -0
- viam/gen/component/sensor/v1/__init__.py +0 -0
- viam/gen/component/sensor/v1/sensor_grpc.py +45 -0
- viam/gen/component/sensor/v1/sensor_pb2.py +25 -0
- viam/gen/component/sensor/v1/sensor_pb2.pyi +6 -0
- viam/gen/component/servo/__init__.py +0 -0
- viam/gen/component/servo/v1/__init__.py +0 -0
- viam/gen/component/servo/v1/servo_grpc.py +70 -0
- viam/gen/component/servo/v1/servo_pb2.py +50 -0
- viam/gen/component/servo/v1/servo_pb2.pyi +150 -0
- viam/gen/component/switch/__init__.py +0 -0
- viam/gen/component/switch/v1/__init__.py +0 -0
- viam/gen/component/switch/v1/switch_grpc.py +54 -0
- viam/gen/component/switch/v1/switch_pb2.py +40 -0
- viam/gen/component/switch/v1/switch_pb2.pyi +109 -0
- viam/gen/component/testecho/__init__.py +0 -0
- viam/gen/component/testecho/v1/__init__.py +0 -0
- viam/gen/component/testecho/v1/testecho_grpc.py +52 -0
- viam/gen/component/testecho/v1/testecho_pb2.py +36 -0
- viam/gen/component/testecho/v1/testecho_pb2.pyi +114 -0
- viam/gen/module/__init__.py +0 -0
- viam/gen/module/v1/__init__.py +0 -0
- viam/gen/module/v1/module_grpc.py +61 -0
- viam/gen/module/v1/module_pb2.py +43 -0
- viam/gen/module/v1/module_pb2.pyi +211 -0
- viam/gen/proto/__init__.py +0 -0
- viam/gen/proto/rpc/__init__.py +0 -0
- viam/gen/proto/rpc/examples/__init__.py +0 -0
- viam/gen/proto/rpc/examples/echo/__init__.py +0 -0
- viam/gen/proto/rpc/examples/echo/v1/__init__.py +0 -0
- viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py +44 -0
- viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +32 -0
- viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi +87 -0
- viam/gen/proto/rpc/examples/echoresource/__init__.py +0 -0
- viam/gen/proto/rpc/examples/echoresource/v1/__init__.py +0 -0
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py +43 -0
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +29 -0
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi +93 -0
- viam/gen/proto/rpc/v1/__init__.py +0 -0
- viam/gen/proto/rpc/v1/auth_grpc.py +47 -0
- viam/gen/proto/rpc/v1/auth_pb2.py +34 -0
- viam/gen/proto/rpc/v1/auth_pb2.pyi +92 -0
- viam/gen/proto/rpc/webrtc/__init__.py +0 -0
- viam/gen/proto/rpc/webrtc/v1/__init__.py +0 -0
- viam/gen/proto/rpc/webrtc/v1/grpc_grpc.py +0 -0
- viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +43 -0
- viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi +304 -0
- viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py +54 -0
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +70 -0
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +496 -0
- viam/gen/provisioning/__init__.py +0 -0
- viam/gen/provisioning/v1/__init__.py +0 -0
- viam/gen/provisioning/v1/provisioning_grpc.py +51 -0
- viam/gen/provisioning/v1/provisioning_pb2.py +39 -0
- viam/gen/provisioning/v1/provisioning_pb2.pyi +188 -0
- viam/gen/robot/__init__.py +0 -0
- viam/gen/robot/v1/__init__.py +0 -0
- viam/gen/robot/v1/robot_grpc.py +208 -0
- viam/gen/robot/v1/robot_pb2.py +188 -0
- viam/gen/robot/v1/robot_pb2.pyi +1020 -0
- viam/gen/service/__init__.py +0 -0
- viam/gen/service/datamanager/__init__.py +0 -0
- viam/gen/service/datamanager/v1/__init__.py +0 -0
- viam/gen/service/datamanager/v1/data_manager_grpc.py +38 -0
- viam/gen/service/datamanager/v1/data_manager_pb2.py +28 -0
- viam/gen/service/datamanager/v1/data_manager_pb2.pyi +39 -0
- viam/gen/service/discovery/__init__.py +0 -0
- viam/gen/service/discovery/v1/__init__.py +0 -0
- viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
- viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
- viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
- viam/gen/service/generic/__init__.py +0 -0
- viam/gen/service/generic/v1/__init__.py +0 -0
- viam/gen/service/generic/v1/generic_grpc.py +29 -0
- viam/gen/service/generic/v1/generic_pb2.py +21 -0
- viam/gen/service/generic/v1/generic_pb2.pyi +6 -0
- viam/gen/service/mlmodel/__init__.py +0 -0
- viam/gen/service/mlmodel/v1/__init__.py +0 -0
- viam/gen/service/mlmodel/v1/mlmodel_grpc.py +37 -0
- viam/gen/service/mlmodel/v1/mlmodel_pb2.py +83 -0
- viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi +480 -0
- viam/gen/service/motion/__init__.py +0 -0
- viam/gen/service/motion/v1/__init__.py +0 -0
- viam/gen/service/motion/v1/motion_grpc.py +87 -0
- viam/gen/service/motion/v1/motion_pb2.py +97 -0
- viam/gen/service/motion/v1/motion_pb2.pyi +838 -0
- viam/gen/service/navigation/__init__.py +0 -0
- viam/gen/service/navigation/v1/__init__.py +0 -0
- viam/gen/service/navigation/v1/navigation_grpc.py +102 -0
- viam/gen/service/navigation/v1/navigation_pb2.py +84 -0
- viam/gen/service/navigation/v1/navigation_pb2.pyi +419 -0
- viam/gen/service/sensors/__init__.py +0 -0
- viam/gen/service/sensors/v1/__init__.py +0 -0
- viam/gen/service/sensors/v1/sensors_grpc.py +46 -0
- viam/gen/service/sensors/v1/sensors_pb2.py +68 -0
- viam/gen/service/sensors/v1/sensors_pb2.pyi +137 -0
- viam/gen/service/shell/__init__.py +0 -0
- viam/gen/service/shell/v1/__init__.py +0 -0
- viam/gen/service/shell/v1/shell_grpc.py +55 -0
- viam/gen/service/shell/v1/shell_pb2.py +45 -0
- viam/gen/service/shell/v1/shell_pb2.pyi +307 -0
- viam/gen/service/slam/__init__.py +0 -0
- viam/gen/service/slam/v1/__init__.py +0 -0
- viam/gen/service/slam/v1/slam_grpc.py +61 -0
- viam/gen/service/slam/v1/slam_pb2.py +51 -0
- viam/gen/service/slam/v1/slam_pb2.pyi +213 -0
- viam/gen/service/vision/__init__.py +0 -0
- viam/gen/service/vision/v1/__init__.py +0 -0
- viam/gen/service/vision/v1/vision_grpc.py +87 -0
- viam/gen/service/vision/v1/vision_pb2.py +69 -0
- viam/gen/service/vision/v1/vision_pb2.pyi +454 -0
- viam/gen/stream/__init__.py +0 -0
- viam/gen/stream/v1/__init__.py +0 -0
- viam/gen/stream/v1/stream_grpc.py +59 -0
- viam/gen/stream/v1/stream_pb2.py +39 -0
- viam/gen/stream/v1/stream_pb2.pyi +161 -0
- viam/gen/tagger/__init__.py +0 -0
- viam/gen/tagger/v1/__init__.py +0 -0
- viam/gen/tagger/v1/tagger_grpc.py +0 -0
- viam/gen/tagger/v1/tagger_pb2.py +16 -0
- viam/gen/tagger/v1/tagger_pb2.pyi +15 -0
- viam/logging.py +216 -0
- viam/media/__init__.py +0 -0
- viam/media/audio.py +16 -0
- viam/media/utils/__init__.py +0 -0
- viam/media/utils/pil/__init__.py +51 -0
- viam/media/utils/pil/viam_rgba_plugin.py +73 -0
- viam/media/viam_rgba.py +10 -0
- viam/media/video.py +217 -0
- viam/module/__init__.py +5 -0
- viam/module/module.py +281 -0
- viam/module/service.py +66 -0
- viam/module/types.py +23 -0
- viam/operations.py +124 -0
- viam/proto/__init__.py +0 -0
- viam/proto/app/__init__.py +554 -0
- viam/proto/app/agent/__init__.py +28 -0
- viam/proto/app/billing.py +58 -0
- viam/proto/app/cloudslam/__init__.py +48 -0
- viam/proto/app/data/__init__.py +138 -0
- viam/proto/app/datapipelines/__init__.py +56 -0
- viam/proto/app/dataset/__init__.py +36 -0
- viam/proto/app/datasync/__init__.py +44 -0
- viam/proto/app/end_user.py +34 -0
- viam/proto/app/mlinference/__init__.py +15 -0
- viam/proto/app/mltraining/__init__.py +52 -0
- viam/proto/app/packages/__init__.py +38 -0
- viam/proto/app/robot.py +84 -0
- viam/proto/common/__init__.py +66 -0
- viam/proto/component/__init__.py +0 -0
- viam/proto/component/arm/__init__.py +48 -0
- viam/proto/component/audioinput/__init__.py +30 -0
- viam/proto/component/base/__init__.py +42 -0
- viam/proto/component/board/__init__.py +62 -0
- viam/proto/component/button/__init__.py +15 -0
- viam/proto/component/camera/__init__.py +46 -0
- viam/proto/component/encoder/__init__.py +28 -0
- viam/proto/component/gantry/__init__.py +40 -0
- viam/proto/component/generic/__init__.py +12 -0
- viam/proto/component/gripper/__init__.py +30 -0
- viam/proto/component/inputcontroller/__init__.py +38 -0
- viam/proto/component/motor/__init__.py +56 -0
- viam/proto/component/movementsensor/__init__.py +50 -0
- viam/proto/component/posetracker/__init__.py +19 -0
- viam/proto/component/powersensor/__init__.py +30 -0
- viam/proto/component/sensor/__init__.py +12 -0
- viam/proto/component/servo/__init__.py +32 -0
- viam/proto/component/switch/__init__.py +26 -0
- viam/proto/component/testecho/__init__.py +30 -0
- viam/proto/module/__init__.py +38 -0
- viam/proto/provisioning/__init__.py +36 -0
- viam/proto/robot/__init__.py +130 -0
- viam/proto/rpc/__init__.py +0 -0
- viam/proto/rpc/auth.py +34 -0
- viam/proto/rpc/examples/__init__.py +0 -0
- viam/proto/rpc/examples/echo/__init__.py +26 -0
- viam/proto/rpc/examples/echoresource/__init__.py +30 -0
- viam/proto/rpc/webrtc/__init__.py +0 -0
- viam/proto/rpc/webrtc/grpc.py +36 -0
- viam/proto/rpc/webrtc/signaling.py +58 -0
- viam/proto/service/__init__.py +0 -0
- viam/proto/service/datamanager/__init__.py +19 -0
- viam/proto/service/discovery/__init__.py +15 -0
- viam/proto/service/generic/__init__.py +12 -0
- viam/proto/service/mlmodel/__init__.py +54 -0
- viam/proto/service/motion/__init__.py +68 -0
- viam/proto/service/navigation/__init__.py +58 -0
- viam/proto/service/sensors/__init__.py +18 -0
- viam/proto/service/shell/__init__.py +36 -0
- viam/proto/service/slam/__init__.py +36 -0
- viam/proto/service/vision/__init__.py +46 -0
- viam/proto/stream/__init__.py +36 -0
- viam/proto/tagger/__init__.py +6 -0
- viam/py.typed +0 -0
- viam/resource/__init__.py +0 -0
- viam/resource/base.py +123 -0
- viam/resource/easy_resource.py +153 -0
- viam/resource/manager.py +126 -0
- viam/resource/registry.py +199 -0
- viam/resource/rpc_client_base.py +65 -0
- viam/resource/rpc_service_base.py +48 -0
- viam/resource/types.py +213 -0
- viam/robot/__init__.py +0 -0
- viam/robot/client.py +909 -0
- viam/robot/service.py +69 -0
- viam/rpc/__init__.py +0 -0
- viam/rpc/dial.py +420 -0
- viam/rpc/libviam_rust_utils.dll +0 -0
- viam/rpc/server.py +201 -0
- viam/rpc/signaling.py +29 -0
- viam/rpc/types.py +22 -0
- viam/services/__init__.py +0 -0
- viam/services/discovery/__init__.py +12 -0
- viam/services/discovery/client.py +55 -0
- viam/services/discovery/discovery.py +52 -0
- viam/services/discovery/service.py +43 -0
- viam/services/generic/__init__.py +18 -0
- viam/services/generic/client.py +58 -0
- viam/services/generic/generic.py +58 -0
- viam/services/generic/service.py +29 -0
- viam/services/mlmodel/__init__.py +24 -0
- viam/services/mlmodel/client.py +37 -0
- viam/services/mlmodel/mlmodel.py +78 -0
- viam/services/mlmodel/service.py +38 -0
- viam/services/mlmodel/utils.py +101 -0
- viam/services/motion/__init__.py +17 -0
- viam/services/motion/client.py +215 -0
- viam/services/motion/motion.py +378 -0
- viam/services/motion/service.py +132 -0
- viam/services/navigation/__init__.py +11 -0
- viam/services/navigation/client.py +99 -0
- viam/services/navigation/navigation.py +250 -0
- viam/services/navigation/service.py +137 -0
- viam/services/service_base.py +78 -0
- viam/services/service_client_base.py +46 -0
- viam/services/slam/__init__.py +17 -0
- viam/services/slam/client.py +62 -0
- viam/services/slam/service.py +75 -0
- viam/services/slam/slam.py +111 -0
- viam/services/vision/__init__.py +15 -0
- viam/services/vision/client.py +206 -0
- viam/services/vision/service.py +146 -0
- viam/services/vision/vision.py +315 -0
- viam/sessions_client.py +245 -0
- viam/streams.py +44 -0
- viam/utils.py +365 -0
- viam/version_metadata.py +4 -0
- viam_sdk-0.45.2.dist-info/METADATA +157 -0
- viam_sdk-0.45.2.dist-info/RECORD +476 -0
- viam_sdk-0.45.2.dist-info/WHEEL +4 -0
- viam_sdk-0.45.2.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,838 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
import builtins
|
|
6
|
+
import collections.abc
|
|
7
|
+
from .... import common
|
|
8
|
+
import google.protobuf.descriptor
|
|
9
|
+
import google.protobuf.internal.containers
|
|
10
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
11
|
+
import google.protobuf.message
|
|
12
|
+
import google.protobuf.struct_pb2
|
|
13
|
+
import google.protobuf.timestamp_pb2
|
|
14
|
+
import sys
|
|
15
|
+
import typing
|
|
16
|
+
if sys.version_info >= (3, 10):
|
|
17
|
+
import typing as typing_extensions
|
|
18
|
+
else:
|
|
19
|
+
import typing_extensions
|
|
20
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
21
|
+
|
|
22
|
+
class _PlanState:
|
|
23
|
+
ValueType = typing.NewType('ValueType', builtins.int)
|
|
24
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
25
|
+
|
|
26
|
+
class _PlanStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PlanState.ValueType], builtins.type):
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
28
|
+
PLAN_STATE_UNSPECIFIED: _PlanState.ValueType
|
|
29
|
+
PLAN_STATE_IN_PROGRESS: _PlanState.ValueType
|
|
30
|
+
PLAN_STATE_STOPPED: _PlanState.ValueType
|
|
31
|
+
PLAN_STATE_SUCCEEDED: _PlanState.ValueType
|
|
32
|
+
PLAN_STATE_FAILED: _PlanState.ValueType
|
|
33
|
+
|
|
34
|
+
class PlanState(_PlanState, metaclass=_PlanStateEnumTypeWrapper):
|
|
35
|
+
"""The states that a plan can be in.
|
|
36
|
+
InProgress if the plan is executing.
|
|
37
|
+
Stopped if the plan was stopped.
|
|
38
|
+
Suceeded if the robot reached its destination successfully.
|
|
39
|
+
Failed if the robot did not reach its destination.
|
|
40
|
+
"""
|
|
41
|
+
PLAN_STATE_UNSPECIFIED: PlanState.ValueType
|
|
42
|
+
PLAN_STATE_IN_PROGRESS: PlanState.ValueType
|
|
43
|
+
PLAN_STATE_STOPPED: PlanState.ValueType
|
|
44
|
+
PLAN_STATE_SUCCEEDED: PlanState.ValueType
|
|
45
|
+
PLAN_STATE_FAILED: PlanState.ValueType
|
|
46
|
+
global___PlanState = PlanState
|
|
47
|
+
|
|
48
|
+
@typing.final
|
|
49
|
+
class MoveRequest(google.protobuf.message.Message):
|
|
50
|
+
"""Moves any component on the robot to a specified destination which can be from the reference frame of any other component on the robot."""
|
|
51
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
52
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
53
|
+
DESTINATION_FIELD_NUMBER: builtins.int
|
|
54
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
55
|
+
WORLD_STATE_FIELD_NUMBER: builtins.int
|
|
56
|
+
CONSTRAINTS_FIELD_NUMBER: builtins.int
|
|
57
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
58
|
+
name: builtins.str
|
|
59
|
+
'Name of the motion service'
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def destination(self) -> common.v1.common_pb2.PoseInFrame:
|
|
63
|
+
"""Destination to move to, which can a pose in the reference frame of any frame in the robot's frame system"""
|
|
64
|
+
|
|
65
|
+
@property
|
|
66
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
67
|
+
"""Component on the robot to move to the specified destination"""
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def world_state(self) -> common.v1.common_pb2.WorldState:
|
|
71
|
+
"""Avoid obstacles by specifying their geometries in the world state
|
|
72
|
+
Augment the frame system of the robot by specifying additional transforms to add to it for the duration of the Move
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
@property
|
|
76
|
+
def constraints(self) -> global___Constraints:
|
|
77
|
+
"""Constrain the way the robot will move"""
|
|
78
|
+
|
|
79
|
+
@property
|
|
80
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
81
|
+
"""Additional arguments to the method"""
|
|
82
|
+
|
|
83
|
+
def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.PoseInFrame | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., world_state: common.v1.common_pb2.WorldState | None=..., constraints: global___Constraints | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
84
|
+
...
|
|
85
|
+
|
|
86
|
+
def HasField(self, field_name: typing.Literal['_constraints', b'_constraints', '_world_state', b'_world_state', 'component_name', b'component_name', 'constraints', b'constraints', 'destination', b'destination', 'extra', b'extra', 'world_state', b'world_state']) -> builtins.bool:
|
|
87
|
+
...
|
|
88
|
+
|
|
89
|
+
def ClearField(self, field_name: typing.Literal['_constraints', b'_constraints', '_world_state', b'_world_state', 'component_name', b'component_name', 'constraints', b'constraints', 'destination', b'destination', 'extra', b'extra', 'name', b'name', 'world_state', b'world_state']) -> None:
|
|
90
|
+
...
|
|
91
|
+
|
|
92
|
+
@typing.overload
|
|
93
|
+
def WhichOneof(self, oneof_group: typing.Literal['_constraints', b'_constraints']) -> typing.Literal['constraints'] | None:
|
|
94
|
+
...
|
|
95
|
+
|
|
96
|
+
@typing.overload
|
|
97
|
+
def WhichOneof(self, oneof_group: typing.Literal['_world_state', b'_world_state']) -> typing.Literal['world_state'] | None:
|
|
98
|
+
...
|
|
99
|
+
global___MoveRequest = MoveRequest
|
|
100
|
+
|
|
101
|
+
@typing.final
|
|
102
|
+
class MoveResponse(google.protobuf.message.Message):
|
|
103
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
104
|
+
SUCCESS_FIELD_NUMBER: builtins.int
|
|
105
|
+
success: builtins.bool
|
|
106
|
+
|
|
107
|
+
def __init__(self, *, success: builtins.bool=...) -> None:
|
|
108
|
+
...
|
|
109
|
+
|
|
110
|
+
def ClearField(self, field_name: typing.Literal['success', b'success']) -> None:
|
|
111
|
+
...
|
|
112
|
+
global___MoveResponse = MoveResponse
|
|
113
|
+
|
|
114
|
+
@typing.final
|
|
115
|
+
class MoveOnMapRequest(google.protobuf.message.Message):
|
|
116
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
117
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
118
|
+
DESTINATION_FIELD_NUMBER: builtins.int
|
|
119
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
120
|
+
SLAM_SERVICE_NAME_FIELD_NUMBER: builtins.int
|
|
121
|
+
MOTION_CONFIGURATION_FIELD_NUMBER: builtins.int
|
|
122
|
+
OBSTACLES_FIELD_NUMBER: builtins.int
|
|
123
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
124
|
+
name: builtins.str
|
|
125
|
+
'Name of the motion service'
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
def destination(self) -> common.v1.common_pb2.Pose:
|
|
129
|
+
"""Specify a destination to, which can be any pose with respect to the SLAM map's origin"""
|
|
130
|
+
|
|
131
|
+
@property
|
|
132
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
133
|
+
"""Component on the robot to move to the specified destination"""
|
|
134
|
+
|
|
135
|
+
@property
|
|
136
|
+
def slam_service_name(self) -> common.v1.common_pb2.ResourceName:
|
|
137
|
+
"""Name of the slam service from which the SLAM map is requested"""
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def motion_configuration(self) -> global___MotionConfiguration:
|
|
141
|
+
"""Optional set of motion configuration options"""
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Geometry]:
|
|
145
|
+
"""Obstacles to be considered for motion planning"""
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
149
|
+
"""Additional arguments to the method"""
|
|
150
|
+
|
|
151
|
+
def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.Pose | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., slam_service_name: common.v1.common_pb2.ResourceName | None=..., motion_configuration: global___MotionConfiguration | None=..., obstacles: collections.abc.Iterable[common.v1.common_pb2.Geometry] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
152
|
+
...
|
|
153
|
+
|
|
154
|
+
def HasField(self, field_name: typing.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'slam_service_name', b'slam_service_name']) -> builtins.bool:
|
|
155
|
+
...
|
|
156
|
+
|
|
157
|
+
def ClearField(self, field_name: typing.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'name', b'name', 'obstacles', b'obstacles', 'slam_service_name', b'slam_service_name']) -> None:
|
|
158
|
+
...
|
|
159
|
+
|
|
160
|
+
def WhichOneof(self, oneof_group: typing.Literal['_motion_configuration', b'_motion_configuration']) -> typing.Literal['motion_configuration'] | None:
|
|
161
|
+
...
|
|
162
|
+
global___MoveOnMapRequest = MoveOnMapRequest
|
|
163
|
+
|
|
164
|
+
@typing.final
|
|
165
|
+
class MoveOnMapResponse(google.protobuf.message.Message):
|
|
166
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
167
|
+
EXECUTION_ID_FIELD_NUMBER: builtins.int
|
|
168
|
+
execution_id: builtins.str
|
|
169
|
+
'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n '
|
|
170
|
+
|
|
171
|
+
def __init__(self, *, execution_id: builtins.str=...) -> None:
|
|
172
|
+
...
|
|
173
|
+
|
|
174
|
+
def ClearField(self, field_name: typing.Literal['execution_id', b'execution_id']) -> None:
|
|
175
|
+
...
|
|
176
|
+
global___MoveOnMapResponse = MoveOnMapResponse
|
|
177
|
+
|
|
178
|
+
@typing.final
|
|
179
|
+
class ObstacleDetector(google.protobuf.message.Message):
|
|
180
|
+
"""Pairs a vision service with a camera, informing the service about which camera it may use"""
|
|
181
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
182
|
+
VISION_SERVICE_FIELD_NUMBER: builtins.int
|
|
183
|
+
CAMERA_FIELD_NUMBER: builtins.int
|
|
184
|
+
|
|
185
|
+
@property
|
|
186
|
+
def vision_service(self) -> common.v1.common_pb2.ResourceName:
|
|
187
|
+
...
|
|
188
|
+
|
|
189
|
+
@property
|
|
190
|
+
def camera(self) -> common.v1.common_pb2.ResourceName:
|
|
191
|
+
...
|
|
192
|
+
|
|
193
|
+
def __init__(self, *, vision_service: common.v1.common_pb2.ResourceName | None=..., camera: common.v1.common_pb2.ResourceName | None=...) -> None:
|
|
194
|
+
...
|
|
195
|
+
|
|
196
|
+
def HasField(self, field_name: typing.Literal['camera', b'camera', 'vision_service', b'vision_service']) -> builtins.bool:
|
|
197
|
+
...
|
|
198
|
+
|
|
199
|
+
def ClearField(self, field_name: typing.Literal['camera', b'camera', 'vision_service', b'vision_service']) -> None:
|
|
200
|
+
...
|
|
201
|
+
global___ObstacleDetector = ObstacleDetector
|
|
202
|
+
|
|
203
|
+
@typing.final
|
|
204
|
+
class MotionConfiguration(google.protobuf.message.Message):
|
|
205
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
206
|
+
OBSTACLE_DETECTORS_FIELD_NUMBER: builtins.int
|
|
207
|
+
POSITION_POLLING_FREQUENCY_HZ_FIELD_NUMBER: builtins.int
|
|
208
|
+
OBSTACLE_POLLING_FREQUENCY_HZ_FIELD_NUMBER: builtins.int
|
|
209
|
+
PLAN_DEVIATION_M_FIELD_NUMBER: builtins.int
|
|
210
|
+
LINEAR_M_PER_SEC_FIELD_NUMBER: builtins.int
|
|
211
|
+
ANGULAR_DEGS_PER_SEC_FIELD_NUMBER: builtins.int
|
|
212
|
+
position_polling_frequency_hz: builtins.float
|
|
213
|
+
'Sets the frequency to poll for the position of the robot'
|
|
214
|
+
obstacle_polling_frequency_hz: builtins.float
|
|
215
|
+
'Sets the frequency to poll the vision service(s) for new obstacles'
|
|
216
|
+
plan_deviation_m: builtins.float
|
|
217
|
+
'Sets the distance in meters that a robot is allowed to deviate from the motion plan'
|
|
218
|
+
linear_m_per_sec: builtins.float
|
|
219
|
+
'Optional linear velocity to target when moving'
|
|
220
|
+
angular_degs_per_sec: builtins.float
|
|
221
|
+
'Optional angular velocity to target when turning'
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def obstacle_detectors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ObstacleDetector]:
|
|
225
|
+
"""The ObstacleDetectors that will be used for transient obstacle avoidance"""
|
|
226
|
+
|
|
227
|
+
def __init__(self, *, obstacle_detectors: collections.abc.Iterable[global___ObstacleDetector] | None=..., position_polling_frequency_hz: builtins.float | None=..., obstacle_polling_frequency_hz: builtins.float | None=..., plan_deviation_m: builtins.float | None=..., linear_m_per_sec: builtins.float | None=..., angular_degs_per_sec: builtins.float | None=...) -> None:
|
|
228
|
+
...
|
|
229
|
+
|
|
230
|
+
def HasField(self, field_name: typing.Literal['_angular_degs_per_sec', b'_angular_degs_per_sec', '_linear_m_per_sec', b'_linear_m_per_sec', '_obstacle_polling_frequency_hz', b'_obstacle_polling_frequency_hz', '_plan_deviation_m', b'_plan_deviation_m', '_position_polling_frequency_hz', b'_position_polling_frequency_hz', 'angular_degs_per_sec', b'angular_degs_per_sec', 'linear_m_per_sec', b'linear_m_per_sec', 'obstacle_polling_frequency_hz', b'obstacle_polling_frequency_hz', 'plan_deviation_m', b'plan_deviation_m', 'position_polling_frequency_hz', b'position_polling_frequency_hz']) -> builtins.bool:
|
|
231
|
+
...
|
|
232
|
+
|
|
233
|
+
def ClearField(self, field_name: typing.Literal['_angular_degs_per_sec', b'_angular_degs_per_sec', '_linear_m_per_sec', b'_linear_m_per_sec', '_obstacle_polling_frequency_hz', b'_obstacle_polling_frequency_hz', '_plan_deviation_m', b'_plan_deviation_m', '_position_polling_frequency_hz', b'_position_polling_frequency_hz', 'angular_degs_per_sec', b'angular_degs_per_sec', 'linear_m_per_sec', b'linear_m_per_sec', 'obstacle_detectors', b'obstacle_detectors', 'obstacle_polling_frequency_hz', b'obstacle_polling_frequency_hz', 'plan_deviation_m', b'plan_deviation_m', 'position_polling_frequency_hz', b'position_polling_frequency_hz']) -> None:
|
|
234
|
+
...
|
|
235
|
+
|
|
236
|
+
@typing.overload
|
|
237
|
+
def WhichOneof(self, oneof_group: typing.Literal['_angular_degs_per_sec', b'_angular_degs_per_sec']) -> typing.Literal['angular_degs_per_sec'] | None:
|
|
238
|
+
...
|
|
239
|
+
|
|
240
|
+
@typing.overload
|
|
241
|
+
def WhichOneof(self, oneof_group: typing.Literal['_linear_m_per_sec', b'_linear_m_per_sec']) -> typing.Literal['linear_m_per_sec'] | None:
|
|
242
|
+
...
|
|
243
|
+
|
|
244
|
+
@typing.overload
|
|
245
|
+
def WhichOneof(self, oneof_group: typing.Literal['_obstacle_polling_frequency_hz', b'_obstacle_polling_frequency_hz']) -> typing.Literal['obstacle_polling_frequency_hz'] | None:
|
|
246
|
+
...
|
|
247
|
+
|
|
248
|
+
@typing.overload
|
|
249
|
+
def WhichOneof(self, oneof_group: typing.Literal['_plan_deviation_m', b'_plan_deviation_m']) -> typing.Literal['plan_deviation_m'] | None:
|
|
250
|
+
...
|
|
251
|
+
|
|
252
|
+
@typing.overload
|
|
253
|
+
def WhichOneof(self, oneof_group: typing.Literal['_position_polling_frequency_hz', b'_position_polling_frequency_hz']) -> typing.Literal['position_polling_frequency_hz'] | None:
|
|
254
|
+
...
|
|
255
|
+
global___MotionConfiguration = MotionConfiguration
|
|
256
|
+
|
|
257
|
+
@typing.final
|
|
258
|
+
class MoveOnGlobeRequest(google.protobuf.message.Message):
|
|
259
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
260
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
261
|
+
DESTINATION_FIELD_NUMBER: builtins.int
|
|
262
|
+
HEADING_FIELD_NUMBER: builtins.int
|
|
263
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
264
|
+
MOVEMENT_SENSOR_NAME_FIELD_NUMBER: builtins.int
|
|
265
|
+
OBSTACLES_FIELD_NUMBER: builtins.int
|
|
266
|
+
MOTION_CONFIGURATION_FIELD_NUMBER: builtins.int
|
|
267
|
+
BOUNDING_REGIONS_FIELD_NUMBER: builtins.int
|
|
268
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
269
|
+
name: builtins.str
|
|
270
|
+
'Name of the motion service'
|
|
271
|
+
heading: builtins.float
|
|
272
|
+
'Optional compass heading to achieve at the destination, in degrees [0-360)'
|
|
273
|
+
|
|
274
|
+
@property
|
|
275
|
+
def destination(self) -> common.v1.common_pb2.GeoPoint:
|
|
276
|
+
"""Destination, encoded as a GeoPoint"""
|
|
277
|
+
|
|
278
|
+
@property
|
|
279
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
280
|
+
"""Component on the robot to move to the specified destination"""
|
|
281
|
+
|
|
282
|
+
@property
|
|
283
|
+
def movement_sensor_name(self) -> common.v1.common_pb2.ResourceName:
|
|
284
|
+
"""Name of the movement sensor which will be used to check robot location"""
|
|
285
|
+
|
|
286
|
+
@property
|
|
287
|
+
def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoGeometry]:
|
|
288
|
+
"""Obstacles to be considered for motion planning"""
|
|
289
|
+
|
|
290
|
+
@property
|
|
291
|
+
def motion_configuration(self) -> global___MotionConfiguration:
|
|
292
|
+
"""Optional set of motion configuration options"""
|
|
293
|
+
|
|
294
|
+
@property
|
|
295
|
+
def bounding_regions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoGeometry]:
|
|
296
|
+
"""Set of obstacles which the robot must remain within while navigating"""
|
|
297
|
+
|
|
298
|
+
@property
|
|
299
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
300
|
+
"""Additional arguments to the method"""
|
|
301
|
+
|
|
302
|
+
def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.GeoPoint | None=..., heading: builtins.float | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., movement_sensor_name: common.v1.common_pb2.ResourceName | None=..., obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoGeometry] | None=..., motion_configuration: global___MotionConfiguration | None=..., bounding_regions: collections.abc.Iterable[common.v1.common_pb2.GeoGeometry] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
303
|
+
...
|
|
304
|
+
|
|
305
|
+
def HasField(self, field_name: typing.Literal['_heading', b'_heading', '_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'heading', b'heading', 'motion_configuration', b'motion_configuration', 'movement_sensor_name', b'movement_sensor_name']) -> builtins.bool:
|
|
306
|
+
...
|
|
307
|
+
|
|
308
|
+
def ClearField(self, field_name: typing.Literal['_heading', b'_heading', '_motion_configuration', b'_motion_configuration', 'bounding_regions', b'bounding_regions', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'heading', b'heading', 'motion_configuration', b'motion_configuration', 'movement_sensor_name', b'movement_sensor_name', 'name', b'name', 'obstacles', b'obstacles']) -> None:
|
|
309
|
+
...
|
|
310
|
+
|
|
311
|
+
@typing.overload
|
|
312
|
+
def WhichOneof(self, oneof_group: typing.Literal['_heading', b'_heading']) -> typing.Literal['heading'] | None:
|
|
313
|
+
...
|
|
314
|
+
|
|
315
|
+
@typing.overload
|
|
316
|
+
def WhichOneof(self, oneof_group: typing.Literal['_motion_configuration', b'_motion_configuration']) -> typing.Literal['motion_configuration'] | None:
|
|
317
|
+
...
|
|
318
|
+
global___MoveOnGlobeRequest = MoveOnGlobeRequest
|
|
319
|
+
|
|
320
|
+
@typing.final
|
|
321
|
+
class MoveOnGlobeResponse(google.protobuf.message.Message):
|
|
322
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
323
|
+
EXECUTION_ID_FIELD_NUMBER: builtins.int
|
|
324
|
+
execution_id: builtins.str
|
|
325
|
+
'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n '
|
|
326
|
+
|
|
327
|
+
def __init__(self, *, execution_id: builtins.str=...) -> None:
|
|
328
|
+
...
|
|
329
|
+
|
|
330
|
+
def ClearField(self, field_name: typing.Literal['execution_id', b'execution_id']) -> None:
|
|
331
|
+
...
|
|
332
|
+
global___MoveOnGlobeResponse = MoveOnGlobeResponse
|
|
333
|
+
|
|
334
|
+
@typing.final
|
|
335
|
+
class GetPoseRequest(google.protobuf.message.Message):
|
|
336
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
337
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
338
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
339
|
+
DESTINATION_FRAME_FIELD_NUMBER: builtins.int
|
|
340
|
+
SUPPLEMENTAL_TRANSFORMS_FIELD_NUMBER: builtins.int
|
|
341
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
342
|
+
name: builtins.str
|
|
343
|
+
destination_frame: builtins.str
|
|
344
|
+
'the reference frame in which the component\'s pose\n should be provided, if unset this defaults\n to the "world" reference frame\n '
|
|
345
|
+
|
|
346
|
+
@property
|
|
347
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
348
|
+
"""the component whose pose is being requested"""
|
|
349
|
+
|
|
350
|
+
@property
|
|
351
|
+
def supplemental_transforms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Transform]:
|
|
352
|
+
"""pose information on any additional reference frames that are needed
|
|
353
|
+
to compute the component's pose
|
|
354
|
+
"""
|
|
355
|
+
|
|
356
|
+
@property
|
|
357
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
358
|
+
"""Additional arguments to the method"""
|
|
359
|
+
|
|
360
|
+
def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., destination_frame: builtins.str=..., supplemental_transforms: collections.abc.Iterable[common.v1.common_pb2.Transform] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
361
|
+
...
|
|
362
|
+
|
|
363
|
+
def HasField(self, field_name: typing.Literal['component_name', b'component_name', 'extra', b'extra']) -> builtins.bool:
|
|
364
|
+
...
|
|
365
|
+
|
|
366
|
+
def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'destination_frame', b'destination_frame', 'extra', b'extra', 'name', b'name', 'supplemental_transforms', b'supplemental_transforms']) -> None:
|
|
367
|
+
...
|
|
368
|
+
global___GetPoseRequest = GetPoseRequest
|
|
369
|
+
|
|
370
|
+
@typing.final
|
|
371
|
+
class GetPoseResponse(google.protobuf.message.Message):
|
|
372
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
373
|
+
POSE_FIELD_NUMBER: builtins.int
|
|
374
|
+
|
|
375
|
+
@property
|
|
376
|
+
def pose(self) -> common.v1.common_pb2.PoseInFrame:
|
|
377
|
+
...
|
|
378
|
+
|
|
379
|
+
def __init__(self, *, pose: common.v1.common_pb2.PoseInFrame | None=...) -> None:
|
|
380
|
+
...
|
|
381
|
+
|
|
382
|
+
def HasField(self, field_name: typing.Literal['pose', b'pose']) -> builtins.bool:
|
|
383
|
+
...
|
|
384
|
+
|
|
385
|
+
def ClearField(self, field_name: typing.Literal['pose', b'pose']) -> None:
|
|
386
|
+
...
|
|
387
|
+
global___GetPoseResponse = GetPoseResponse
|
|
388
|
+
|
|
389
|
+
@typing.final
|
|
390
|
+
class StopPlanRequest(google.protobuf.message.Message):
|
|
391
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
392
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
393
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
394
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
395
|
+
name: builtins.str
|
|
396
|
+
'The name of the motion service'
|
|
397
|
+
|
|
398
|
+
@property
|
|
399
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
400
|
+
"""The component of the currently executing plan to stop"""
|
|
401
|
+
|
|
402
|
+
@property
|
|
403
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
404
|
+
"""Additional arguments to the method"""
|
|
405
|
+
|
|
406
|
+
def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
407
|
+
...
|
|
408
|
+
|
|
409
|
+
def HasField(self, field_name: typing.Literal['component_name', b'component_name', 'extra', b'extra']) -> builtins.bool:
|
|
410
|
+
...
|
|
411
|
+
|
|
412
|
+
def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'extra', b'extra', 'name', b'name']) -> None:
|
|
413
|
+
...
|
|
414
|
+
global___StopPlanRequest = StopPlanRequest
|
|
415
|
+
|
|
416
|
+
@typing.final
|
|
417
|
+
class StopPlanResponse(google.protobuf.message.Message):
|
|
418
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
419
|
+
|
|
420
|
+
def __init__(self) -> None:
|
|
421
|
+
...
|
|
422
|
+
global___StopPlanResponse = StopPlanResponse
|
|
423
|
+
|
|
424
|
+
@typing.final
|
|
425
|
+
class ListPlanStatusesRequest(google.protobuf.message.Message):
|
|
426
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
427
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
428
|
+
ONLY_ACTIVE_PLANS_FIELD_NUMBER: builtins.int
|
|
429
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
430
|
+
name: builtins.str
|
|
431
|
+
'The name of the motion service'
|
|
432
|
+
only_active_plans: builtins.bool
|
|
433
|
+
'If supplied, the response will filter the\n plan results for the supplied state\n '
|
|
434
|
+
|
|
435
|
+
@property
|
|
436
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
437
|
+
"""Additional arguments to the method"""
|
|
438
|
+
|
|
439
|
+
def __init__(self, *, name: builtins.str=..., only_active_plans: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
440
|
+
...
|
|
441
|
+
|
|
442
|
+
def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
|
|
443
|
+
...
|
|
444
|
+
|
|
445
|
+
def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name', 'only_active_plans', b'only_active_plans']) -> None:
|
|
446
|
+
...
|
|
447
|
+
global___ListPlanStatusesRequest = ListPlanStatusesRequest
|
|
448
|
+
|
|
449
|
+
@typing.final
|
|
450
|
+
class ListPlanStatusesResponse(google.protobuf.message.Message):
|
|
451
|
+
"""Status of all executed / executing plan statuses with associated IDs within the 24 hour TTL"""
|
|
452
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
453
|
+
PLAN_STATUSES_WITH_IDS_FIELD_NUMBER: builtins.int
|
|
454
|
+
|
|
455
|
+
@property
|
|
456
|
+
def plan_statuses_with_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStatusWithID]:
|
|
457
|
+
"""List of last known statuses with the associated IDs of all plans within the TTL
|
|
458
|
+
ordered by timestamp in ascending order
|
|
459
|
+
"""
|
|
460
|
+
|
|
461
|
+
def __init__(self, *, plan_statuses_with_ids: collections.abc.Iterable[global___PlanStatusWithID] | None=...) -> None:
|
|
462
|
+
...
|
|
463
|
+
|
|
464
|
+
def ClearField(self, field_name: typing.Literal['plan_statuses_with_ids', b'plan_statuses_with_ids']) -> None:
|
|
465
|
+
...
|
|
466
|
+
global___ListPlanStatusesResponse = ListPlanStatusesResponse
|
|
467
|
+
|
|
468
|
+
@typing.final
|
|
469
|
+
class GetPlanRequest(google.protobuf.message.Message):
|
|
470
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
471
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
472
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
473
|
+
LAST_PLAN_ONLY_FIELD_NUMBER: builtins.int
|
|
474
|
+
EXECUTION_ID_FIELD_NUMBER: builtins.int
|
|
475
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
476
|
+
name: builtins.str
|
|
477
|
+
'The name of the motion service'
|
|
478
|
+
last_plan_only: builtins.bool
|
|
479
|
+
'If supplied, the response will only return\n the the last plan for the component / execution\n '
|
|
480
|
+
execution_id: builtins.str
|
|
481
|
+
'If you want to know about the plans of a previous execution'
|
|
482
|
+
|
|
483
|
+
@property
|
|
484
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
485
|
+
"""The name of the component which was requested to be moved."""
|
|
486
|
+
|
|
487
|
+
@property
|
|
488
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
489
|
+
"""Additional arguments to the method"""
|
|
490
|
+
|
|
491
|
+
def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., last_plan_only: builtins.bool=..., execution_id: builtins.str | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
492
|
+
...
|
|
493
|
+
|
|
494
|
+
def HasField(self, field_name: typing.Literal['_execution_id', b'_execution_id', 'component_name', b'component_name', 'execution_id', b'execution_id', 'extra', b'extra']) -> builtins.bool:
|
|
495
|
+
...
|
|
496
|
+
|
|
497
|
+
def ClearField(self, field_name: typing.Literal['_execution_id', b'_execution_id', 'component_name', b'component_name', 'execution_id', b'execution_id', 'extra', b'extra', 'last_plan_only', b'last_plan_only', 'name', b'name']) -> None:
|
|
498
|
+
...
|
|
499
|
+
|
|
500
|
+
def WhichOneof(self, oneof_group: typing.Literal['_execution_id', b'_execution_id']) -> typing.Literal['execution_id'] | None:
|
|
501
|
+
...
|
|
502
|
+
global___GetPlanRequest = GetPlanRequest
|
|
503
|
+
|
|
504
|
+
@typing.final
|
|
505
|
+
class GetPlanResponse(google.protobuf.message.Message):
|
|
506
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
507
|
+
CURRENT_PLAN_WITH_STATUS_FIELD_NUMBER: builtins.int
|
|
508
|
+
REPLAN_HISTORY_FIELD_NUMBER: builtins.int
|
|
509
|
+
|
|
510
|
+
@property
|
|
511
|
+
def current_plan_with_status(self) -> global___PlanWithStatus:
|
|
512
|
+
"""The current plan and status that matches the request query"""
|
|
513
|
+
|
|
514
|
+
@property
|
|
515
|
+
def replan_history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanWithStatus]:
|
|
516
|
+
"""Returns the history of all previous plans that were
|
|
517
|
+
generated in ascending order.
|
|
518
|
+
This field will be empty if the motion service
|
|
519
|
+
did not need to re-plan.
|
|
520
|
+
"""
|
|
521
|
+
|
|
522
|
+
def __init__(self, *, current_plan_with_status: global___PlanWithStatus | None=..., replan_history: collections.abc.Iterable[global___PlanWithStatus] | None=...) -> None:
|
|
523
|
+
...
|
|
524
|
+
|
|
525
|
+
def HasField(self, field_name: typing.Literal['current_plan_with_status', b'current_plan_with_status']) -> builtins.bool:
|
|
526
|
+
...
|
|
527
|
+
|
|
528
|
+
def ClearField(self, field_name: typing.Literal['current_plan_with_status', b'current_plan_with_status', 'replan_history', b'replan_history']) -> None:
|
|
529
|
+
...
|
|
530
|
+
global___GetPlanResponse = GetPlanResponse
|
|
531
|
+
|
|
532
|
+
@typing.final
|
|
533
|
+
class Constraints(google.protobuf.message.Message):
|
|
534
|
+
"""Constraints specifies all enumerated constraints to be passed to Viam's motion planning, along with any optional parameters"""
|
|
535
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
536
|
+
LINEAR_CONSTRAINT_FIELD_NUMBER: builtins.int
|
|
537
|
+
ORIENTATION_CONSTRAINT_FIELD_NUMBER: builtins.int
|
|
538
|
+
COLLISION_SPECIFICATION_FIELD_NUMBER: builtins.int
|
|
539
|
+
|
|
540
|
+
@property
|
|
541
|
+
def linear_constraint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LinearConstraint]:
|
|
542
|
+
"""Typed message for a specific constraint"""
|
|
543
|
+
|
|
544
|
+
@property
|
|
545
|
+
def orientation_constraint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrientationConstraint]:
|
|
546
|
+
...
|
|
547
|
+
|
|
548
|
+
@property
|
|
549
|
+
def collision_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CollisionSpecification]:
|
|
550
|
+
"""Arc constraint, Time constraint, and others will be added here when they are supported"""
|
|
551
|
+
|
|
552
|
+
def __init__(self, *, linear_constraint: collections.abc.Iterable[global___LinearConstraint] | None=..., orientation_constraint: collections.abc.Iterable[global___OrientationConstraint] | None=..., collision_specification: collections.abc.Iterable[global___CollisionSpecification] | None=...) -> None:
|
|
553
|
+
...
|
|
554
|
+
|
|
555
|
+
def ClearField(self, field_name: typing.Literal['collision_specification', b'collision_specification', 'linear_constraint', b'linear_constraint', 'orientation_constraint', b'orientation_constraint']) -> None:
|
|
556
|
+
...
|
|
557
|
+
global___Constraints = Constraints
|
|
558
|
+
|
|
559
|
+
@typing.final
|
|
560
|
+
class LinearConstraint(google.protobuf.message.Message):
|
|
561
|
+
"""LinearConstraint specifies that the component being moved should move linearly relative to its goal.
|
|
562
|
+
It does not constrain the motion of components other than the `component_name` specified in motion.Move
|
|
563
|
+
"""
|
|
564
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
565
|
+
LINE_TOLERANCE_MM_FIELD_NUMBER: builtins.int
|
|
566
|
+
ORIENTATION_TOLERANCE_DEGS_FIELD_NUMBER: builtins.int
|
|
567
|
+
line_tolerance_mm: builtins.float
|
|
568
|
+
'Max linear deviation from straight-line between start and goal, in mm.'
|
|
569
|
+
orientation_tolerance_degs: builtins.float
|
|
570
|
+
'Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states'
|
|
571
|
+
|
|
572
|
+
def __init__(self, *, line_tolerance_mm: builtins.float | None=..., orientation_tolerance_degs: builtins.float | None=...) -> None:
|
|
573
|
+
...
|
|
574
|
+
|
|
575
|
+
def HasField(self, field_name: typing.Literal['_line_tolerance_mm', b'_line_tolerance_mm', '_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'line_tolerance_mm', b'line_tolerance_mm', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> builtins.bool:
|
|
576
|
+
...
|
|
577
|
+
|
|
578
|
+
def ClearField(self, field_name: typing.Literal['_line_tolerance_mm', b'_line_tolerance_mm', '_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'line_tolerance_mm', b'line_tolerance_mm', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> None:
|
|
579
|
+
...
|
|
580
|
+
|
|
581
|
+
@typing.overload
|
|
582
|
+
def WhichOneof(self, oneof_group: typing.Literal['_line_tolerance_mm', b'_line_tolerance_mm']) -> typing.Literal['line_tolerance_mm'] | None:
|
|
583
|
+
...
|
|
584
|
+
|
|
585
|
+
@typing.overload
|
|
586
|
+
def WhichOneof(self, oneof_group: typing.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs']) -> typing.Literal['orientation_tolerance_degs'] | None:
|
|
587
|
+
...
|
|
588
|
+
global___LinearConstraint = LinearConstraint
|
|
589
|
+
|
|
590
|
+
@typing.final
|
|
591
|
+
class OrientationConstraint(google.protobuf.message.Message):
|
|
592
|
+
"""OrientationConstraint specifies that the component being moved will not deviate its orientation beyond some threshold relative
|
|
593
|
+
to the goal. It does not constrain the motion of components other than the `component_name` specified in motion.Move
|
|
594
|
+
"""
|
|
595
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
596
|
+
ORIENTATION_TOLERANCE_DEGS_FIELD_NUMBER: builtins.int
|
|
597
|
+
orientation_tolerance_degs: builtins.float
|
|
598
|
+
'Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states'
|
|
599
|
+
|
|
600
|
+
def __init__(self, *, orientation_tolerance_degs: builtins.float | None=...) -> None:
|
|
601
|
+
...
|
|
602
|
+
|
|
603
|
+
def HasField(self, field_name: typing.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> builtins.bool:
|
|
604
|
+
...
|
|
605
|
+
|
|
606
|
+
def ClearField(self, field_name: typing.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> None:
|
|
607
|
+
...
|
|
608
|
+
|
|
609
|
+
def WhichOneof(self, oneof_group: typing.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs']) -> typing.Literal['orientation_tolerance_degs'] | None:
|
|
610
|
+
...
|
|
611
|
+
global___OrientationConstraint = OrientationConstraint
|
|
612
|
+
|
|
613
|
+
@typing.final
|
|
614
|
+
class CollisionSpecification(google.protobuf.message.Message):
|
|
615
|
+
"""CollisionSpecification is used to selectively apply obstacle avoidance to specific parts of the robot"""
|
|
616
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
617
|
+
|
|
618
|
+
@typing.final
|
|
619
|
+
class AllowedFrameCollisions(google.protobuf.message.Message):
|
|
620
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
621
|
+
FRAME1_FIELD_NUMBER: builtins.int
|
|
622
|
+
FRAME2_FIELD_NUMBER: builtins.int
|
|
623
|
+
frame1: builtins.str
|
|
624
|
+
frame2: builtins.str
|
|
625
|
+
|
|
626
|
+
def __init__(self, *, frame1: builtins.str=..., frame2: builtins.str=...) -> None:
|
|
627
|
+
...
|
|
628
|
+
|
|
629
|
+
def ClearField(self, field_name: typing.Literal['frame1', b'frame1', 'frame2', b'frame2']) -> None:
|
|
630
|
+
...
|
|
631
|
+
ALLOWS_FIELD_NUMBER: builtins.int
|
|
632
|
+
|
|
633
|
+
@property
|
|
634
|
+
def allows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CollisionSpecification.AllowedFrameCollisions]:
|
|
635
|
+
"""Pairs of frame which should be allowed to collide with one another"""
|
|
636
|
+
|
|
637
|
+
def __init__(self, *, allows: collections.abc.Iterable[global___CollisionSpecification.AllowedFrameCollisions] | None=...) -> None:
|
|
638
|
+
...
|
|
639
|
+
|
|
640
|
+
def ClearField(self, field_name: typing.Literal['allows', b'allows']) -> None:
|
|
641
|
+
...
|
|
642
|
+
global___CollisionSpecification = CollisionSpecification
|
|
643
|
+
|
|
644
|
+
@typing.final
|
|
645
|
+
class PlanWithStatus(google.protobuf.message.Message):
|
|
646
|
+
"""Describes a plan, its current status & all status changes
|
|
647
|
+
that have occured previously on that plan
|
|
648
|
+
"""
|
|
649
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
650
|
+
PLAN_FIELD_NUMBER: builtins.int
|
|
651
|
+
STATUS_FIELD_NUMBER: builtins.int
|
|
652
|
+
STATUS_HISTORY_FIELD_NUMBER: builtins.int
|
|
653
|
+
|
|
654
|
+
@property
|
|
655
|
+
def plan(self) -> global___Plan:
|
|
656
|
+
"""The plan"""
|
|
657
|
+
|
|
658
|
+
@property
|
|
659
|
+
def status(self) -> global___PlanStatus:
|
|
660
|
+
"""The current status of the plan"""
|
|
661
|
+
|
|
662
|
+
@property
|
|
663
|
+
def status_history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStatus]:
|
|
664
|
+
"""The prior status changes that have happened during plan execution"""
|
|
665
|
+
|
|
666
|
+
def __init__(self, *, plan: global___Plan | None=..., status: global___PlanStatus | None=..., status_history: collections.abc.Iterable[global___PlanStatus] | None=...) -> None:
|
|
667
|
+
...
|
|
668
|
+
|
|
669
|
+
def HasField(self, field_name: typing.Literal['plan', b'plan', 'status', b'status']) -> builtins.bool:
|
|
670
|
+
...
|
|
671
|
+
|
|
672
|
+
def ClearField(self, field_name: typing.Literal['plan', b'plan', 'status', b'status', 'status_history', b'status_history']) -> None:
|
|
673
|
+
...
|
|
674
|
+
global___PlanWithStatus = PlanWithStatus
|
|
675
|
+
|
|
676
|
+
@typing.final
|
|
677
|
+
class PlanStatusWithID(google.protobuf.message.Message):
|
|
678
|
+
"""PlanStatusWithID describes the state of a given plan at a
|
|
679
|
+
point in time plus the plan_id, component_name and execution_id
|
|
680
|
+
the status is associated with
|
|
681
|
+
"""
|
|
682
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
683
|
+
PLAN_ID_FIELD_NUMBER: builtins.int
|
|
684
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
685
|
+
EXECUTION_ID_FIELD_NUMBER: builtins.int
|
|
686
|
+
STATUS_FIELD_NUMBER: builtins.int
|
|
687
|
+
plan_id: builtins.str
|
|
688
|
+
'The unique ID of the plan'
|
|
689
|
+
execution_id: builtins.str
|
|
690
|
+
'The unique ID which identifies the plan execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n '
|
|
691
|
+
|
|
692
|
+
@property
|
|
693
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
694
|
+
"""The component to be moved.
|
|
695
|
+
Used for tracking & stopping.
|
|
696
|
+
NOTE: A plan may move more components than just the
|
|
697
|
+
component_name.
|
|
698
|
+
"""
|
|
699
|
+
|
|
700
|
+
@property
|
|
701
|
+
def status(self) -> global___PlanStatus:
|
|
702
|
+
...
|
|
703
|
+
|
|
704
|
+
def __init__(self, *, plan_id: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., execution_id: builtins.str=..., status: global___PlanStatus | None=...) -> None:
|
|
705
|
+
...
|
|
706
|
+
|
|
707
|
+
def HasField(self, field_name: typing.Literal['component_name', b'component_name', 'status', b'status']) -> builtins.bool:
|
|
708
|
+
...
|
|
709
|
+
|
|
710
|
+
def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'execution_id', b'execution_id', 'plan_id', b'plan_id', 'status', b'status']) -> None:
|
|
711
|
+
...
|
|
712
|
+
global___PlanStatusWithID = PlanStatusWithID
|
|
713
|
+
|
|
714
|
+
@typing.final
|
|
715
|
+
class PlanStatus(google.protobuf.message.Message):
|
|
716
|
+
"""Plan status describes the state of a given plan at a
|
|
717
|
+
point in time
|
|
718
|
+
"""
|
|
719
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
720
|
+
STATE_FIELD_NUMBER: builtins.int
|
|
721
|
+
TIMESTAMP_FIELD_NUMBER: builtins.int
|
|
722
|
+
REASON_FIELD_NUMBER: builtins.int
|
|
723
|
+
state: global___PlanState.ValueType
|
|
724
|
+
'The state of the plan execution'
|
|
725
|
+
reason: builtins.str
|
|
726
|
+
'The reason for the state change. If motion plan failed\n this will return the error message.\n If motion needed to re-plan, this will return\n the re-plan reason.\n '
|
|
727
|
+
|
|
728
|
+
@property
|
|
729
|
+
def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
730
|
+
"""The time the executing plan transtioned to the state"""
|
|
731
|
+
|
|
732
|
+
def __init__(self, *, state: global___PlanState.ValueType=..., timestamp: google.protobuf.timestamp_pb2.Timestamp | None=..., reason: builtins.str | None=...) -> None:
|
|
733
|
+
...
|
|
734
|
+
|
|
735
|
+
def HasField(self, field_name: typing.Literal['_reason', b'_reason', 'reason', b'reason', 'timestamp', b'timestamp']) -> builtins.bool:
|
|
736
|
+
...
|
|
737
|
+
|
|
738
|
+
def ClearField(self, field_name: typing.Literal['_reason', b'_reason', 'reason', b'reason', 'state', b'state', 'timestamp', b'timestamp']) -> None:
|
|
739
|
+
...
|
|
740
|
+
|
|
741
|
+
def WhichOneof(self, oneof_group: typing.Literal['_reason', b'_reason']) -> typing.Literal['reason'] | None:
|
|
742
|
+
...
|
|
743
|
+
global___PlanStatus = PlanStatus
|
|
744
|
+
|
|
745
|
+
@typing.final
|
|
746
|
+
class Plan(google.protobuf.message.Message):
|
|
747
|
+
"""A plan describes a motion plan"""
|
|
748
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
749
|
+
ID_FIELD_NUMBER: builtins.int
|
|
750
|
+
COMPONENT_NAME_FIELD_NUMBER: builtins.int
|
|
751
|
+
EXECUTION_ID_FIELD_NUMBER: builtins.int
|
|
752
|
+
STEPS_FIELD_NUMBER: builtins.int
|
|
753
|
+
id: builtins.str
|
|
754
|
+
"The plan's unique ID"
|
|
755
|
+
execution_id: builtins.str
|
|
756
|
+
'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning\n '
|
|
757
|
+
|
|
758
|
+
@property
|
|
759
|
+
def component_name(self) -> common.v1.common_pb2.ResourceName:
|
|
760
|
+
"""The component requested to be moved.
|
|
761
|
+
Used for tracking & stopping.
|
|
762
|
+
NOTE: A plan may move more components than just the
|
|
763
|
+
root component.
|
|
764
|
+
"""
|
|
765
|
+
|
|
766
|
+
@property
|
|
767
|
+
def steps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStep]:
|
|
768
|
+
"""The steps of a plan is an ordered list of plan steps"""
|
|
769
|
+
|
|
770
|
+
def __init__(self, *, id: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., execution_id: builtins.str=..., steps: collections.abc.Iterable[global___PlanStep] | None=...) -> None:
|
|
771
|
+
...
|
|
772
|
+
|
|
773
|
+
def HasField(self, field_name: typing.Literal['component_name', b'component_name']) -> builtins.bool:
|
|
774
|
+
...
|
|
775
|
+
|
|
776
|
+
def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'execution_id', b'execution_id', 'id', b'id', 'steps', b'steps']) -> None:
|
|
777
|
+
...
|
|
778
|
+
global___Plan = Plan
|
|
779
|
+
|
|
780
|
+
@typing.final
|
|
781
|
+
class PlanStep(google.protobuf.message.Message):
|
|
782
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
783
|
+
|
|
784
|
+
@typing.final
|
|
785
|
+
class StepEntry(google.protobuf.message.Message):
|
|
786
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
787
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
788
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
789
|
+
key: builtins.str
|
|
790
|
+
|
|
791
|
+
@property
|
|
792
|
+
def value(self) -> global___ComponentState:
|
|
793
|
+
...
|
|
794
|
+
|
|
795
|
+
def __init__(self, *, key: builtins.str=..., value: global___ComponentState | None=...) -> None:
|
|
796
|
+
...
|
|
797
|
+
|
|
798
|
+
def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
|
|
799
|
+
...
|
|
800
|
+
|
|
801
|
+
def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
|
|
802
|
+
...
|
|
803
|
+
STEP_FIELD_NUMBER: builtins.int
|
|
804
|
+
|
|
805
|
+
@property
|
|
806
|
+
def step(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___ComponentState]:
|
|
807
|
+
"""A step is the component state each
|
|
808
|
+
component resource should reach while executing
|
|
809
|
+
that step of the plan.
|
|
810
|
+
Keys are the fully qualified component name.
|
|
811
|
+
"""
|
|
812
|
+
|
|
813
|
+
def __init__(self, *, step: collections.abc.Mapping[builtins.str, global___ComponentState] | None=...) -> None:
|
|
814
|
+
...
|
|
815
|
+
|
|
816
|
+
def ClearField(self, field_name: typing.Literal['step', b'step']) -> None:
|
|
817
|
+
...
|
|
818
|
+
global___PlanStep = PlanStep
|
|
819
|
+
|
|
820
|
+
@typing.final
|
|
821
|
+
class ComponentState(google.protobuf.message.Message):
|
|
822
|
+
"""A pose"""
|
|
823
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
824
|
+
POSE_FIELD_NUMBER: builtins.int
|
|
825
|
+
|
|
826
|
+
@property
|
|
827
|
+
def pose(self) -> common.v1.common_pb2.Pose:
|
|
828
|
+
...
|
|
829
|
+
|
|
830
|
+
def __init__(self, *, pose: common.v1.common_pb2.Pose | None=...) -> None:
|
|
831
|
+
...
|
|
832
|
+
|
|
833
|
+
def HasField(self, field_name: typing.Literal['pose', b'pose']) -> builtins.bool:
|
|
834
|
+
...
|
|
835
|
+
|
|
836
|
+
def ClearField(self, field_name: typing.Literal['pose', b'pose']) -> None:
|
|
837
|
+
...
|
|
838
|
+
global___ComponentState = ComponentState
|