Skip to main content

Setup

Cyclo Intelligence runs as a set of Docker containers with a web UI.

Requirements

The machine that runs Cyclo Intelligence handles the web UI, the containers, recording, dataset conversion, and inference. It needs:

RequirementHow to check
Docker 24 or later, with Composedocker compose version
gitgit --version
35 GB free disk spacedf -h ~
Port 7080 freess -ltn 'sport = :7080' — no output means free
NVIDIA GPU — to run trained modelsnvidia-smi
More about these requirements

The installer only needs git. It does not install Docker or the NVIDIA Container Toolkit for you.

A GPU is optional at this stage. Recording data and using Data Tools work without one. A GPU is required only when you run a trained model. To confirm Docker can reach your GPU:

docker info | grep -i runtimes

The nvidia runtime should appear in the output.

To use a port other than 7080, set CYCLO_UI_PORT before starting the container.

Cyclo Intelligence uses public Docker images, so you do not need a Docker Hub login.

1. Install

curl -fsSL https://raw.githubusercontent.com/ROBOTIS-GIT/cyclo_intelligence/main/install.sh | bash

This clones the cyclo_intelligence repository and its submodules into ~/cyclo_intelligence. No container starts yet.

If you already have a checkout, update it instead of reinstalling:

cd ~/cyclo_intelligence
git pull
git submodule update --init --recursive

2. Start The Main Container

The main container provides the web UI, data recording, and Data Tools.

cd ~/cyclo_intelligence
./docker/container.sh start
./docker/container.sh enter

3. Connect To The Robot Network (Zenoh)

Cyclo Intelligence reaches the robot over Zenoh-based ROS 2 communication. Two things must be true:

  1. A Zenoh daemon is running on the robot network.
  2. Cyclo Intelligence knows where it is, through ZENOH_CONFIG_OVERRIDE.
warning

Start the Zenoh daemon before launching Cyclo Intelligence. Follow the OMY Zenoh Communication guide.

Run the commands below inside the Cyclo Intelligence container. First check whether the variable is already set, so you do not end up with two conflicting lines:

grep ZENOH_CONFIG_OVERRIDE ~/.bashrc

If that prints a line, edit it with nano ~/.bashrc instead of appending. If it prints nothing, pick your case:

echo "export ZENOH_CONFIG_OVERRIDE='transport/shared_memory/enabled=true'" >> ~/.bashrc
source ~/.bashrc

4. Open The Web UI

Launch Cyclo Intelligence inside the container:

cyclo_intelligence

Then open the UI in a browser:

http://localhost:7080/

If it runs on another machine, replace localhost with that machine's IP address, for example http://192.168.0.42:7080/.

Setup is done — you can now record demonstrations from the Record page.

note

cyclo_intelligence is an alias for ros2 launch orchestrator cyclo_intelligence_bringup.launch.py.