griip-sdk-dev 0.4.0.dev24238__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.
Files changed (195) hide show
  1. griip_sdk/__init__.py +77 -0
  2. griip_sdk/calibration/__init__.py +0 -0
  3. griip_sdk/calibration/app.py +638 -0
  4. griip_sdk/calibration/apriltag_pose.py +101 -0
  5. griip_sdk/calibration/camera_factory.py +105 -0
  6. griip_sdk/calibration/cartesian_pose.py +220 -0
  7. griip_sdk/calibration/config_store.py +131 -0
  8. griip_sdk/calibration/hand_eye_calib/README.md +109 -0
  9. griip_sdk/calibration/hand_eye_calib/__init__.py +40 -0
  10. griip_sdk/calibration/hand_eye_calib/config/routine.yaml +7 -0
  11. griip_sdk/calibration/hand_eye_calib/core.py +692 -0
  12. griip_sdk/calibration/hand_eye_calib/main.py +596 -0
  13. griip_sdk/calibration/hand_eye_calib/planning.py +122 -0
  14. griip_sdk/calibration/hand_eye_calib/routines.py +223 -0
  15. griip_sdk/calibration/hand_eye_calib/run_hand_eye_calibration.py +131 -0
  16. griip_sdk/calibration/hand_eye_calib/transforms.py +57 -0
  17. griip_sdk/calibration/mqtt_publisher.py +98 -0
  18. griip_sdk/calibration/mqtt_topics.py +15 -0
  19. griip_sdk/calibration/routines.py +36 -0
  20. griip_sdk/calibration/scanning/__init__.py +11 -0
  21. griip_sdk/calibration/scanning/environment_scanning.py +381 -0
  22. griip_sdk/calibration/scanning/run_environment_scanning.py +142 -0
  23. griip_sdk/calibration/tests/__init__.py +0 -0
  24. griip_sdk/calibration/tests/conftest.py +33 -0
  25. griip_sdk/calibration/tests/test_calibration_app.py +822 -0
  26. griip_sdk/calibration/tests/test_camera_factory.py +126 -0
  27. griip_sdk/calibration/tests/test_environment_scanning.py +547 -0
  28. griip_sdk/calibration/tests/test_hand_eye_calibration_service.py +524 -0
  29. griip_sdk/calibration/tests/test_hand_eye_helpers.py +211 -0
  30. griip_sdk/calibration/tests/test_transforms.py +126 -0
  31. griip_sdk/calibration/types.py +21 -0
  32. griip_sdk/calibration/units.py +104 -0
  33. griip_sdk/cell/__init__.py +22 -0
  34. griip_sdk/cell/builders.py +631 -0
  35. griip_sdk/cell/config.py +505 -0
  36. griip_sdk/cell/end_effector_collision_model.py +160 -0
  37. griip_sdk/cell/initialize.py +282 -0
  38. griip_sdk/cell/loader.py +102 -0
  39. griip_sdk/cell/mock_builders.py +114 -0
  40. griip_sdk/cell/parts.py +63 -0
  41. griip_sdk/cell/recipes.py +872 -0
  42. griip_sdk/cell/tests/__init__.py +0 -0
  43. griip_sdk/cell/tests/conftest.py +7 -0
  44. griip_sdk/cell/tests/test_builders.py +13 -0
  45. griip_sdk/cell/tests/test_end_effector_collision_model.py +118 -0
  46. griip_sdk/cell/tests/test_initialize.py +458 -0
  47. griip_sdk/cell/tests/test_loader.py +70 -0
  48. griip_sdk/cell/tests/test_mock_cell_smoke.py +54 -0
  49. griip_sdk/cell/tests/test_parts.py +55 -0
  50. griip_sdk/cell/tests/test_recipes.py +156 -0
  51. griip_sdk/cell/tests/test_recording_config.py +113 -0
  52. griip_sdk/errors.py +16 -0
  53. griip_sdk/grpc_adapters/__init__.py +0 -0
  54. griip_sdk/grpc_adapters/servicer_as_stub.py +166 -0
  55. griip_sdk/hardware/__init__.py +0 -0
  56. griip_sdk/hardware/bin_shaker.py +86 -0
  57. griip_sdk/hardware/camera.py +300 -0
  58. griip_sdk/hardware/fanuc_robot_client.py +266 -0
  59. griip_sdk/hardware/ft_sensor.py +352 -0
  60. griip_sdk/hardware/gripper.py +339 -0
  61. griip_sdk/hardware/grpc_vision_backend.py +123 -0
  62. griip_sdk/hardware/io_client.py +194 -0
  63. griip_sdk/hardware/mmai_vision_backend.py +265 -0
  64. griip_sdk/hardware/mocks/__init__.py +0 -0
  65. griip_sdk/hardware/mocks/camera_mock.py +62 -0
  66. griip_sdk/hardware/mocks/gripper_client_mock.py +135 -0
  67. griip_sdk/hardware/mocks/io_client_mock.py +28 -0
  68. griip_sdk/hardware/mocks/robot_client_mock.py +584 -0
  69. griip_sdk/hardware/onrobot_3fg15_gripper.py +103 -0
  70. griip_sdk/hardware/robot_client.py +1692 -0
  71. griip_sdk/hardware/robotiq_2f140_gripper.py +327 -0
  72. griip_sdk/hardware/sim_gripper.py +365 -0
  73. griip_sdk/hardware/sim_hand_eye.py +138 -0
  74. griip_sdk/hardware/sim_robot_client.py +189 -0
  75. griip_sdk/hardware/suction_gripper.py +112 -0
  76. griip_sdk/hardware/tests/__init__.py +0 -0
  77. griip_sdk/hardware/tests/conftest.py +8 -0
  78. griip_sdk/hardware/tests/test_call_with_timeout.py +56 -0
  79. griip_sdk/hardware/tests/test_command_state_fanout.py +131 -0
  80. griip_sdk/hardware/tests/test_gripper_command_listeners.py +90 -0
  81. griip_sdk/hardware/tests/test_grpc_vision_backend.py +220 -0
  82. griip_sdk/hardware/tests/test_mmai_vision_backend.py +312 -0
  83. griip_sdk/hardware/tests/test_reset_to_normal.py +101 -0
  84. griip_sdk/hardware/tests/test_robot_client_base.py +48 -0
  85. griip_sdk/hardware/tests/test_robot_client_lifecycle.py +323 -0
  86. griip_sdk/hardware/tests/test_robot_feedback_fanout.py +154 -0
  87. griip_sdk/hardware/tests/test_robotiq_2f140_gripper.py +86 -0
  88. griip_sdk/hardware/tests/test_robotiq_gripper_bus_lock.py +78 -0
  89. griip_sdk/hardware/tests/test_sim_gripper.py +230 -0
  90. griip_sdk/hardware/tests/test_sim_hand_eye.py +226 -0
  91. griip_sdk/hardware/tests/test_sim_robot_client.py +196 -0
  92. griip_sdk/hardware/tests/test_suction_gripper.py +82 -0
  93. griip_sdk/hardware/tests/test_tower_light.py +179 -0
  94. griip_sdk/hardware/tests/test_vision_codec.py +73 -0
  95. griip_sdk/hardware/tests/test_vrmcs_tcp_guard.py +81 -0
  96. griip_sdk/hardware/torquing_client.py +23 -0
  97. griip_sdk/hardware/tower_light.py +84 -0
  98. griip_sdk/hardware/ur_robot_client.py +88 -0
  99. griip_sdk/hardware/vision_codec.py +77 -0
  100. griip_sdk/log_utils.py +42 -0
  101. griip_sdk/modeling/__init__.py +0 -0
  102. griip_sdk/modeling/sphere_generation_tool/README.md +187 -0
  103. griip_sdk/modeling/sphere_generation_tool/__init__.py +8 -0
  104. griip_sdk/modeling/sphere_generation_tool/__main__.py +242 -0
  105. griip_sdk/modeling/sphere_generation_tool/_actors.py +278 -0
  106. griip_sdk/modeling/sphere_generation_tool/_geometry.py +55 -0
  107. griip_sdk/modeling/sphere_generation_tool/editor.py +1142 -0
  108. griip_sdk/modeling/sphere_generation_tool/object_io.py +53 -0
  109. griip_sdk/modeling/sphere_generation_tool/urdf_io.py +315 -0
  110. griip_sdk/modeling/tests/__init__.py +0 -0
  111. griip_sdk/modeling/tests/conftest.py +123 -0
  112. griip_sdk/modeling/tests/test_editor_math.py +80 -0
  113. griip_sdk/modeling/tests/test_editor_smoke.py +471 -0
  114. griip_sdk/modeling/tests/test_mesh_loading.py +66 -0
  115. griip_sdk/modeling/tests/test_object_io.py +72 -0
  116. griip_sdk/modeling/tests/test_urdf_io.py +367 -0
  117. griip_sdk/orchestration/__init__.py +129 -0
  118. griip_sdk/orchestration/bin_cuboid_extraction.py +77 -0
  119. griip_sdk/orchestration/bin_picking_manager.py +580 -0
  120. griip_sdk/orchestration/bin_state.py +85 -0
  121. griip_sdk/orchestration/callbacks.py +60 -0
  122. griip_sdk/orchestration/cycle_pause_gate.py +92 -0
  123. griip_sdk/orchestration/errors.py +27 -0
  124. griip_sdk/orchestration/execution/__init__.py +18 -0
  125. griip_sdk/orchestration/execution/grasp_executor.py +105 -0
  126. griip_sdk/orchestration/execution/parallel_jaw_executor.py +132 -0
  127. griip_sdk/orchestration/execution/suction_executor.py +53 -0
  128. griip_sdk/orchestration/execution/tests/__init__.py +0 -0
  129. griip_sdk/orchestration/execution/tests/test_parallel_jaw_executor.py +164 -0
  130. griip_sdk/orchestration/execution/three_finger_executor.py +144 -0
  131. griip_sdk/orchestration/grasp_provider.py +258 -0
  132. griip_sdk/orchestration/grasp_queue.py +107 -0
  133. griip_sdk/orchestration/part_setup.py +52 -0
  134. griip_sdk/orchestration/perception_inputs.py +187 -0
  135. griip_sdk/orchestration/pick_and_place_manager.py +1514 -0
  136. griip_sdk/orchestration/pick_generator.py +230 -0
  137. griip_sdk/orchestration/placement_planner.py +365 -0
  138. griip_sdk/orchestration/planning.py +59 -0
  139. griip_sdk/orchestration/proto_conversions.py +113 -0
  140. griip_sdk/orchestration/roi_scheduler.py +150 -0
  141. griip_sdk/orchestration/scoop_executor.py +122 -0
  142. griip_sdk/orchestration/tests/__init__.py +0 -0
  143. griip_sdk/orchestration/tests/conftest.py +156 -0
  144. griip_sdk/orchestration/tests/test_bin_picking_manager.py +485 -0
  145. griip_sdk/orchestration/tests/test_bin_state.py +160 -0
  146. griip_sdk/orchestration/tests/test_cycle_pause_gate.py +130 -0
  147. griip_sdk/orchestration/tests/test_grasp_provider.py +307 -0
  148. griip_sdk/orchestration/tests/test_part_setup.py +69 -0
  149. griip_sdk/orchestration/tests/test_perception_inputs.py +122 -0
  150. griip_sdk/orchestration/tests/test_phase_collision_spheres.py +57 -0
  151. griip_sdk/orchestration/tests/test_pick_and_place_manager.py +760 -0
  152. griip_sdk/orchestration/tests/test_pick_generator.py +130 -0
  153. griip_sdk/orchestration/tests/test_placement_planner.py +333 -0
  154. griip_sdk/orchestration/tests/test_planning.py +64 -0
  155. griip_sdk/orchestration/tests/test_proto_conversions.py +96 -0
  156. griip_sdk/orchestration/tests/test_scoop_executor.py +106 -0
  157. griip_sdk/orchestration/trajectory_store.py +170 -0
  158. griip_sdk/orchestration/types.py +466 -0
  159. griip_sdk/prototyping/__init__.py +0 -0
  160. griip_sdk/prototyping/config/__init__.py +20 -0
  161. griip_sdk/prototyping/config/registry.py +22 -0
  162. griip_sdk/prototyping/in_process_api.py +59 -0
  163. griip_sdk/prototyping/read_tcp.py +67 -0
  164. griip_sdk/prototyping/run_environment_scanning.py +99 -0
  165. griip_sdk/prototyping/run_hand_eye_calibration.py +104 -0
  166. griip_sdk/prototyping/run_linear_shuttle.py +556 -0
  167. griip_sdk/recording/__init__.py +71 -0
  168. griip_sdk/recording/foxglove_events.py +553 -0
  169. griip_sdk/recording/foxglove_joint_states.py +115 -0
  170. griip_sdk/recording/gripper_state_logger.py +203 -0
  171. griip_sdk/recording/gripper_state_mcap_recording.py +69 -0
  172. griip_sdk/recording/h264_video_logger.py +128 -0
  173. griip_sdk/recording/h264_video_mcap_recording.py +217 -0
  174. griip_sdk/recording/kpi_logger.py +186 -0
  175. griip_sdk/recording/kpi_mcap_recording.py +143 -0
  176. griip_sdk/recording/kpi_timer.py +148 -0
  177. griip_sdk/recording/mcap_recording.py +209 -0
  178. griip_sdk/recording/memory_utils.py +19 -0
  179. griip_sdk/recording/robot_state_logger.py +133 -0
  180. griip_sdk/recording/rotating_mcap_writer.py +326 -0
  181. griip_sdk/recording/tests/test_foxglove_event_publisher.py +324 -0
  182. griip_sdk/recording/tests/test_foxglove_joint_states.py +26 -0
  183. griip_sdk/recording/tests/test_kpi_timer.py +346 -0
  184. griip_sdk/recording/tests/test_mcap_foxglove_event_publisher.py +355 -0
  185. griip_sdk/recording/tests/test_mcap_gripper_state_logger.py +334 -0
  186. griip_sdk/recording/tests/test_mcap_h264_video_logger.py +118 -0
  187. griip_sdk/recording/tests/test_mcap_kpi_logger.py +72 -0
  188. griip_sdk/recording/tests/test_mcap_robot_state_logger.py +253 -0
  189. griip_sdk/recording/tests/test_session.py +87 -0
  190. griip_sdk/tests/__init__.py +0 -0
  191. griip_sdk/tests/test_log_utils.py +81 -0
  192. griip_sdk/tests/test_servicer_as_stub.py +69 -0
  193. griip_sdk_dev-0.4.0.dev24238.dist-info/METADATA +513 -0
  194. griip_sdk_dev-0.4.0.dev24238.dist-info/RECORD +195 -0
  195. griip_sdk_dev-0.4.0.dev24238.dist-info/WHEEL +4 -0
