Open-source full-stack Physical AI platform — data recording, conversion, training, inference, and robot execution in a single repository.
For detailed usage and tutorials, please refer to the documentation below.
git clone --recurse-submodules https://github.com/ROBOTIS-GIT/cyclo_intelligence.git| Folder | Role |
|---|---|
shared/ |
Robot configs, IO helpers, logger |
cyclo_brain/ |
Training + inference (per-backend containers under policy/) |
cyclo_data/ |
Data recording / conversion / hub upload (ROS2 node) |
orchestrator/ |
Session state, UI, behaviour-tree control (ships React UI) |
interfaces/ |
ROS2 msg / srv definitions |
docker/ |
Unified compose, s6-services, Dockerfiles (arm64 / amd64) |
docs/ |
Architecture |
- Docker 24+ with the Compose plugin (
docker compose version) - NVIDIA Container Toolkit configured as the default runtime
(
docker info | grep "Default Runtime: nvidia") - ~35 GB free disk for the three pre-built images
- Ports 80, 8100, 9090 free on the host
No Docker Hub login is required — the published images
(robotis/cyclo-intelligence, robotis/groot-zenoh,
robotis/lerobot-zenoh) are public and pulled anonymously by default.
docker/container.sh start # pull + start unified image (no rebuild)
docker/container.sh status # check s6 service state
# UI: http://localhost/
# control API: http://localhost/api/health
docker/container.sh start-lerobot # policy on demand (LOAD via UI)
docker/container.sh start-groot # policy on demand (LOAD via UI)
docker/container.sh stop # tear everything downdocker/container.sh auto-detects uname -m, so the same commands work on
both Jetson and an AMD64 workstation. The default start* flow uses the
pre-built image from Docker Hub. Pass --build to rebuild from local
Dockerfile (only needed when iterating on Dockerfile changes).
personal access token is expiredon pull — A previousdocker loginleft an expired token in~/.docker/config.json. Rundocker logoutto clear it; the published images pull anonymously.Default Runtime: runcinstead ofnvidia— Install the NVIDIA Container Toolkit and setnvidiaas the default runtime in/etc/docker/daemon.json, thensudo systemctl restart docker./var/run/robotis/agent_sockets/...: permission denied—container.shwill create this withmkdir -p(usingsudoif needed). If sudo prompts, grant once or pre-create the directory.
See docs/ARCHITECTURE.md for runtime topology
and data flow.
cyclo_brain/sdk/zenoh_ros2_sdk/← ROBOTIS-GIT/zenoh_ros2_sdkcyclo_brain/policy/lerobot/lerobot/← huggingface/lerobotcyclo_brain/policy/groot/Isaac-GR00T/← NVIDIA/Isaac-GR00T
Apache License 2.0 — see LICENSE.