This PR extends the integration of Unitree g1 with the LeRobot codebase. By converting robot state to a flat dict we can now record and replay episodes (example groot/holosoma scripts need to be adjusted as well). We also improve the simulation integration by calling .step @ _subscribe_motor_state instead of it running in a separate thread. We also add ZMQ camera to lerobot, streaming base64 images over json
* feat(devices): add lazy loading for 3rd party robots cameras and teleoperators
Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>
* feat(devices): load device class based on assumptions in naming
* docs(devices): instructions for using 3rd party devices
* docs: address review feedback
* chore(docs): add example for 3rd party devices
---------
Co-authored-by: Darko Lukić <lukicdarkoo@gmail.com>
* fix(record): Improve OpenCV backend handling for Windows systems
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Resolved ruff's E402 error (import statements not at the beginning of the file):
- Moved all import statements to the beginning of the file
- Defined _fix_opencv_backend() as a function
- Adjusted the timing of the fix call
- Code structure conforming to ruff
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(record): Correct OpenCV backend for Windows systems
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(opencv): Set OpenCV environment variable for Windows systems
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(opencv): Refactor MSMF hardware transform environment variable setting for Windows
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>