griip_sdk/__init__.py ADDED
@@ -0,0 +1,77 @@
1
+ """Public API of the griip-sdk.
2
+
3
+ Consumers should import only from this top-level namespace. Submodules
4
+ (``griip_sdk.cell``, ``griip_sdk.orchestration``, ``griip_sdk.hardware``,
5
+ ``griip_core.generated``, ``griip_sdk.calibration``) remain importable but
6
+ are SDK-internal — their layout can change without notice.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from dataclasses import dataclass
12
+
13
+ from griip_sdk.cell.parts import PartDefinition, list_available_parts
14
+ from griip_sdk.cell.recipes import build_bin_picking_manager, build_grasp_provider, build_pick_only_manager
15
+ from griip_sdk.errors import ConfigError
16
+ from griip_sdk.hardware.gripper import (
17
+ BaseGripper,
18
+ GripperMoveResult,
19
+ ParallelJawGripper,
20
+ SuctionGripper,
21
+ ThreeFingerGripper,
22
+ )
23
+ from griip_sdk.orchestration.bin_picking_manager import BinPickingManager
24
+ from griip_sdk.orchestration.grasp_provider import GraspProvider
25
+ from griip_sdk.orchestration.pick_and_place_manager import SingleCyclePickAndPlaceManager
26
+ from griip_sdk.orchestration.types import CaptureInfo, GraspTarget, PickFailureReason, PickResult
27
+
28
+
29
+ @dataclass(frozen=True)
30
+ class Cuboid:
31
+ """Per-call cuboid primitive: a one-shot collision extra layered on top of the
32
+ configured planner environment without mutating it.
33
+
34
+ Pose is a length-7 flat list in [x, y, z, qw, qx, qy, qz] order.
35
+ """
36
+
37
+ name: str
38
+ wx: float
39
+ wy: float
40
+ wz: float
41
+ pose: list[float]
42
+
43
+
44
+ __all__ = [
45
+ "BaseGripper",
46
+ "BinPickingManager",
47
+ "build_bin_picking_manager",
48
+ "build_calibration_app",
49
+ "build_grasp_provider",
50
+ "build_pick_only_manager",
51
+ "CalibrationApp",
52
+ "CaptureInfo",
53
+ "ConfigError",
54
+ "Cuboid",
55
+ "GraspProvider",
56
+ "GraspTarget",
57
+ "GripperMoveResult",
58
+ "list_available_parts",
59
+ "ParallelJawGripper",
60
+ "PartDefinition",
61
+ "SuctionGripper",
62
+ "ThreeFingerGripper",
63
+ "PickFailureReason",
64
+ "PickResult",
65
+ "SingleCyclePickAndPlaceManager",
66
+ ]
67
+
68
+
69
+ # Calibration symbols are lazy-loaded so `import griip_sdk` stays usable
70
+ # on installs without the optional `mmaivisionclient` runtime dependency
71
+ # (the calibration verbs hit a real camera; the rest of the SDK does not).
72
+ def __getattr__(name: str) -> object:
73
+ if name in ("CalibrationApp", "build_calibration_app"):
74
+ from griip_sdk.calibration import app as _app_module
75
+
76
+ return getattr(_app_module, name)
77
+ raise AttributeError(f"module 'griip_sdk' has no attribute {name!r}")
File without changes