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.
- griip_sdk/__init__.py +77 -0
- griip_sdk/calibration/__init__.py +0 -0
- griip_sdk/calibration/app.py +638 -0
- griip_sdk/calibration/apriltag_pose.py +101 -0
- griip_sdk/calibration/camera_factory.py +105 -0
- griip_sdk/calibration/cartesian_pose.py +220 -0
- griip_sdk/calibration/config_store.py +131 -0
- griip_sdk/calibration/hand_eye_calib/README.md +109 -0
- griip_sdk/calibration/hand_eye_calib/__init__.py +40 -0
- griip_sdk/calibration/hand_eye_calib/config/routine.yaml +7 -0
- griip_sdk/calibration/hand_eye_calib/core.py +692 -0
- griip_sdk/calibration/hand_eye_calib/main.py +596 -0
- griip_sdk/calibration/hand_eye_calib/planning.py +122 -0
- griip_sdk/calibration/hand_eye_calib/routines.py +223 -0
- griip_sdk/calibration/hand_eye_calib/run_hand_eye_calibration.py +131 -0
- griip_sdk/calibration/hand_eye_calib/transforms.py +57 -0
- griip_sdk/calibration/mqtt_publisher.py +98 -0
- griip_sdk/calibration/mqtt_topics.py +15 -0
- griip_sdk/calibration/routines.py +36 -0
- griip_sdk/calibration/scanning/__init__.py +11 -0
- griip_sdk/calibration/scanning/environment_scanning.py +381 -0
- griip_sdk/calibration/scanning/run_environment_scanning.py +142 -0
- griip_sdk/calibration/tests/__init__.py +0 -0
- griip_sdk/calibration/tests/conftest.py +33 -0
- griip_sdk/calibration/tests/test_calibration_app.py +822 -0
- griip_sdk/calibration/tests/test_camera_factory.py +126 -0
- griip_sdk/calibration/tests/test_environment_scanning.py +547 -0
- griip_sdk/calibration/tests/test_hand_eye_calibration_service.py +524 -0
- griip_sdk/calibration/tests/test_hand_eye_helpers.py +211 -0
- griip_sdk/calibration/tests/test_transforms.py +126 -0
- griip_sdk/calibration/types.py +21 -0
- griip_sdk/calibration/units.py +104 -0
- griip_sdk/cell/__init__.py +22 -0
- griip_sdk/cell/builders.py +631 -0
- griip_sdk/cell/config.py +505 -0
- griip_sdk/cell/end_effector_collision_model.py +160 -0
- griip_sdk/cell/initialize.py +282 -0
- griip_sdk/cell/loader.py +102 -0
- griip_sdk/cell/mock_builders.py +114 -0
- griip_sdk/cell/parts.py +63 -0
- griip_sdk/cell/recipes.py +872 -0
- griip_sdk/cell/tests/__init__.py +0 -0
- griip_sdk/cell/tests/conftest.py +7 -0
- griip_sdk/cell/tests/test_builders.py +13 -0
- griip_sdk/cell/tests/test_end_effector_collision_model.py +118 -0
- griip_sdk/cell/tests/test_initialize.py +458 -0
- griip_sdk/cell/tests/test_loader.py +70 -0
- griip_sdk/cell/tests/test_mock_cell_smoke.py +54 -0
- griip_sdk/cell/tests/test_parts.py +55 -0
- griip_sdk/cell/tests/test_recipes.py +156 -0
- griip_sdk/cell/tests/test_recording_config.py +113 -0
- griip_sdk/errors.py +16 -0
- griip_sdk/grpc_adapters/__init__.py +0 -0
- griip_sdk/grpc_adapters/servicer_as_stub.py +166 -0
- griip_sdk/hardware/__init__.py +0 -0
- griip_sdk/hardware/bin_shaker.py +86 -0
- griip_sdk/hardware/camera.py +300 -0
- griip_sdk/hardware/fanuc_robot_client.py +266 -0
- griip_sdk/hardware/ft_sensor.py +352 -0
- griip_sdk/hardware/gripper.py +339 -0
- griip_sdk/hardware/grpc_vision_backend.py +123 -0
- griip_sdk/hardware/io_client.py +194 -0
- griip_sdk/hardware/mmai_vision_backend.py +265 -0
- griip_sdk/hardware/mocks/__init__.py +0 -0
- griip_sdk/hardware/mocks/camera_mock.py +62 -0
- griip_sdk/hardware/mocks/gripper_client_mock.py +135 -0
- griip_sdk/hardware/mocks/io_client_mock.py +28 -0
- griip_sdk/hardware/mocks/robot_client_mock.py +584 -0
- griip_sdk/hardware/onrobot_3fg15_gripper.py +103 -0
- griip_sdk/hardware/robot_client.py +1692 -0
- griip_sdk/hardware/robotiq_2f140_gripper.py +327 -0
- griip_sdk/hardware/sim_gripper.py +365 -0
- griip_sdk/hardware/sim_hand_eye.py +138 -0
- griip_sdk/hardware/sim_robot_client.py +189 -0
- griip_sdk/hardware/suction_gripper.py +112 -0
- griip_sdk/hardware/tests/__init__.py +0 -0
- griip_sdk/hardware/tests/conftest.py +8 -0
- griip_sdk/hardware/tests/test_call_with_timeout.py +56 -0
- griip_sdk/hardware/tests/test_command_state_fanout.py +131 -0
- griip_sdk/hardware/tests/test_gripper_command_listeners.py +90 -0
- griip_sdk/hardware/tests/test_grpc_vision_backend.py +220 -0
- griip_sdk/hardware/tests/test_mmai_vision_backend.py +312 -0
- griip_sdk/hardware/tests/test_reset_to_normal.py +101 -0
- griip_sdk/hardware/tests/test_robot_client_base.py +48 -0
- griip_sdk/hardware/tests/test_robot_client_lifecycle.py +323 -0
- griip_sdk/hardware/tests/test_robot_feedback_fanout.py +154 -0
- griip_sdk/hardware/tests/test_robotiq_2f140_gripper.py +86 -0
- griip_sdk/hardware/tests/test_robotiq_gripper_bus_lock.py +78 -0
- griip_sdk/hardware/tests/test_sim_gripper.py +230 -0
- griip_sdk/hardware/tests/test_sim_hand_eye.py +226 -0
- griip_sdk/hardware/tests/test_sim_robot_client.py +196 -0
- griip_sdk/hardware/tests/test_suction_gripper.py +82 -0
- griip_sdk/hardware/tests/test_tower_light.py +179 -0
- griip_sdk/hardware/tests/test_vision_codec.py +73 -0
- griip_sdk/hardware/tests/test_vrmcs_tcp_guard.py +81 -0
- griip_sdk/hardware/torquing_client.py +23 -0
- griip_sdk/hardware/tower_light.py +84 -0
- griip_sdk/hardware/ur_robot_client.py +88 -0
- griip_sdk/hardware/vision_codec.py +77 -0
- griip_sdk/log_utils.py +42 -0
- griip_sdk/modeling/__init__.py +0 -0
- griip_sdk/modeling/sphere_generation_tool/README.md +187 -0
- griip_sdk/modeling/sphere_generation_tool/__init__.py +8 -0
- griip_sdk/modeling/sphere_generation_tool/__main__.py +242 -0
- griip_sdk/modeling/sphere_generation_tool/_actors.py +278 -0
- griip_sdk/modeling/sphere_generation_tool/_geometry.py +55 -0
- griip_sdk/modeling/sphere_generation_tool/editor.py +1142 -0
- griip_sdk/modeling/sphere_generation_tool/object_io.py +53 -0
- griip_sdk/modeling/sphere_generation_tool/urdf_io.py +315 -0
- griip_sdk/modeling/tests/__init__.py +0 -0
- griip_sdk/modeling/tests/conftest.py +123 -0
- griip_sdk/modeling/tests/test_editor_math.py +80 -0
- griip_sdk/modeling/tests/test_editor_smoke.py +471 -0
- griip_sdk/modeling/tests/test_mesh_loading.py +66 -0
- griip_sdk/modeling/tests/test_object_io.py +72 -0
- griip_sdk/modeling/tests/test_urdf_io.py +367 -0
- griip_sdk/orchestration/__init__.py +129 -0
- griip_sdk/orchestration/bin_cuboid_extraction.py +77 -0
- griip_sdk/orchestration/bin_picking_manager.py +580 -0
- griip_sdk/orchestration/bin_state.py +85 -0
- griip_sdk/orchestration/callbacks.py +60 -0
- griip_sdk/orchestration/cycle_pause_gate.py +92 -0
- griip_sdk/orchestration/errors.py +27 -0
- griip_sdk/orchestration/execution/__init__.py +18 -0
- griip_sdk/orchestration/execution/grasp_executor.py +105 -0
- griip_sdk/orchestration/execution/parallel_jaw_executor.py +132 -0
- griip_sdk/orchestration/execution/suction_executor.py +53 -0
- griip_sdk/orchestration/execution/tests/__init__.py +0 -0
- griip_sdk/orchestration/execution/tests/test_parallel_jaw_executor.py +164 -0
- griip_sdk/orchestration/execution/three_finger_executor.py +144 -0
- griip_sdk/orchestration/grasp_provider.py +258 -0
- griip_sdk/orchestration/grasp_queue.py +107 -0
- griip_sdk/orchestration/part_setup.py +52 -0
- griip_sdk/orchestration/perception_inputs.py +187 -0
- griip_sdk/orchestration/pick_and_place_manager.py +1514 -0
- griip_sdk/orchestration/pick_generator.py +230 -0
- griip_sdk/orchestration/placement_planner.py +365 -0
- griip_sdk/orchestration/planning.py +59 -0
- griip_sdk/orchestration/proto_conversions.py +113 -0
- griip_sdk/orchestration/roi_scheduler.py +150 -0
- griip_sdk/orchestration/scoop_executor.py +122 -0
- griip_sdk/orchestration/tests/__init__.py +0 -0
- griip_sdk/orchestration/tests/conftest.py +156 -0
- griip_sdk/orchestration/tests/test_bin_picking_manager.py +485 -0
- griip_sdk/orchestration/tests/test_bin_state.py +160 -0
- griip_sdk/orchestration/tests/test_cycle_pause_gate.py +130 -0
- griip_sdk/orchestration/tests/test_grasp_provider.py +307 -0
- griip_sdk/orchestration/tests/test_part_setup.py +69 -0
- griip_sdk/orchestration/tests/test_perception_inputs.py +122 -0
- griip_sdk/orchestration/tests/test_phase_collision_spheres.py +57 -0
- griip_sdk/orchestration/tests/test_pick_and_place_manager.py +760 -0
- griip_sdk/orchestration/tests/test_pick_generator.py +130 -0
- griip_sdk/orchestration/tests/test_placement_planner.py +333 -0
- griip_sdk/orchestration/tests/test_planning.py +64 -0
- griip_sdk/orchestration/tests/test_proto_conversions.py +96 -0
- griip_sdk/orchestration/tests/test_scoop_executor.py +106 -0
- griip_sdk/orchestration/trajectory_store.py +170 -0
- griip_sdk/orchestration/types.py +466 -0
- griip_sdk/prototyping/__init__.py +0 -0
- griip_sdk/prototyping/config/__init__.py +20 -0
- griip_sdk/prototyping/config/registry.py +22 -0
- griip_sdk/prototyping/in_process_api.py +59 -0
- griip_sdk/prototyping/read_tcp.py +67 -0
- griip_sdk/prototyping/run_environment_scanning.py +99 -0
- griip_sdk/prototyping/run_hand_eye_calibration.py +104 -0
- griip_sdk/prototyping/run_linear_shuttle.py +556 -0
- griip_sdk/recording/__init__.py +71 -0
- griip_sdk/recording/foxglove_events.py +553 -0
- griip_sdk/recording/foxglove_joint_states.py +115 -0
- griip_sdk/recording/gripper_state_logger.py +203 -0
- griip_sdk/recording/gripper_state_mcap_recording.py +69 -0
- griip_sdk/recording/h264_video_logger.py +128 -0
- griip_sdk/recording/h264_video_mcap_recording.py +217 -0
- griip_sdk/recording/kpi_logger.py +186 -0
- griip_sdk/recording/kpi_mcap_recording.py +143 -0
- griip_sdk/recording/kpi_timer.py +148 -0
- griip_sdk/recording/mcap_recording.py +209 -0
- griip_sdk/recording/memory_utils.py +19 -0
- griip_sdk/recording/robot_state_logger.py +133 -0
- griip_sdk/recording/rotating_mcap_writer.py +326 -0
- griip_sdk/recording/tests/test_foxglove_event_publisher.py +324 -0
- griip_sdk/recording/tests/test_foxglove_joint_states.py +26 -0
- griip_sdk/recording/tests/test_kpi_timer.py +346 -0
- griip_sdk/recording/tests/test_mcap_foxglove_event_publisher.py +355 -0
- griip_sdk/recording/tests/test_mcap_gripper_state_logger.py +334 -0
- griip_sdk/recording/tests/test_mcap_h264_video_logger.py +118 -0
- griip_sdk/recording/tests/test_mcap_kpi_logger.py +72 -0
- griip_sdk/recording/tests/test_mcap_robot_state_logger.py +253 -0
- griip_sdk/recording/tests/test_session.py +87 -0
- griip_sdk/tests/__init__.py +0 -0
- griip_sdk/tests/test_log_utils.py +81 -0
- griip_sdk/tests/test_servicer_as_stub.py +69 -0
- griip_sdk_dev-0.4.0.dev24238.dist-info/METADATA +513 -0
- griip_sdk_dev-0.4.0.dev24238.dist-info/RECORD +195 -0
- 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
|