This release is a pre-release and may not be stable for production use.
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
Metadata
Release files for hex-driver-yoco 0.0.1a3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hex_driver_yoco-0.0.1a3.tar.gz | 14.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hex_driver_yoco-0.0.1a3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / hex_driver_yoco-0.0.1a3.tar.gz
| Download URL | hex_driver_yoco-0.0.1a3.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53e3d9a4dc664e2d68b1b2f2d932cdba27f8a9014d25edc71a4d4671f603589b
|
|
BLAKE2b-256 checksum How to use checksums |
afe4c3c30b03e030d36073205d2b42cf018260313bfe8ca1283eea757c352946
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / hex_driver_yoco-0.0.1a3-py3-none-any.whl
| Download URL | hex_driver_yoco-0.0.1a3-py3-none-any.whl |
|---|---|
| Size | 14.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83f5aa0fbb976a81a2ca5390b111d54da741fa44c652d970b435069a55f35c3d
|
|
BLAKE2b-256 checksum How to use checksums |
30e8dda3da7fb74b8c6f954a887e8c032687ee846f6fb3e4f2863be563db5446
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|