Skip to main content

HEXFELLOW Robot Driver

Project description

HEXFELLOW ROBOT DRIVER

DOI       


📖 Overview

What is hex_driver_robot

hex_driver_robot is a Python library for controlling HEXFELLOW robots with a unified interface. It supports the Hello Y6 (6‑DOF arm with 7‑DOF gripper), Archer Y6 (6‑DOF arm with optional gripper), and Firefly Y6 (6‑DOF arm with optional gripper) robot models. The library runs each robot controller in a separate process, streams robot states via shared‑memory ring buffers, and provides simple get_*_motor/set_*_mit_cmd APIs.

What problem it solves

  • Unified robot interface: Use the same API for different robot models (Hello Y6, Archer Y6, Firefly Y6).
  • Background control: Each robot controller runs in its own process; the main thread only reads the latest state when needed.
  • Low‑latency sharing: States and commands are passed through shared‑memory ring buffers, avoiding serialization overhead.
  • Real‑time control: Supports MIT (motor‑impedance‑torque) control mode with configurable gains for arm and gripper.

Target users

  • Robotics researchers prototyping manipulation pipelines with HEXFELLOW robots.
  • Developers who need a simple, consistent way to interface with real robot hardware.
  • Anyone who wants to switch between different robot models without changing client code.

📦 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
    • hex_device ≥ 1.4.0, < 1.5.0

Install from PyPI

pip install hex_driver_robot

Install from Source

For those who need examples, you can install the package from source code with examples.

Note: We use uv to manage the Python environment. Please install it first.

  1. Clone and install in editable mode. The venv.sh script expects uv.

    git clone https://github.com/hexfellow/hex_driver_robot.git
    cd hex_driver_robot
    ./venv.sh
    
    • ./venv.sh — creates .venv, installs hex_driver_robot with example dependencies.
    • ./venv.sh --min — installs the core package only (without example dependencies). Some examples will not run.
    • ./venv.sh --pkg-only — installs the package only, skips example-related dependencies.
  2. Activate before running examples:

    source .venv/bin/activate
    

📑 API

See API for details of all robot driver classes and parameters.

💡 Example

See Example for usage examples of each robot model.

📚 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

Star History Chart

👥 Contributors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hex_driver_robot-0.0.1a16.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hex_driver_robot-0.0.1a16-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file hex_driver_robot-0.0.1a16.tar.gz.

File metadata

  • Download URL: hex_driver_robot-0.0.1a16.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for hex_driver_robot-0.0.1a16.tar.gz
Algorithm Hash digest
SHA256 ae40807e413a5e0c5ff28cfe309e7c3f7721be93a91414f8ac825199c6fa7cd9
MD5 ab950546dbecee4b1b61f2b79c17a1e8
BLAKE2b-256 4deee6ef8f50e33703c7b1987cff0b5011fa220bb67e7cc6b2f421633c697ead

See more details on using hashes here.

File details

Details for the file hex_driver_robot-0.0.1a16-py3-none-any.whl.

File metadata

File hashes

Hashes for hex_driver_robot-0.0.1a16-py3-none-any.whl
Algorithm Hash digest
SHA256 d673c19ec6a84bc8fb1fae83461a8b271b29cf5262bb5a730523177c4c955cf9
MD5 59d993e4771a5139740631ee1abc127b
BLAKE2b-256 9fed708e4377b4361c87515a57b32b8d9b6b9f24c9cb38bcc93fa664d6c07054

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page