Skip to main content

Cyclo Lab

Cyclo Lab is the Isaac Lab-based environment for training AI Sapiens K1 policies in simulation. It provides the training and export workflow needed before deploying a policy with Sim2Real.

For robot-side deployment after training, use the Sim2Real guide.

Choose a Physics Backend​

Cyclo Lab provides two physics backends through separate Git branches. Choose the backend before building the Docker image because each branch uses a different Isaac Sim and Isaac Lab version.

BackendGit branchRuntimeScope
PhysXmainIsaac Sim 5.1.0, Isaac Lab 2.3.0Default and recommended for general use.
Newtonk1/isaacsim-6-newtonIsaac Sim 6.0.1, Isaac Lab 3.0.0-beta2, Newton 1.2.1 with MuJoCo-WarpExperimental; validated only for K1 velocity and mimic tasks.
warning

Newton support is experimental. AI Worker, OMY, and FFW tasks are not registered or validated on the Newton branch. Use the main branch unless you specifically need to test K1 with Newton.

Set Up the Docker Container​

Run Cyclo Lab inside the provided Docker container. The container includes Isaac Sim, Isaac Lab, Cyclo Lab, and the Python dependencies used by the training scripts.

Install these on the host PC first:

  • Docker and Docker Compose.
  • NVIDIA Container Toolkit.
  • NVIDIA GPU driver compatible with the Isaac Sim container image.

Select a backend and clone Cyclo Lab with its submodules:

git clone --branch main --recurse-submodules \
https://github.com/ROBOTIS-GIT/cyclo_lab.git
cd cyclo_lab
Already cloned Cyclo Lab?

If the repository was cloned without --recurse-submodules, initialize its submodules before starting the container. If you want to use Newton but cloned the repository without selecting k1/isaacsim-6-newton, switch to the Newton branch first.

Run the commands for the backend you want from the repository root:

git switch main
git submodule update --init --recursive

Start and enter the container:

./docker/container.sh start
./docker/container.sh enter

Inside the container, the repository is mounted at:

/workspace/cyclo_lab

Useful host-side commands:

CommandUse
./docker/container.sh startBuild if needed, initialize submodules, and start the container.
./docker/container.sh enterOpen a shell inside the running container.
./docker/container.sh stopStop the container.
./docker/container.sh logsFollow container logs.
./docker/container.sh cleanRemove the container and image.
note

The start script enables X11 forwarding when DISPLAY and xauth are available on the host. Use the no-window option shown for your backend in the training guides when visualization is not required.

Next Steps​