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 joystick grip and RGB LED strip), Archer Y6 (6‑DOF arm with optional grip), and Firefly Y6 (6‑DOF arm with optional grip) robot models. The library runs each robot controller in a background thread, streams robot states via deque ring buffers, and exposes consistent readers (get_arm_state, get_grip_state on Archer/Firefly, or get_grip_joy on Hello Y6) plus model‑specific command writers: MIT / joint position / Cartesian pose commands on Archer and Firefly, and grip RGB LED control on Hello Y6. Each model also provides a callback variant (HexRobotArcherY6Callback, HexRobotFireflyY6Callback, HexRobotHelloY6Callback) for event‑driven state handling.

What problem it solves

  • Unified robot interface: Use the same API pattern for different robot models (Hello Y6, Archer Y6, Firefly Y6).
  • Background control: Each robot controller runs in its own thread; the main thread only reads the latest state when needed.
  • Low‑latency sharing: States and commands are passed through deque ring buffers, avoiding serialization overhead.
  • Real‑time control: Archer and Firefly support MIT impedance, MIT with compensation, joint position, and Cartesian pose commands; Hello Y6 focuses on motor telemetry, joystick input, and LED control on the grip.
  • Callback support: Every model offers a callback class for event‑driven programming alongside the polling‑based class.

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_util_robot ≥ 0.0.0, < 0.1.0
    • hex_util_urdf ≥ 0.0.0, < 0.1.0
    • hex_util_msg ≥ 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 in editable mode.
  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 aligned with example/archer_y6_example.py, example/firefly_y6_example.py, and example/hello_y6_example.py.

📄 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.1.1a2.tar.gz (14.6 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.1.1a2-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file hex_driver_robot-0.1.1a2.tar.gz.

File metadata

  • Download URL: hex_driver_robot-0.1.1a2.tar.gz
  • Upload date:
  • Size: 14.6 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.1.1a2.tar.gz
Algorithm Hash digest
SHA256 f596d0e1d44e74fb43343b357086747d94800ddbc59ea8f0535fda35b3cade6f
MD5 bb78972f9dc2c1762d91faf0cfc24b99
BLAKE2b-256 51a815177c96a41e64dd5ac8d1cce29881562721624324ce9de55d4ab1a98329

See more details on using hashes here.

File details

Details for the file hex_driver_robot-0.1.1a2-py3-none-any.whl.

File metadata

File hashes

Hashes for hex_driver_robot-0.1.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 455ef950640b192730967cca2b54067264a9eb3e5148d6a345711ca1a1246c72
MD5 220adab7f49f57c0935266aa5efb4b38
BLAKE2b-256 00ecf4afa7e7a9ed9822f1d0f4745bc4277f4d63181eb6875eefc49bd9344a7a

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