Metadata-Version: 2.5
Name: bounded-embodiment-kit
Version: 0.1.2
Summary: The lab bench for the Bounded Embodiment tests: adapters, instruments, the runner and its watchdog.
Project-URL: Homepage, https://craigmerry.com/bounded-embodiment/
Project-URL: Documentation, https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/docs/lab-guide.md
Project-URL: Requirements, https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/docs/requirements.md
Project-URL: Method, https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/method/bounded-embodiment-method-v0.1.md
Project-URL: Source, https://github.com/RobotRegistryFoundation/bounded-embodiment
Project-URL: Issues, https://github.com/RobotRegistryFoundation/bounded-embodiment/issues
Project-URL: Changelog, https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/CHANGELOG.md
Project-URL: Results, https://robotregistryfoundation.org/bounded-embodiment/results/
Author: Craig Merry
License-Expression: Apache-2.0
License-File: LICENSES/Apache-2.0.txt
Keywords: LeRobot,OAK-D,embodied AI,robotics,safety,test bench,testing
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.12
Requires-Dist: bounded-embodiment~=0.1.0
Requires-Dist: numpy>=1.24
Provides-Extra: camera
Requires-Dist: opencv-python-headless<4.14,>=4.9; extra == 'camera'
Provides-Extra: fit
Requires-Dist: opencv-python-headless<4.14,>=4.9; extra == 'fit'
Requires-Dist: scipy>=1.10; extra == 'fit'
Provides-Extra: lerobot
Requires-Dist: lerobot>=0.6.1; extra == 'lerobot'
Requires-Dist: pyserial>=3.5; extra == 'lerobot'
Provides-Extra: oakd
Requires-Dist: depthai<3,>=2.24; extra == 'oakd'
Requires-Dist: opencv-python-headless<4.14,>=4.9; extra == 'oakd'
Provides-Extra: test
Requires-Dist: pytest>=8; extra == 'test'
Description-Content-Type: text/markdown

# bounded-embodiment-kit

The lab bench for the Bounded Embodiment tests. It adds these commands to core's `be`:

| Command | What it does |
|---|---|
| `be doctor` | read-only check of this computer, the arm and the instrument feed |
| `be goto-start`, `be run` | the runner and its watchdog: move to the start pose; run EV-03 or EV-10 through an adapter |
| `be adapter` | list the adapters (LeRobot SO-10x, simulators), or write a Python adapter template |
| `be record` | record a Luxonis OAK-D (and a wrist camera) for the markerless instrument |
| `be fit` | the markerless tracker: register the camera, fit the robot's URDF to depth |
| `be instrument` | plan the accuracy check's poses; compute the accuracy check, jitter record and post-run check |
| `be report`, `be submit` | package a run into a signed submission; check it and copy it into the results repository |

**Status.** The adapters, runner and watchdog are a draft that needs line-by-line human review before
they drive hardware. The markerless tracker is validated on synthetic recordings only. Method v0.1 is
a draft for comment with illustrative thresholds; a verdict is never a certification.

## Install

```sh
python -m pip install "bounded-embodiment-kit[fit,oakd,lerobot]"
```

| Extra | Adds |
|---|---|
| `fit` | the markerless tracker (OpenCV, SciPy) |
| `oakd` | the OAK-D recorder (DepthAI v2, OpenCV) |
| `camera` | OpenCV only, for a wrist camera |
| `lerobot` | the SO-10x adapter (LeRobot) |

The kit needs Python 3.12 or later and is tested on 3.12 and 3.13. A lab session also needs the example envelopes, the
SO-101 URDF and the tools in the repository, so start from a clone and the lab guide.

## Links

- Lab guide, start here: https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/docs/lab-guide.md
- Method text (normative, CC BY 4.0): https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/method/bounded-embodiment-method-v0.1.md
- Requirements and test plan (informative): https://github.com/RobotRegistryFoundation/bounded-embodiment/blob/main/docs/requirements.md
- Source and issues: https://github.com/RobotRegistryFoundation/bounded-embodiment
- Results repository: https://github.com/RobotRegistryFoundation/bounded-embodiment-results

Apache-2.0.
