griip-core-dev 0.5.6.dev25546__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.
@@ -0,0 +1,669 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
6
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class GraspMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
11
+ __slots__ = ()
12
+ GRASP_MODE_EXTERNAL: _ClassVar[GraspMode]
13
+ GRASP_MODE_INTERNAL: _ClassVar[GraspMode]
14
+ GRASP_MODE_EXTERNAL: GraspMode
15
+ GRASP_MODE_INTERNAL: GraspMode
16
+
17
+ class McapRecordingConfig(_message.Message):
18
+ __slots__ = ("enabled", "output_dir", "max_duration_s", "filename_prefix")
19
+ ENABLED_FIELD_NUMBER: _ClassVar[int]
20
+ OUTPUT_DIR_FIELD_NUMBER: _ClassVar[int]
21
+ MAX_DURATION_S_FIELD_NUMBER: _ClassVar[int]
22
+ FILENAME_PREFIX_FIELD_NUMBER: _ClassVar[int]
23
+ enabled: bool
24
+ output_dir: str
25
+ max_duration_s: int
26
+ filename_prefix: str
27
+ def __init__(self, enabled: _Optional[bool] = ..., output_dir: _Optional[str] = ..., max_duration_s: _Optional[int] = ..., filename_prefix: _Optional[str] = ...) -> None: ...
28
+
29
+ class CameraCalibrationInput(_message.Message):
30
+ __slots__ = ("camera_intrinsics", "image_width", "image_height", "frame_id")
31
+ CAMERA_INTRINSICS_FIELD_NUMBER: _ClassVar[int]
32
+ IMAGE_WIDTH_FIELD_NUMBER: _ClassVar[int]
33
+ IMAGE_HEIGHT_FIELD_NUMBER: _ClassVar[int]
34
+ FRAME_ID_FIELD_NUMBER: _ClassVar[int]
35
+ camera_intrinsics: _containers.RepeatedScalarFieldContainer[float]
36
+ image_width: int
37
+ image_height: int
38
+ frame_id: str
39
+ def __init__(self, camera_intrinsics: _Optional[_Iterable[float]] = ..., image_width: _Optional[int] = ..., image_height: _Optional[int] = ..., frame_id: _Optional[str] = ...) -> None: ...
40
+
41
+ class InitializeRequest(_message.Message):
42
+ __slots__ = ("mocks", "robot", "perception_services", "planner", "grasp_filtering", "part", "home_joint_angles", "collision_checking_line_segments", "simulated_delay_seconds", "perception_mcap", "camera_calibration")
43
+ MOCKS_FIELD_NUMBER: _ClassVar[int]
44
+ ROBOT_FIELD_NUMBER: _ClassVar[int]
45
+ PERCEPTION_SERVICES_FIELD_NUMBER: _ClassVar[int]
46
+ PLANNER_FIELD_NUMBER: _ClassVar[int]
47
+ GRASP_FILTERING_FIELD_NUMBER: _ClassVar[int]
48
+ PART_FIELD_NUMBER: _ClassVar[int]
49
+ HOME_JOINT_ANGLES_FIELD_NUMBER: _ClassVar[int]
50
+ COLLISION_CHECKING_LINE_SEGMENTS_FIELD_NUMBER: _ClassVar[int]
51
+ SIMULATED_DELAY_SECONDS_FIELD_NUMBER: _ClassVar[int]
52
+ PERCEPTION_MCAP_FIELD_NUMBER: _ClassVar[int]
53
+ CAMERA_CALIBRATION_FIELD_NUMBER: _ClassVar[int]
54
+ mocks: MockConfig
55
+ robot: RobotConfig
56
+ perception_services: PerceptionServicesConfig
57
+ planner: PlannerConfig
58
+ grasp_filtering: GraspFilteringConfig
59
+ part: PartConfig
60
+ home_joint_angles: JointAngles
61
+ collision_checking_line_segments: _containers.RepeatedCompositeFieldContainer[CollisionLineSegment]
62
+ simulated_delay_seconds: float
63
+ perception_mcap: McapRecordingConfig
64
+ camera_calibration: CameraCalibrationInput
65
+ def __init__(self, mocks: _Optional[_Union[MockConfig, _Mapping]] = ..., robot: _Optional[_Union[RobotConfig, _Mapping]] = ..., perception_services: _Optional[_Union[PerceptionServicesConfig, _Mapping]] = ..., planner: _Optional[_Union[PlannerConfig, _Mapping]] = ..., grasp_filtering: _Optional[_Union[GraspFilteringConfig, _Mapping]] = ..., part: _Optional[_Union[PartConfig, _Mapping]] = ..., home_joint_angles: _Optional[_Union[JointAngles, _Mapping]] = ..., collision_checking_line_segments: _Optional[_Iterable[_Union[CollisionLineSegment, _Mapping]]] = ..., simulated_delay_seconds: _Optional[float] = ..., perception_mcap: _Optional[_Union[McapRecordingConfig, _Mapping]] = ..., camera_calibration: _Optional[_Union[CameraCalibrationInput, _Mapping]] = ...) -> None: ...
66
+
67
+ class InitializeResponse(_message.Message):
68
+ __slots__ = ("status", "error_message", "tcp_to_flange_offset")
69
+ class Status(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
70
+ __slots__ = ()
71
+ STATUS_UNSPECIFIED: _ClassVar[InitializeResponse.Status]
72
+ STATUS_OK: _ClassVar[InitializeResponse.Status]
73
+ STATUS_INVALID_CONFIG: _ClassVar[InitializeResponse.Status]
74
+ STATUS_BUILD_FAILED: _ClassVar[InitializeResponse.Status]
75
+ STATUS_UNSPECIFIED: InitializeResponse.Status
76
+ STATUS_OK: InitializeResponse.Status
77
+ STATUS_INVALID_CONFIG: InitializeResponse.Status
78
+ STATUS_BUILD_FAILED: InitializeResponse.Status
79
+ STATUS_FIELD_NUMBER: _ClassVar[int]
80
+ ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
81
+ TCP_TO_FLANGE_OFFSET_FIELD_NUMBER: _ClassVar[int]
82
+ status: InitializeResponse.Status
83
+ error_message: str
84
+ tcp_to_flange_offset: _containers.RepeatedScalarFieldContainer[float]
85
+ def __init__(self, status: _Optional[_Union[InitializeResponse.Status, str]] = ..., error_message: _Optional[str] = ..., tcp_to_flange_offset: _Optional[_Iterable[float]] = ...) -> None: ...
86
+
87
+ class StartPerceptionMcapRecordingRequest(_message.Message):
88
+ __slots__ = ()
89
+ def __init__(self) -> None: ...
90
+
91
+ class StartPerceptionMcapRecordingResponse(_message.Message):
92
+ __slots__ = ("status", "error_message")
93
+ class Status(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
94
+ __slots__ = ()
95
+ STATUS_UNSPECIFIED: _ClassVar[StartPerceptionMcapRecordingResponse.Status]
96
+ STATUS_OK: _ClassVar[StartPerceptionMcapRecordingResponse.Status]
97
+ STATUS_NOT_INITIALIZED: _ClassVar[StartPerceptionMcapRecordingResponse.Status]
98
+ STATUS_NOT_CONFIGURED: _ClassVar[StartPerceptionMcapRecordingResponse.Status]
99
+ STATUS_UNSPECIFIED: StartPerceptionMcapRecordingResponse.Status
100
+ STATUS_OK: StartPerceptionMcapRecordingResponse.Status
101
+ STATUS_NOT_INITIALIZED: StartPerceptionMcapRecordingResponse.Status
102
+ STATUS_NOT_CONFIGURED: StartPerceptionMcapRecordingResponse.Status
103
+ STATUS_FIELD_NUMBER: _ClassVar[int]
104
+ ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
105
+ status: StartPerceptionMcapRecordingResponse.Status
106
+ error_message: str
107
+ def __init__(self, status: _Optional[_Union[StartPerceptionMcapRecordingResponse.Status, str]] = ..., error_message: _Optional[str] = ...) -> None: ...
108
+
109
+ class StopPerceptionMcapRecordingRequest(_message.Message):
110
+ __slots__ = ()
111
+ def __init__(self) -> None: ...
112
+
113
+ class StopPerceptionMcapRecordingResponse(_message.Message):
114
+ __slots__ = ("status", "error_message")
115
+ class Status(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
116
+ __slots__ = ()
117
+ STATUS_UNSPECIFIED: _ClassVar[StopPerceptionMcapRecordingResponse.Status]
118
+ STATUS_OK: _ClassVar[StopPerceptionMcapRecordingResponse.Status]
119
+ STATUS_UNSPECIFIED: StopPerceptionMcapRecordingResponse.Status
120
+ STATUS_OK: StopPerceptionMcapRecordingResponse.Status
121
+ STATUS_FIELD_NUMBER: _ClassVar[int]
122
+ ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
123
+ status: StopPerceptionMcapRecordingResponse.Status
124
+ error_message: str
125
+ def __init__(self, status: _Optional[_Union[StopPerceptionMcapRecordingResponse.Status, str]] = ..., error_message: _Optional[str] = ...) -> None: ...
126
+
127
+ class MockConfig(_message.Message):
128
+ __slots__ = ("vamp", "vrmcs_robot", "collision_model", "sam", "foundation_pose", "foundation_stereo")
129
+ VAMP_FIELD_NUMBER: _ClassVar[int]
130
+ VRMCS_ROBOT_FIELD_NUMBER: _ClassVar[int]
131
+ COLLISION_MODEL_FIELD_NUMBER: _ClassVar[int]
132
+ SAM_FIELD_NUMBER: _ClassVar[int]
133
+ FOUNDATION_POSE_FIELD_NUMBER: _ClassVar[int]
134
+ FOUNDATION_STEREO_FIELD_NUMBER: _ClassVar[int]
135
+ vamp: bool
136
+ vrmcs_robot: bool
137
+ collision_model: bool
138
+ sam: bool
139
+ foundation_pose: bool
140
+ foundation_stereo: bool
141
+ def __init__(self, vamp: _Optional[bool] = ..., vrmcs_robot: _Optional[bool] = ..., collision_model: _Optional[bool] = ..., sam: _Optional[bool] = ..., foundation_pose: _Optional[bool] = ..., foundation_stereo: _Optional[bool] = ...) -> None: ...
142
+
143
+ class RobotConfig(_message.Message):
144
+ __slots__ = ("model", "driver", "vrmcs_url", "robot_ip", "joint_lower_limits", "joint_upper_limits")
145
+ MODEL_FIELD_NUMBER: _ClassVar[int]
146
+ DRIVER_FIELD_NUMBER: _ClassVar[int]
147
+ VRMCS_URL_FIELD_NUMBER: _ClassVar[int]
148
+ ROBOT_IP_FIELD_NUMBER: _ClassVar[int]
149
+ JOINT_LOWER_LIMITS_FIELD_NUMBER: _ClassVar[int]
150
+ JOINT_UPPER_LIMITS_FIELD_NUMBER: _ClassVar[int]
151
+ model: str
152
+ driver: str
153
+ vrmcs_url: str
154
+ robot_ip: str
155
+ joint_lower_limits: _containers.RepeatedScalarFieldContainer[float]
156
+ joint_upper_limits: _containers.RepeatedScalarFieldContainer[float]
157
+ def __init__(self, model: _Optional[str] = ..., driver: _Optional[str] = ..., vrmcs_url: _Optional[str] = ..., robot_ip: _Optional[str] = ..., joint_lower_limits: _Optional[_Iterable[float]] = ..., joint_upper_limits: _Optional[_Iterable[float]] = ...) -> None: ...
158
+
159
+ class PerceptionServicesConfig(_message.Message):
160
+ __slots__ = ("sam_url", "foundation_pose_url", "foundation_stereo_url")
161
+ SAM_URL_FIELD_NUMBER: _ClassVar[int]
162
+ FOUNDATION_POSE_URL_FIELD_NUMBER: _ClassVar[int]
163
+ FOUNDATION_STEREO_URL_FIELD_NUMBER: _ClassVar[int]
164
+ sam_url: str
165
+ foundation_pose_url: str
166
+ foundation_stereo_url: str
167
+ def __init__(self, sam_url: _Optional[str] = ..., foundation_pose_url: _Optional[str] = ..., foundation_stereo_url: _Optional[str] = ...) -> None: ...
168
+
169
+ class PlannerConfig(_message.Message):
170
+ __slots__ = ("planner_name", "max_iterations", "max_samples", "range", "dynamic_domain", "radius", "start_tree_first", "simp_max_iterations", "cuboids_path")
171
+ PLANNER_NAME_FIELD_NUMBER: _ClassVar[int]
172
+ MAX_ITERATIONS_FIELD_NUMBER: _ClassVar[int]
173
+ MAX_SAMPLES_FIELD_NUMBER: _ClassVar[int]
174
+ RANGE_FIELD_NUMBER: _ClassVar[int]
175
+ DYNAMIC_DOMAIN_FIELD_NUMBER: _ClassVar[int]
176
+ RADIUS_FIELD_NUMBER: _ClassVar[int]
177
+ START_TREE_FIRST_FIELD_NUMBER: _ClassVar[int]
178
+ SIMP_MAX_ITERATIONS_FIELD_NUMBER: _ClassVar[int]
179
+ CUBOIDS_PATH_FIELD_NUMBER: _ClassVar[int]
180
+ planner_name: str
181
+ max_iterations: int
182
+ max_samples: int
183
+ range: float
184
+ dynamic_domain: bool
185
+ radius: float
186
+ start_tree_first: bool
187
+ simp_max_iterations: int
188
+ cuboids_path: str
189
+ def __init__(self, planner_name: _Optional[str] = ..., max_iterations: _Optional[int] = ..., max_samples: _Optional[int] = ..., range: _Optional[float] = ..., dynamic_domain: _Optional[bool] = ..., radius: _Optional[float] = ..., start_tree_first: _Optional[bool] = ..., simp_max_iterations: _Optional[int] = ..., cuboids_path: _Optional[str] = ...) -> None: ...
190
+
191
+ class GraspFilteringConfig(_message.Message):
192
+ __slots__ = ("aggressive_angle_threshold_bin_floor_degrees", "aggressive_angle_threshold_gravity_axis_degrees")
193
+ AGGRESSIVE_ANGLE_THRESHOLD_BIN_FLOOR_DEGREES_FIELD_NUMBER: _ClassVar[int]
194
+ AGGRESSIVE_ANGLE_THRESHOLD_GRAVITY_AXIS_DEGREES_FIELD_NUMBER: _ClassVar[int]
195
+ aggressive_angle_threshold_bin_floor_degrees: float
196
+ aggressive_angle_threshold_gravity_axis_degrees: float
197
+ def __init__(self, aggressive_angle_threshold_bin_floor_degrees: _Optional[float] = ..., aggressive_angle_threshold_gravity_axis_degrees: _Optional[float] = ...) -> None: ...
198
+
199
+ class PartConfig(_message.Message):
200
+ __slots__ = ("part_id", "part_model_id", "tcp_offset", "grasp_definitions_json", "held_object_collision_spheres", "mesh_path", "symmetry")
201
+ PART_ID_FIELD_NUMBER: _ClassVar[int]
202
+ PART_MODEL_ID_FIELD_NUMBER: _ClassVar[int]
203
+ TCP_OFFSET_FIELD_NUMBER: _ClassVar[int]
204
+ GRASP_DEFINITIONS_JSON_FIELD_NUMBER: _ClassVar[int]
205
+ HELD_OBJECT_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
206
+ MESH_PATH_FIELD_NUMBER: _ClassVar[int]
207
+ SYMMETRY_FIELD_NUMBER: _ClassVar[int]
208
+ part_id: str
209
+ part_model_id: str
210
+ tcp_offset: _containers.RepeatedScalarFieldContainer[float]
211
+ grasp_definitions_json: str
212
+ held_object_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
213
+ mesh_path: str
214
+ symmetry: SymmetryConfig
215
+ def __init__(self, part_id: _Optional[str] = ..., part_model_id: _Optional[str] = ..., tcp_offset: _Optional[_Iterable[float]] = ..., grasp_definitions_json: _Optional[str] = ..., held_object_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ..., mesh_path: _Optional[str] = ..., symmetry: _Optional[_Union[SymmetryConfig, _Mapping]] = ...) -> None: ...
216
+
217
+ class SymmetryConfig(_message.Message):
218
+ __slots__ = ("axes", "expected_orientation")
219
+ AXES_FIELD_NUMBER: _ClassVar[int]
220
+ EXPECTED_ORIENTATION_FIELD_NUMBER: _ClassVar[int]
221
+ axes: _containers.RepeatedCompositeFieldContainer[Vector3]
222
+ expected_orientation: Quaternion
223
+ def __init__(self, axes: _Optional[_Iterable[_Union[Vector3, _Mapping]]] = ..., expected_orientation: _Optional[_Union[Quaternion, _Mapping]] = ...) -> None: ...
224
+
225
+ class CollisionLineSegment(_message.Message):
226
+ __slots__ = ("points",)
227
+ POINTS_FIELD_NUMBER: _ClassVar[int]
228
+ points: _containers.RepeatedScalarFieldContainer[float]
229
+ def __init__(self, points: _Optional[_Iterable[float]] = ...) -> None: ...
230
+
231
+ class ConfigurePlannerRequest(_message.Message):
232
+ __slots__ = ("cuboids_path", "robot_model", "gripper_collision_spheres_path", "object_mesh_path", "tcp_to_camera_transform", "planner_max_iterations", "planner_max_cost", "gripper_collision_spheres")
233
+ CUBOIDS_PATH_FIELD_NUMBER: _ClassVar[int]
234
+ ROBOT_MODEL_FIELD_NUMBER: _ClassVar[int]
235
+ GRIPPER_COLLISION_SPHERES_PATH_FIELD_NUMBER: _ClassVar[int]
236
+ OBJECT_MESH_PATH_FIELD_NUMBER: _ClassVar[int]
237
+ TCP_TO_CAMERA_TRANSFORM_FIELD_NUMBER: _ClassVar[int]
238
+ PLANNER_MAX_ITERATIONS_FIELD_NUMBER: _ClassVar[int]
239
+ PLANNER_MAX_COST_FIELD_NUMBER: _ClassVar[int]
240
+ GRIPPER_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
241
+ cuboids_path: str
242
+ robot_model: str
243
+ gripper_collision_spheres_path: str
244
+ object_mesh_path: str
245
+ tcp_to_camera_transform: _containers.RepeatedScalarFieldContainer[float]
246
+ planner_max_iterations: int
247
+ planner_max_cost: float
248
+ gripper_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
249
+ def __init__(self, cuboids_path: _Optional[str] = ..., robot_model: _Optional[str] = ..., gripper_collision_spheres_path: _Optional[str] = ..., object_mesh_path: _Optional[str] = ..., tcp_to_camera_transform: _Optional[_Iterable[float]] = ..., planner_max_iterations: _Optional[int] = ..., planner_max_cost: _Optional[float] = ..., gripper_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ...) -> None: ...
250
+
251
+ class ConfigurePlannerResponse(_message.Message):
252
+ __slots__ = ("environment_id", "robot_dof", "num_cuboids_loaded")
253
+ ENVIRONMENT_ID_FIELD_NUMBER: _ClassVar[int]
254
+ ROBOT_DOF_FIELD_NUMBER: _ClassVar[int]
255
+ NUM_CUBOIDS_LOADED_FIELD_NUMBER: _ClassVar[int]
256
+ environment_id: str
257
+ robot_dof: int
258
+ num_cuboids_loaded: int
259
+ def __init__(self, environment_id: _Optional[str] = ..., robot_dof: _Optional[int] = ..., num_cuboids_loaded: _Optional[int] = ...) -> None: ...
260
+
261
+ class PlanPathRequest(_message.Message):
262
+ __slots__ = ("start_joint_angles", "target_joint_angles", "target_pose", "linear", "velocity_scaling", "acceleration_scaling", "held_object_collision_spheres", "world_collision_spheres", "additional_point_clouds", "gripper_opening_width", "gripper_collision_spheres_override", "normalize_to_start", "cuboids", "cuboids_replace_scene")
263
+ START_JOINT_ANGLES_FIELD_NUMBER: _ClassVar[int]
264
+ TARGET_JOINT_ANGLES_FIELD_NUMBER: _ClassVar[int]
265
+ TARGET_POSE_FIELD_NUMBER: _ClassVar[int]
266
+ LINEAR_FIELD_NUMBER: _ClassVar[int]
267
+ VELOCITY_SCALING_FIELD_NUMBER: _ClassVar[int]
268
+ ACCELERATION_SCALING_FIELD_NUMBER: _ClassVar[int]
269
+ HELD_OBJECT_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
270
+ WORLD_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
271
+ ADDITIONAL_POINT_CLOUDS_FIELD_NUMBER: _ClassVar[int]
272
+ GRIPPER_OPENING_WIDTH_FIELD_NUMBER: _ClassVar[int]
273
+ GRIPPER_COLLISION_SPHERES_OVERRIDE_FIELD_NUMBER: _ClassVar[int]
274
+ NORMALIZE_TO_START_FIELD_NUMBER: _ClassVar[int]
275
+ CUBOIDS_FIELD_NUMBER: _ClassVar[int]
276
+ CUBOIDS_REPLACE_SCENE_FIELD_NUMBER: _ClassVar[int]
277
+ start_joint_angles: _containers.RepeatedScalarFieldContainer[float]
278
+ target_joint_angles: JointAngles
279
+ target_pose: Pose
280
+ linear: bool
281
+ velocity_scaling: float
282
+ acceleration_scaling: float
283
+ held_object_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
284
+ world_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
285
+ additional_point_clouds: bytes
286
+ gripper_opening_width: float
287
+ gripper_collision_spheres_override: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
288
+ normalize_to_start: bool
289
+ cuboids: _containers.RepeatedCompositeFieldContainer[Cuboid]
290
+ cuboids_replace_scene: bool
291
+ def __init__(self, start_joint_angles: _Optional[_Iterable[float]] = ..., target_joint_angles: _Optional[_Union[JointAngles, _Mapping]] = ..., target_pose: _Optional[_Union[Pose, _Mapping]] = ..., linear: _Optional[bool] = ..., velocity_scaling: _Optional[float] = ..., acceleration_scaling: _Optional[float] = ..., held_object_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ..., world_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ..., additional_point_clouds: _Optional[bytes] = ..., gripper_opening_width: _Optional[float] = ..., gripper_collision_spheres_override: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ..., normalize_to_start: _Optional[bool] = ..., cuboids: _Optional[_Iterable[_Union[Cuboid, _Mapping]]] = ..., cuboids_replace_scene: _Optional[bool] = ...) -> None: ...
292
+
293
+ class PlanPathResponse(_message.Message):
294
+ __slots__ = ("success", "failure_reason", "trajectory", "planning_time_ms", "path_cost")
295
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
296
+ FAILURE_REASON_FIELD_NUMBER: _ClassVar[int]
297
+ TRAJECTORY_FIELD_NUMBER: _ClassVar[int]
298
+ PLANNING_TIME_MS_FIELD_NUMBER: _ClassVar[int]
299
+ PATH_COST_FIELD_NUMBER: _ClassVar[int]
300
+ success: bool
301
+ failure_reason: str
302
+ trajectory: _containers.RepeatedCompositeFieldContainer[JointAngles]
303
+ planning_time_ms: float
304
+ path_cost: float
305
+ def __init__(self, success: _Optional[bool] = ..., failure_reason: _Optional[str] = ..., trajectory: _Optional[_Iterable[_Union[JointAngles, _Mapping]]] = ..., planning_time_ms: _Optional[float] = ..., path_cost: _Optional[float] = ...) -> None: ...
306
+
307
+ class EstimateDepthRequest(_message.Message):
308
+ __slots__ = ("left_image", "right_image", "camera_intrinsics", "stereo_baseline")
309
+ LEFT_IMAGE_FIELD_NUMBER: _ClassVar[int]
310
+ RIGHT_IMAGE_FIELD_NUMBER: _ClassVar[int]
311
+ CAMERA_INTRINSICS_FIELD_NUMBER: _ClassVar[int]
312
+ STEREO_BASELINE_FIELD_NUMBER: _ClassVar[int]
313
+ left_image: bytes
314
+ right_image: bytes
315
+ camera_intrinsics: _containers.RepeatedScalarFieldContainer[float]
316
+ stereo_baseline: float
317
+ def __init__(self, left_image: _Optional[bytes] = ..., right_image: _Optional[bytes] = ..., camera_intrinsics: _Optional[_Iterable[float]] = ..., stereo_baseline: _Optional[float] = ...) -> None: ...
318
+
319
+ class EstimateDepthResponse(_message.Message):
320
+ __slots__ = ("depth_data",)
321
+ DEPTH_DATA_FIELD_NUMBER: _ClassVar[int]
322
+ depth_data: bytes
323
+ def __init__(self, depth_data: _Optional[bytes] = ...) -> None: ...
324
+
325
+ class DetectObjectsRequest(_message.Message):
326
+ __slots__ = ("image_id", "color_image", "depth_image", "camera_intrinsics", "camera_pose_in_world", "bin_walls", "roi")
327
+ IMAGE_ID_FIELD_NUMBER: _ClassVar[int]
328
+ COLOR_IMAGE_FIELD_NUMBER: _ClassVar[int]
329
+ DEPTH_IMAGE_FIELD_NUMBER: _ClassVar[int]
330
+ CAMERA_INTRINSICS_FIELD_NUMBER: _ClassVar[int]
331
+ CAMERA_POSE_IN_WORLD_FIELD_NUMBER: _ClassVar[int]
332
+ BIN_WALLS_FIELD_NUMBER: _ClassVar[int]
333
+ ROI_FIELD_NUMBER: _ClassVar[int]
334
+ image_id: str
335
+ color_image: bytes
336
+ depth_image: bytes
337
+ camera_intrinsics: _containers.RepeatedScalarFieldContainer[float]
338
+ camera_pose_in_world: _containers.RepeatedScalarFieldContainer[float]
339
+ bin_walls: _containers.RepeatedCompositeFieldContainer[BinWall]
340
+ roi: _containers.RepeatedScalarFieldContainer[int]
341
+ def __init__(self, image_id: _Optional[str] = ..., color_image: _Optional[bytes] = ..., depth_image: _Optional[bytes] = ..., camera_intrinsics: _Optional[_Iterable[float]] = ..., camera_pose_in_world: _Optional[_Iterable[float]] = ..., bin_walls: _Optional[_Iterable[_Union[BinWall, _Mapping]]] = ..., roi: _Optional[_Iterable[int]] = ...) -> None: ...
342
+
343
+ class DetectObjectsResponse(_message.Message):
344
+ __slots__ = ("detections",)
345
+ DETECTIONS_FIELD_NUMBER: _ClassVar[int]
346
+ detections: _containers.RepeatedCompositeFieldContainer[DetectedObject]
347
+ def __init__(self, detections: _Optional[_Iterable[_Union[DetectedObject, _Mapping]]] = ...) -> None: ...
348
+
349
+ class DetectedObject(_message.Message):
350
+ __slots__ = ("index", "mask_data", "mask_height", "mask_width", "bbox", "score")
351
+ INDEX_FIELD_NUMBER: _ClassVar[int]
352
+ MASK_DATA_FIELD_NUMBER: _ClassVar[int]
353
+ MASK_HEIGHT_FIELD_NUMBER: _ClassVar[int]
354
+ MASK_WIDTH_FIELD_NUMBER: _ClassVar[int]
355
+ BBOX_FIELD_NUMBER: _ClassVar[int]
356
+ SCORE_FIELD_NUMBER: _ClassVar[int]
357
+ index: int
358
+ mask_data: bytes
359
+ mask_height: int
360
+ mask_width: int
361
+ bbox: _containers.RepeatedScalarFieldContainer[int]
362
+ score: float
363
+ def __init__(self, index: _Optional[int] = ..., mask_data: _Optional[bytes] = ..., mask_height: _Optional[int] = ..., mask_width: _Optional[int] = ..., bbox: _Optional[_Iterable[int]] = ..., score: _Optional[float] = ...) -> None: ...
364
+
365
+ class EstimatePoseRequest(_message.Message):
366
+ __slots__ = ("image_id", "color_image", "depth_image", "object_mask", "mask_height", "mask_width", "camera_intrinsics")
367
+ IMAGE_ID_FIELD_NUMBER: _ClassVar[int]
368
+ COLOR_IMAGE_FIELD_NUMBER: _ClassVar[int]
369
+ DEPTH_IMAGE_FIELD_NUMBER: _ClassVar[int]
370
+ OBJECT_MASK_FIELD_NUMBER: _ClassVar[int]
371
+ MASK_HEIGHT_FIELD_NUMBER: _ClassVar[int]
372
+ MASK_WIDTH_FIELD_NUMBER: _ClassVar[int]
373
+ CAMERA_INTRINSICS_FIELD_NUMBER: _ClassVar[int]
374
+ image_id: str
375
+ color_image: bytes
376
+ depth_image: bytes
377
+ object_mask: bytes
378
+ mask_height: int
379
+ mask_width: int
380
+ camera_intrinsics: _containers.RepeatedScalarFieldContainer[float]
381
+ def __init__(self, image_id: _Optional[str] = ..., color_image: _Optional[bytes] = ..., depth_image: _Optional[bytes] = ..., object_mask: _Optional[bytes] = ..., mask_height: _Optional[int] = ..., mask_width: _Optional[int] = ..., camera_intrinsics: _Optional[_Iterable[float]] = ...) -> None: ...
382
+
383
+ class EstimatePoseResponse(_message.Message):
384
+ __slots__ = ("success", "pose")
385
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
386
+ POSE_FIELD_NUMBER: _ClassVar[int]
387
+ success: bool
388
+ pose: Pose
389
+ def __init__(self, success: _Optional[bool] = ..., pose: _Optional[_Union[Pose, _Mapping]] = ...) -> None: ...
390
+
391
+ class ReportSelectedPickRequest(_message.Message):
392
+ __slots__ = ("image_id", "object_pose_in_world", "prep_pose", "capture_timestamp_ns")
393
+ IMAGE_ID_FIELD_NUMBER: _ClassVar[int]
394
+ OBJECT_POSE_IN_WORLD_FIELD_NUMBER: _ClassVar[int]
395
+ PREP_POSE_FIELD_NUMBER: _ClassVar[int]
396
+ CAPTURE_TIMESTAMP_NS_FIELD_NUMBER: _ClassVar[int]
397
+ image_id: str
398
+ object_pose_in_world: _containers.RepeatedScalarFieldContainer[float]
399
+ prep_pose: _containers.RepeatedScalarFieldContainer[float]
400
+ capture_timestamp_ns: int
401
+ def __init__(self, image_id: _Optional[str] = ..., object_pose_in_world: _Optional[_Iterable[float]] = ..., prep_pose: _Optional[_Iterable[float]] = ..., capture_timestamp_ns: _Optional[int] = ...) -> None: ...
402
+
403
+ class ReportSelectedPickResponse(_message.Message):
404
+ __slots__ = ("ok",)
405
+ OK_FIELD_NUMBER: _ClassVar[int]
406
+ ok: bool
407
+ def __init__(self, ok: _Optional[bool] = ...) -> None: ...
408
+
409
+ class GeneratePicksRequest(_message.Message):
410
+ __slots__ = ("image_id", "color_image", "depth_image", "camera_intrinsics", "camera_pose_in_world", "tcp_pose_at_capture", "capture_joint_angles", "bin_walls", "max_detections", "max_picks_per_object", "bin_floor", "roi", "capture_timestamp_ns", "prep_gripper_collision_spheres", "plunge_gripper_collision_spheres", "scoop_gripper_collision_spheres")
411
+ IMAGE_ID_FIELD_NUMBER: _ClassVar[int]
412
+ COLOR_IMAGE_FIELD_NUMBER: _ClassVar[int]
413
+ DEPTH_IMAGE_FIELD_NUMBER: _ClassVar[int]
414
+ CAMERA_INTRINSICS_FIELD_NUMBER: _ClassVar[int]
415
+ CAMERA_POSE_IN_WORLD_FIELD_NUMBER: _ClassVar[int]
416
+ TCP_POSE_AT_CAPTURE_FIELD_NUMBER: _ClassVar[int]
417
+ CAPTURE_JOINT_ANGLES_FIELD_NUMBER: _ClassVar[int]
418
+ BIN_WALLS_FIELD_NUMBER: _ClassVar[int]
419
+ MAX_DETECTIONS_FIELD_NUMBER: _ClassVar[int]
420
+ MAX_PICKS_PER_OBJECT_FIELD_NUMBER: _ClassVar[int]
421
+ BIN_FLOOR_FIELD_NUMBER: _ClassVar[int]
422
+ ROI_FIELD_NUMBER: _ClassVar[int]
423
+ CAPTURE_TIMESTAMP_NS_FIELD_NUMBER: _ClassVar[int]
424
+ PREP_GRIPPER_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
425
+ PLUNGE_GRIPPER_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
426
+ SCOOP_GRIPPER_COLLISION_SPHERES_FIELD_NUMBER: _ClassVar[int]
427
+ image_id: str
428
+ color_image: bytes
429
+ depth_image: bytes
430
+ camera_intrinsics: _containers.RepeatedScalarFieldContainer[float]
431
+ camera_pose_in_world: _containers.RepeatedScalarFieldContainer[float]
432
+ tcp_pose_at_capture: _containers.RepeatedScalarFieldContainer[float]
433
+ capture_joint_angles: JointAngles
434
+ bin_walls: _containers.RepeatedCompositeFieldContainer[BinWall]
435
+ max_detections: int
436
+ max_picks_per_object: int
437
+ bin_floor: BinWall
438
+ roi: _containers.RepeatedScalarFieldContainer[int]
439
+ capture_timestamp_ns: int
440
+ prep_gripper_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
441
+ plunge_gripper_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
442
+ scoop_gripper_collision_spheres: _containers.RepeatedCompositeFieldContainer[CollisionSpheres]
443
+ def __init__(self, image_id: _Optional[str] = ..., color_image: _Optional[bytes] = ..., depth_image: _Optional[bytes] = ..., camera_intrinsics: _Optional[_Iterable[float]] = ..., camera_pose_in_world: _Optional[_Iterable[float]] = ..., tcp_pose_at_capture: _Optional[_Iterable[float]] = ..., capture_joint_angles: _Optional[_Union[JointAngles, _Mapping]] = ..., bin_walls: _Optional[_Iterable[_Union[BinWall, _Mapping]]] = ..., max_detections: _Optional[int] = ..., max_picks_per_object: _Optional[int] = ..., bin_floor: _Optional[_Union[BinWall, _Mapping]] = ..., roi: _Optional[_Iterable[int]] = ..., capture_timestamp_ns: _Optional[int] = ..., prep_gripper_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ..., plunge_gripper_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ..., scoop_gripper_collision_spheres: _Optional[_Iterable[_Union[CollisionSpheres, _Mapping]]] = ...) -> None: ...
444
+
445
+ class GeneratePicksResponse(_message.Message):
446
+ __slots__ = ("pick_result", "terminal_message")
447
+ PICK_RESULT_FIELD_NUMBER: _ClassVar[int]
448
+ TERMINAL_MESSAGE_FIELD_NUMBER: _ClassVar[int]
449
+ pick_result: PickResultMessage
450
+ terminal_message: PickTerminalMessage
451
+ def __init__(self, pick_result: _Optional[_Union[PickResultMessage, _Mapping]] = ..., terminal_message: _Optional[_Union[PickTerminalMessage, _Mapping]] = ...) -> None: ...
452
+
453
+ class PickResultMessage(_message.Message):
454
+ __slots__ = ("pick_id", "grasp_name", "object_pose_in_world", "object_in_tcp", "prep_pose", "plunge_pose", "scoop_pose", "prep_trajectory", "priority", "distance_to_home", "retract_move_distance", "grasp_point_pose", "detected_object_index", "parallel_jaw", "suction", "three_finger")
455
+ PICK_ID_FIELD_NUMBER: _ClassVar[int]
456
+ GRASP_NAME_FIELD_NUMBER: _ClassVar[int]
457
+ OBJECT_POSE_IN_WORLD_FIELD_NUMBER: _ClassVar[int]
458
+ OBJECT_IN_TCP_FIELD_NUMBER: _ClassVar[int]
459
+ PREP_POSE_FIELD_NUMBER: _ClassVar[int]
460
+ PLUNGE_POSE_FIELD_NUMBER: _ClassVar[int]
461
+ SCOOP_POSE_FIELD_NUMBER: _ClassVar[int]
462
+ PREP_TRAJECTORY_FIELD_NUMBER: _ClassVar[int]
463
+ PRIORITY_FIELD_NUMBER: _ClassVar[int]
464
+ DISTANCE_TO_HOME_FIELD_NUMBER: _ClassVar[int]
465
+ RETRACT_MOVE_DISTANCE_FIELD_NUMBER: _ClassVar[int]
466
+ GRASP_POINT_POSE_FIELD_NUMBER: _ClassVar[int]
467
+ DETECTED_OBJECT_INDEX_FIELD_NUMBER: _ClassVar[int]
468
+ PARALLEL_JAW_FIELD_NUMBER: _ClassVar[int]
469
+ SUCTION_FIELD_NUMBER: _ClassVar[int]
470
+ THREE_FINGER_FIELD_NUMBER: _ClassVar[int]
471
+ pick_id: int
472
+ grasp_name: str
473
+ object_pose_in_world: _containers.RepeatedScalarFieldContainer[float]
474
+ object_in_tcp: _containers.RepeatedScalarFieldContainer[float]
475
+ prep_pose: _containers.RepeatedScalarFieldContainer[float]
476
+ plunge_pose: _containers.RepeatedScalarFieldContainer[float]
477
+ scoop_pose: _containers.RepeatedScalarFieldContainer[float]
478
+ prep_trajectory: _containers.RepeatedCompositeFieldContainer[JointAngles]
479
+ priority: int
480
+ distance_to_home: float
481
+ retract_move_distance: float
482
+ grasp_point_pose: _containers.RepeatedScalarFieldContainer[float]
483
+ detected_object_index: int
484
+ parallel_jaw: ParallelJawParams
485
+ suction: SuctionParams
486
+ three_finger: ThreeFingerParams
487
+ def __init__(self, pick_id: _Optional[int] = ..., grasp_name: _Optional[str] = ..., object_pose_in_world: _Optional[_Iterable[float]] = ..., object_in_tcp: _Optional[_Iterable[float]] = ..., prep_pose: _Optional[_Iterable[float]] = ..., plunge_pose: _Optional[_Iterable[float]] = ..., scoop_pose: _Optional[_Iterable[float]] = ..., prep_trajectory: _Optional[_Iterable[_Union[JointAngles, _Mapping]]] = ..., priority: _Optional[int] = ..., distance_to_home: _Optional[float] = ..., retract_move_distance: _Optional[float] = ..., grasp_point_pose: _Optional[_Iterable[float]] = ..., detected_object_index: _Optional[int] = ..., parallel_jaw: _Optional[_Union[ParallelJawParams, _Mapping]] = ..., suction: _Optional[_Union[SuctionParams, _Mapping]] = ..., three_finger: _Optional[_Union[ThreeFingerParams, _Mapping]] = ...) -> None: ...
488
+
489
+ class ScoopMotionParams(_message.Message):
490
+ __slots__ = ("plunge_velocity", "scoop_velocity", "force_torque_sensor_threshold")
491
+ PLUNGE_VELOCITY_FIELD_NUMBER: _ClassVar[int]
492
+ SCOOP_VELOCITY_FIELD_NUMBER: _ClassVar[int]
493
+ FORCE_TORQUE_SENSOR_THRESHOLD_FIELD_NUMBER: _ClassVar[int]
494
+ plunge_velocity: float
495
+ scoop_velocity: float
496
+ force_torque_sensor_threshold: float
497
+ def __init__(self, plunge_velocity: _Optional[float] = ..., scoop_velocity: _Optional[float] = ..., force_torque_sensor_threshold: _Optional[float] = ...) -> None: ...
498
+
499
+ class ParallelJawParams(_message.Message):
500
+ __slots__ = ("mode", "prep_width", "engaged_width", "grip_force", "grip_check_min_width", "grip_check_max_width", "scoop_motion")
501
+ MODE_FIELD_NUMBER: _ClassVar[int]
502
+ PREP_WIDTH_FIELD_NUMBER: _ClassVar[int]
503
+ ENGAGED_WIDTH_FIELD_NUMBER: _ClassVar[int]
504
+ GRIP_FORCE_FIELD_NUMBER: _ClassVar[int]
505
+ GRIP_CHECK_MIN_WIDTH_FIELD_NUMBER: _ClassVar[int]
506
+ GRIP_CHECK_MAX_WIDTH_FIELD_NUMBER: _ClassVar[int]
507
+ SCOOP_MOTION_FIELD_NUMBER: _ClassVar[int]
508
+ mode: GraspMode
509
+ prep_width: int
510
+ engaged_width: int
511
+ grip_force: int
512
+ grip_check_min_width: int
513
+ grip_check_max_width: int
514
+ scoop_motion: ScoopMotionParams
515
+ def __init__(self, mode: _Optional[_Union[GraspMode, str]] = ..., prep_width: _Optional[int] = ..., engaged_width: _Optional[int] = ..., grip_force: _Optional[int] = ..., grip_check_min_width: _Optional[int] = ..., grip_check_max_width: _Optional[int] = ..., scoop_motion: _Optional[_Union[ScoopMotionParams, _Mapping]] = ...) -> None: ...
516
+
517
+ class SuctionParams(_message.Message):
518
+ __slots__ = ("vacuum_engage_threshold", "scoop_motion")
519
+ VACUUM_ENGAGE_THRESHOLD_FIELD_NUMBER: _ClassVar[int]
520
+ SCOOP_MOTION_FIELD_NUMBER: _ClassVar[int]
521
+ vacuum_engage_threshold: float
522
+ scoop_motion: ScoopMotionParams
523
+ def __init__(self, vacuum_engage_threshold: _Optional[float] = ..., scoop_motion: _Optional[_Union[ScoopMotionParams, _Mapping]] = ...) -> None: ...
524
+
525
+ class ThreeFingerParams(_message.Message):
526
+ __slots__ = ("mode", "grip_force", "scoop_motion", "prep_io_state", "engaged_io_state")
527
+ MODE_FIELD_NUMBER: _ClassVar[int]
528
+ GRIP_FORCE_FIELD_NUMBER: _ClassVar[int]
529
+ SCOOP_MOTION_FIELD_NUMBER: _ClassVar[int]
530
+ PREP_IO_STATE_FIELD_NUMBER: _ClassVar[int]
531
+ ENGAGED_IO_STATE_FIELD_NUMBER: _ClassVar[int]
532
+ mode: GraspMode
533
+ grip_force: int
534
+ scoop_motion: ScoopMotionParams
535
+ prep_io_state: int
536
+ engaged_io_state: int
537
+ def __init__(self, mode: _Optional[_Union[GraspMode, str]] = ..., grip_force: _Optional[int] = ..., scoop_motion: _Optional[_Union[ScoopMotionParams, _Mapping]] = ..., prep_io_state: _Optional[int] = ..., engaged_io_state: _Optional[int] = ...) -> None: ...
538
+
539
+ class PickTerminalMessage(_message.Message):
540
+ __slots__ = ("no_parts_detected", "total_picks_generated", "has_only_ungraspable_objects")
541
+ NO_PARTS_DETECTED_FIELD_NUMBER: _ClassVar[int]
542
+ TOTAL_PICKS_GENERATED_FIELD_NUMBER: _ClassVar[int]
543
+ HAS_ONLY_UNGRASPABLE_OBJECTS_FIELD_NUMBER: _ClassVar[int]
544
+ no_parts_detected: bool
545
+ total_picks_generated: int
546
+ has_only_ungraspable_objects: bool
547
+ def __init__(self, no_parts_detected: _Optional[bool] = ..., total_picks_generated: _Optional[int] = ..., has_only_ungraspable_objects: _Optional[bool] = ...) -> None: ...
548
+
549
+ class GeneratePlacementRequest(_message.Message):
550
+ __slots__ = ("image_id", "left_png", "depth_png", "camera_intrinsics", "tcp_to_camera", "object_in_tcp", "target_pose", "planning_start_joint_angles", "max_object_diameter", "axis_in_object_frame", "number_of_rotations", "enable_in_hand_pose_estimation")
551
+ IMAGE_ID_FIELD_NUMBER: _ClassVar[int]
552
+ LEFT_PNG_FIELD_NUMBER: _ClassVar[int]
553
+ DEPTH_PNG_FIELD_NUMBER: _ClassVar[int]
554
+ CAMERA_INTRINSICS_FIELD_NUMBER: _ClassVar[int]
555
+ TCP_TO_CAMERA_FIELD_NUMBER: _ClassVar[int]
556
+ OBJECT_IN_TCP_FIELD_NUMBER: _ClassVar[int]
557
+ TARGET_POSE_FIELD_NUMBER: _ClassVar[int]
558
+ PLANNING_START_JOINT_ANGLES_FIELD_NUMBER: _ClassVar[int]
559
+ MAX_OBJECT_DIAMETER_FIELD_NUMBER: _ClassVar[int]
560
+ AXIS_IN_OBJECT_FRAME_FIELD_NUMBER: _ClassVar[int]
561
+ NUMBER_OF_ROTATIONS_FIELD_NUMBER: _ClassVar[int]
562
+ ENABLE_IN_HAND_POSE_ESTIMATION_FIELD_NUMBER: _ClassVar[int]
563
+ image_id: str
564
+ left_png: bytes
565
+ depth_png: bytes
566
+ camera_intrinsics: _containers.RepeatedScalarFieldContainer[float]
567
+ tcp_to_camera: _containers.RepeatedScalarFieldContainer[float]
568
+ object_in_tcp: _containers.RepeatedScalarFieldContainer[float]
569
+ target_pose: _containers.RepeatedScalarFieldContainer[float]
570
+ planning_start_joint_angles: _containers.RepeatedScalarFieldContainer[float]
571
+ max_object_diameter: float
572
+ axis_in_object_frame: _containers.RepeatedScalarFieldContainer[float]
573
+ number_of_rotations: int
574
+ enable_in_hand_pose_estimation: bool
575
+ def __init__(self, image_id: _Optional[str] = ..., left_png: _Optional[bytes] = ..., depth_png: _Optional[bytes] = ..., camera_intrinsics: _Optional[_Iterable[float]] = ..., tcp_to_camera: _Optional[_Iterable[float]] = ..., object_in_tcp: _Optional[_Iterable[float]] = ..., target_pose: _Optional[_Iterable[float]] = ..., planning_start_joint_angles: _Optional[_Iterable[float]] = ..., max_object_diameter: _Optional[float] = ..., axis_in_object_frame: _Optional[_Iterable[float]] = ..., number_of_rotations: _Optional[int] = ..., enable_in_hand_pose_estimation: _Optional[bool] = ...) -> None: ...
576
+
577
+ class GeneratePlacementResponse(_message.Message):
578
+ __slots__ = ("success", "failure_reason", "refined_object_in_tcp", "ik_solutions")
579
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
580
+ FAILURE_REASON_FIELD_NUMBER: _ClassVar[int]
581
+ REFINED_OBJECT_IN_TCP_FIELD_NUMBER: _ClassVar[int]
582
+ IK_SOLUTIONS_FIELD_NUMBER: _ClassVar[int]
583
+ success: bool
584
+ failure_reason: str
585
+ refined_object_in_tcp: _containers.RepeatedScalarFieldContainer[float]
586
+ ik_solutions: _containers.RepeatedCompositeFieldContainer[PlacementIkSolution]
587
+ def __init__(self, success: _Optional[bool] = ..., failure_reason: _Optional[str] = ..., refined_object_in_tcp: _Optional[_Iterable[float]] = ..., ik_solutions: _Optional[_Iterable[_Union[PlacementIkSolution, _Mapping]]] = ...) -> None: ...
588
+
589
+ class PlacementIkSolution(_message.Message):
590
+ __slots__ = ("joint_angles", "target_object_pose_in_world", "distance_to_start")
591
+ JOINT_ANGLES_FIELD_NUMBER: _ClassVar[int]
592
+ TARGET_OBJECT_POSE_IN_WORLD_FIELD_NUMBER: _ClassVar[int]
593
+ DISTANCE_TO_START_FIELD_NUMBER: _ClassVar[int]
594
+ joint_angles: _containers.RepeatedScalarFieldContainer[float]
595
+ target_object_pose_in_world: _containers.RepeatedScalarFieldContainer[float]
596
+ distance_to_start: float
597
+ def __init__(self, joint_angles: _Optional[_Iterable[float]] = ..., target_object_pose_in_world: _Optional[_Iterable[float]] = ..., distance_to_start: _Optional[float] = ...) -> None: ...
598
+
599
+ class JointAngles(_message.Message):
600
+ __slots__ = ("values",)
601
+ VALUES_FIELD_NUMBER: _ClassVar[int]
602
+ values: _containers.RepeatedScalarFieldContainer[float]
603
+ def __init__(self, values: _Optional[_Iterable[float]] = ...) -> None: ...
604
+
605
+ class Quaternion(_message.Message):
606
+ __slots__ = ("w", "x", "y", "z")
607
+ W_FIELD_NUMBER: _ClassVar[int]
608
+ X_FIELD_NUMBER: _ClassVar[int]
609
+ Y_FIELD_NUMBER: _ClassVar[int]
610
+ Z_FIELD_NUMBER: _ClassVar[int]
611
+ w: float
612
+ x: float
613
+ y: float
614
+ z: float
615
+ def __init__(self, w: _Optional[float] = ..., x: _Optional[float] = ..., y: _Optional[float] = ..., z: _Optional[float] = ...) -> None: ...
616
+
617
+ class Vector3(_message.Message):
618
+ __slots__ = ("x", "y", "z")
619
+ X_FIELD_NUMBER: _ClassVar[int]
620
+ Y_FIELD_NUMBER: _ClassVar[int]
621
+ Z_FIELD_NUMBER: _ClassVar[int]
622
+ x: float
623
+ y: float
624
+ z: float
625
+ def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ..., z: _Optional[float] = ...) -> None: ...
626
+
627
+ class Pose(_message.Message):
628
+ __slots__ = ("position", "orientation")
629
+ POSITION_FIELD_NUMBER: _ClassVar[int]
630
+ ORIENTATION_FIELD_NUMBER: _ClassVar[int]
631
+ position: Vector3
632
+ orientation: Quaternion
633
+ def __init__(self, position: _Optional[_Union[Vector3, _Mapping]] = ..., orientation: _Optional[_Union[Quaternion, _Mapping]] = ...) -> None: ...
634
+
635
+ class CollisionSpheres(_message.Message):
636
+ __slots__ = ("center", "radius")
637
+ CENTER_FIELD_NUMBER: _ClassVar[int]
638
+ RADIUS_FIELD_NUMBER: _ClassVar[int]
639
+ center: Vector3
640
+ radius: float
641
+ def __init__(self, center: _Optional[_Union[Vector3, _Mapping]] = ..., radius: _Optional[float] = ...) -> None: ...
642
+
643
+ class BinWall(_message.Message):
644
+ __slots__ = ("name", "width_x", "width_y", "width_z", "pose")
645
+ NAME_FIELD_NUMBER: _ClassVar[int]
646
+ WIDTH_X_FIELD_NUMBER: _ClassVar[int]
647
+ WIDTH_Y_FIELD_NUMBER: _ClassVar[int]
648
+ WIDTH_Z_FIELD_NUMBER: _ClassVar[int]
649
+ POSE_FIELD_NUMBER: _ClassVar[int]
650
+ name: str
651
+ width_x: float
652
+ width_y: float
653
+ width_z: float
654
+ pose: _containers.RepeatedScalarFieldContainer[float]
655
+ def __init__(self, name: _Optional[str] = ..., width_x: _Optional[float] = ..., width_y: _Optional[float] = ..., width_z: _Optional[float] = ..., pose: _Optional[_Iterable[float]] = ...) -> None: ...
656
+
657
+ class Cuboid(_message.Message):
658
+ __slots__ = ("name", "wx", "wy", "wz", "pose")
659
+ NAME_FIELD_NUMBER: _ClassVar[int]
660
+ WX_FIELD_NUMBER: _ClassVar[int]
661
+ WY_FIELD_NUMBER: _ClassVar[int]
662
+ WZ_FIELD_NUMBER: _ClassVar[int]
663
+ POSE_FIELD_NUMBER: _ClassVar[int]
664
+ name: str
665
+ wx: float
666
+ wy: float
667
+ wz: float
668
+ pose: _containers.RepeatedScalarFieldContainer[float]
669
+ def __init__(self, name: _Optional[str] = ..., wx: _Optional[float] = ..., wy: _Optional[float] = ..., wz: _Optional[float] = ..., pose: _Optional[_Iterable[float]] = ...) -> None: ...