Skip to main content
RoboML Logo

中文版本 PyPI MIT licensed Python Version

RoboML is an aggregator package for quickly deploying open-source ML models for robots. It supports three main use cases:

  • Rapid deployment of general-purpose models: Wraps around popular ML libraries like 🤗 Transformers, allowing fast deployment of models through scalable server endpoints.
  • Deploy detection models with tracking: Supports deployment of detection models from 🤗 Transformers (RT-DETR, DETR, Grounding DINO, etc.) with optional tracking integration.
  • Aggregate robot-specific models from the robotics community: Intended as a platform for community-contributed multimodal models, usable in planning and control, especially with ROS components. See EmbodiedAgents.

Models And Wrappers

Model Class Description Default Checkpoint / Resource Key Init Parameters
TransformersLLM General-purpose large language model (LLM) from 🤗 Transformers Qwen/Qwen3-0.6B name, checkpoint, quantization, source, init_timeout
TransformersMLLM Multimodal vision-language model (MLLM) from 🤗 Transformers Qwen/Qwen2.5-VL-3B-Instruct name, checkpoint, quantization, source, init_timeout
RoboBrain2 Embodied planning + multimodal reasoning via RoboBrain 2.0 BAAI/RoboBrain2.0-3B name, checkpoint, source, init_timeout
Whisper Multilingual speech-to-text (ASR) from OpenAI Whisper small.en (checkpoint list) name, checkpoint, compute_type, source, init_timeout
TransformersTTS Text-to-speech via 🤗 Transformers (Bark, VITS, SpeechT5, SeamlessM4T, etc.) suno/bark-small name, checkpoint, voice, vocoder_checkpoint, source, init_timeout
VisionModel Detection + tracking via 🤗 Transformers PekingU/rtdetr_r50vd_coco_o365 name, checkpoint, setup_trackers, tracking_distance_threshold, num_trackers, source, init_timeout

Installation

RoboML has been tested on Ubuntu 20.04 and later. A GPU with CUDA 12.1+ is recommended. If you encounter problems, please open an issue.

pip install roboml

From Source

git clone https://github.com/automatika-robotics/roboml.git && cd roboml
virtualenv venv && source venv/bin/activate
pip install pip-tools
pip install .

Model Checkpoints from ModelScope

By default, RoboML downloads model checkpoints from the HuggingFace Hub. However, users can pull checkpoints from ModelScope (魔搭社区) instead. First install the optional dependency (the Docker images below already include it):

pip install "roboml[modelscope]"

Then either set the source globally when starting the server:

ROBOML_SOURCE=modelscope roboml
# or with Docker: docker run -e ROBOML_SOURCE=modelscope ...

or per model, by passing source: "modelscope" in the body of the model's /initialize call. An explicit source parameter always overrides the environment variable.

ModelScope checkpoints are cached in ~/.cache/modelscope (configurable via MODELSCOPE_CACHE), so the cache mount shown in the Docker section covers them as well.

Most default checkpoints are available on ModelScope under the same IDs they have on the HuggingFace Hub, and Whisper size aliases such as small.en are resolved automatically. If a checkpoint cannot be found on ModelScope, model initialization fails with a descriptive error that suggests a suitable alternative checkpoint whenever one is known.

Some checkpoints are restricted on ModelScope (e.g. BAAI/RoboBrain2.0-*) and cannot be downloaded anonymously. For these, set the MODELSCOPE_API_TOKEN environment variable with an access token from your ModelScope account.

Models that only exist on HuggingFace Hub can still be reached by routing HF downloads through a mirror, e.g. HF_ENDPOINT=https://hf-mirror.com (a community-run proxy; must be set before the server starts). This works independently of ROBOML_SOURCE, since every model node can choose its own source.

Vision Model Support

VisionModel uses HuggingFace Transformers for object detection and tracking. It works out of the box with any HuggingFace object detection model (RT-DETR, DETR, Grounding DINO, YOLOS, etc.). Object tracking via ByteTrack is included.

If ffmpeg or libGL is missing:

sudo apt-get update && apt-get install ffmpeg libsm6 libxext6

Docker Build (Recommended)

Jetson users are especially encouraged to use Docker.

git clone https://github.com/automatika-robotics/roboml.git && cd roboml

# Build container image
docker build --tag=automatika:roboml .
# For Jetson boards:
docker build --tag=automatika:roboml -f Dockerfile.Jetson .

# Run HTTP server
docker run --runtime=nvidia --gpus all --rm -p 8000:8000 automatika:roboml roboml
# Or run RESP server
docker run --runtime=nvidia --gpus all --rm -p 6379:6379 automatika:roboml roboml-resp
  • (Optional) Mount your cache dir to persist downloaded models:

    -v ~/.cache:/root/.cache
    

Servers

RoboML uses Ray Serve to host models as scalable apps across various environments.

WebSocket Endpoint

WebSocket endpoints are exposed for streaming use cases (e.g., STT/TTS).

Experimental RESP Server

For ultra-low latency in robotics, RoboML also includes a RESP-based server compatible with any Redis client. RESP (see spec) is a lightweight, binary-safe protocol. Combined with msgpack instead of JSON, it enables very fast I/O, ideal for binary data like images, audio, or video.

This work is inspired by @hansonkd’s Tino project.

Usage

Run the HTTP server:

roboml

Run the RESP server:

roboml-resp

Example usage in ROS clients is documented in ROS Agents.

Running Tests

Install dev dependencies:

pip install ".[dev]"

Run tests from the project root:

python -m pytest

Copyright

Unless otherwise specified, all code is © 2024 Automatika Robotics. RoboML is released under the MIT License. See LICENSE for details.

Contributions

ROS Agents is developed in collaboration between Automatika Robotics and Inria. Community contributions are welcome!

Download files

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

Source Distribution

roboml-0.5.0.tar.gz (41.8 kB view details)

Uploaded Source

Built Distribution

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

roboml-0.5.0-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file roboml-0.5.0.tar.gz.

File metadata

  • Download URL: roboml-0.5.0.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for roboml-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ebbae1dc954d1ff63c24620bc4a3a7a7ca44460090e5137ef8df4e9ebd6e3741
MD5 dad11b78dda5fe696c41293d816e8398
BLAKE2b-256 8a19380eec5d7a0c5be9cfd54afd4011ac0910b261c4602d840edb1c4dcf5efa

See more details on using hashes here.

Provenance

The following attestation bundles were made for roboml-0.5.0.tar.gz:

Publisher: build_and_publish.yml on automatika-robotics/roboml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file roboml-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: roboml-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 35.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for roboml-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d25af8d86ed965089d6dfb2a3d7ab4859319cac745cd6a25ece28848e982e8e
MD5 78a91fe55a565c45e4738b73030a3893
BLAKE2b-256 b976e0fb12e00720ae35060c25ebd3940976f84428b1b80c3a39a0812513fcd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for roboml-0.5.0-py3-none-any.whl:

Publisher: build_and_publish.yml on automatika-robotics/roboml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.6.0

2 files

This release

0.5.0 This release

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page