Unified interface for HEXFELLOW robots and cameras (simulation and real world)
Project description
HEXFELLOW YOCO DRIVER
📖 Overview
What is hex_driver_yoco
hex_driver_yoco (You Only Control Once) is a Python library providing a unified interface for HEXFELLOW robots and cameras, allowing seamless switching between simulation (MuJoCo) and real‑world (robot hardware + cameras) environments with minimal code changes.
The library wraps existing drivers (hex_driver_mujoco, hex_driver_robot, hex_driver_camera) and exposes a consistent API, so that the same client code can run in simulation and on real hardware just by changing a mode parameter. Currently supports Archer Y6 (single‑arm) and E3 Desktop (dual‑arm) robot models.
What problem it solves
- Unified simulation/real interface: Write your control/vision pipeline once, then switch between simulation and real hardware by changing one parameter.
- Minimal code changes: No need to rewrite robot commands or image‑acquisition logic when moving from simulation to real deployment.
- Consistent API: Offers a common subset of methods that work in both environments (e.g.,
get_arm_motor,get_color_img,set_arm_mit_cmd). - Optional‑dependency handling: Automatically checks for the presence of underlying drivers and raises clear errors if they are missing.
Target users
- Robotics researchers prototyping algorithms in simulation before deploying to real robots.
- Developers who want to test vision pipelines with simulated cameras before using real cameras.
- Anyone who needs to frequently switch between simulation and real hardware during development.
📦 Installation
Requirements
- Python ≥ 3.10
- OS:
Linux(macOS/Windows may work but are less tested) - Core dependencies:
hex_util_runtime≥ 0.0.0, < 0.1.0
Optional dependencies (depending on mode)
- Simulation mode:
hex_driver_mujoco(installsmujoco≥ 3.3.0) - Real‑robot mode:
hex_driver_robot(installshex_device≥ 1.3.17) - Real‑camera mode:
hex_driver_camera(installsopencv‑python≥ 4.10.0 and optional camera backends)
Install from PyPI
-
Full install: includes all optional cameras (Berxel, RealSense)
pip install hex_driver_yoco[all]
-
Core install: only the core package (only USB cameras)
pip install hex_driver_yoco
-
Install with a specific extra (e.g., only USB cameras and RealSense):
pip install hex_driver_yoco[realsense]
Install from Source
Note: We use uv to manage the Python environment. Please install it first.
-
Clone and install in editable mode:
git clone https://github.com/hexfellow/hex_driver_yoco.git cd hex_driver_yoco ./venv.sh
./venv.sh— creates.venv, installshex_driver_yocowith all optional drivers (simulation, robot, camera)../venv.sh --min— installs the core package only (no optional drivers). Some examples will not run../venv.sh --pkg-only— installs the package only, skips example‑related dependencies.
-
Activate before running examples:
source .venv/bin/activate
📑 API
See API for details of all Yoco driver classes and parameters.
💡 Example
See Example for usage examples of both simulation and real‑world modes.
📚 Citation
If you want to cite this project in your work, you can use the following BibTeX entry:
@software{hex_zmq_servers,
author = {Dong, Zhaorui and Chen, Zejun},
title = {Hex ZMQ Servers: A ZeroMQ-Based Embodied AI Communication Framework},
year = {2025},
publisher = {Zenodo},
version = {v1.0.0},
doi = {10.5281/zenodo.18309960},
url = {https://doi.org/10.5281/zenodo.18309960}
}
📄 License
Apache License 2.0. See LICENSE.
🌟 Star History
👥 Contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hex_driver_yoco-0.0.1a2.tar.gz.
File metadata
- Download URL: hex_driver_yoco-0.0.1a2.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28b5183255e7ad1a37c6b6ef01b8e8a75af713b48e6545b1e975c924ca98f140
|
|
| MD5 |
35891782ed7bd2a1262d09f3025539d7
|
|
| BLAKE2b-256 |
975f2e0c32a2854c828f4f364c0933758305387dfb9a7e3f9791e0b12b4ea345
|
File details
Details for the file hex_driver_yoco-0.0.1a2-py3-none-any.whl.
File metadata
- Download URL: hex_driver_yoco-0.0.1a2-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
954a4dd58c3d48d38e318a290f6b7482c312a945eb31f7051bcc591ee6409bc7
|
|
| MD5 |
4eb70f51af0a366ae2abdf46f9cb90c3
|
|
| BLAKE2b-256 |
1e7d97e06c37861db9f3c8e56010f7f77ed7d7b385ce8f8633ca80c7641c2cb9
|