RIO: flexible real-time Robot I/O for cross-embodiment robot learning.
This project provides a Python-based interface to use different robot arms (Franka, Kinova, Universal Robots, UFACTORY, SO100, ...), grippers, cameras, and teleop interfaces, with built-in support for data collection, teleoperation, and Vision-Language-Action (VLA) policy deployment.
Tested on Ubuntu 22.04 LTS with an optional real-time kernel patch. See docs/ubuntu.md for setup instructions.
git clone git@github.com:robot-i-o/rio.git
# install open-pi
cd rio
mkdir third_party && cd third_party
git clone git@github.com:Physical-Intelligence/openpi.git
# install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# create venv and install dependencies
uv venv --python 3.10
source .venv/bin/activate
uv sync --all-extrasBuild and browse the docs locally at http://localhost:8000:
uv sync --group docs
uv run mkdocs serveIf you use RIO in your research, please cite our paper:
@inproceedings{ortega-kral_rio_2026,
author = {Pablo Ortega-Kral and Eliot Xing and Arthur Bucker and Vernon Luk and
Junseo Kim and Owen Kwon and Angchen Xie and Nikhil Sobanbabu and
Yifu Yuan and Megan Lee and Deepam Ameria and Bhaswanth Ayapilla and
Jaycie Bussell and Guanya Shi and Jonathan Francis and Jean Oh},
title = {RIO: Flexible Real-Time Robot I/O for Cross-Embodiment Robot Learning},
booktitle = {Robotics: Science and Systems (RSS)},
year = {2026},
eprint = {arXiv:2605.11564},
}