OPEN-SOURCE ROBOTICS INFRASTRUCTURE / FIELD GUIDE

Robotics meets
cloud-native.

Build systems. Observe behavior. Discover what works.

A hands-on laboratory for exploring ROS 2 on Kubernetes — from containerized robotics and DDS networking to scaling, monitoring, and meaningful experiments.

NEWStep through four research scenarios — animated, synthetic, no unverified numbers.

ROS 2 Jazzy image — local message smoke test
3-node Vagrant cluster — historical lab profile
Cross-worker DDS — verification planned
~/ros2-k8s-lab / architecture LAB / 01
EXPERIMENT BLUEPRINT

Local cluster topology

CONCEPTUAL VIEW
CONTROL PLANE controlplane192.168.56.10
WORKER 01 worker1192.168.56.11 ROS / stress examples
WORKER 02 worker2192.168.56.12 ROS / stress examples
ObservabilityPrometheus / Grafana
kubeadm + Vagrant DDS study
EXPLORE LAYERS

One control plane and two worker VMs in the historical VirtualBox network. Diagram is illustrative, not live telemetry.

03.Virtual machines
Historical Vagrant lab
02.Kubernetes workers
One control plane
01.Jazzy container baseline
Image-local smoke test
0$No cloud account required
Local lab
Illustrated robotic rover and articulated robot arm connected to conceptual cloud compute infrastructure; not a real running deployment.
A LAB FOR CURIOUS ENGINEERS

What happens when
robots meet distributed systems?

Explore the ideas behind cloud robotics: ROS 2 messaging, orchestration, discovery, observability and reproducible experiments.

Explore the field guide

ILLUSTRATIVE CONCEPT ART / NOT A DEPLOYMENT DEMO

01 / THE TOOLKIT

One lab.
Many layers to explore.

From a local Kubernetes control plane to the messages, metrics and experiments that make robotics systems interesting.

01 / INFRA
HISTORICAL PROFILE

Local Kubernetes, unpacked.

Study a three-VM Vagrant + VirtualBox cluster, kubeadm bootstrap, CNI setup, and scheduling concepts—without renting a cloud cluster.

Explore cluster setup
02 / ROBOTICS
JAZZY IMAGE-LOCAL TEST

ROS 2 + DDS, demystified.

Build the modern ROS 2 Jazzy image and verify talker/listener delivery inside one container. Cross-worker DDS remains a research task.

Explore ROS 2 image
03 / INSIGHTS
HISTORICAL EXPERIMENTS

From signals to insights.

Explore Prometheus and Grafana configuration, autoscaling examples, and Python/Jupyter analysis of historical experiment data.

Explore analysis
02 / CHOOSE YOUR PATH

A lab for
every kind of builder.

Purpose-built starting points for teaching, research, and practical infrastructure exploration, each grounded in documented code or open experiments.

PATH / 01 EDUCATION

Teach cloud robotics.

Explain containers, ROS nodes, Kubernetes workers and monitoring with a visible topology and documented exercises.

Explore teaching path
PATH / 02 RESEARCH

Ask better questions.

Study DDS discovery, cross-worker behavior, scheduling, failure recovery and reproducible experiment design.

Explore research path
PATH / 03 ENGINEERING

Inspect the platform.

Follow provisioning, containers, historical workload manifests, observability configuration and test boundaries.

Explore engineering path
RESEARCH / EXPLORE & CONTRIBUTE

Four open problems.
One research community.

Animated, synthetic-only experiment blueprints for Jev, ROS 2, Kubernetes and cloud–edge AI. No unverified performance numbers.

The idea behind every scenario

ILLUSTRATIVE · SYNTHETIC
  1. STAGE 1Simulated robotFictional sensor and fault events.
  2. STAGE 2EdgeQuick local checks close to the robot.
  3. STAGE 3CloudHeavier analysis that only advises.
  4. STAGE 4Decision gateHard safety rules in ordinary code.
  5. STAGE 5Human reviewA person decides what happens next.

Illustrative, synthetic. A teaching sketch of the pattern the scenarios study, not a running system and not measured data. The moving dots and the highlight that steps through the stages are decoration; the text above says the same thing. Use Pause motion in the menu to stop them.

S01 / BEGINNER
HYPOTHESIS, NOT RESULT

Diagnose missing ROS 2 messages

Compare synthetic DDS, QoS and Kubernetes incident evidence with an offline rule baseline and an optional Jev advisory classifier.

FOR
Beginner · MSc
YOU DO
Step through 4 stages
Study fault triage ↗
S02 / RESEARCH
HYPOTHESIS, NOT RESULT

Compare edge and cloud decisions

Design placement experiments around network jitter, resource feasibility, loss of connectivity, action freshness and deterministic safety bounds.

FOR
MSc · PhD
YOU DO
Step through 4 stages
Study inference placement ↗
S03–S04 / SIMULATION
HYPOTHESIS, NOT RESULT

Test agent skills and robot fleets

Explore how structured advisory decisions might assist simulated task screening and multi-robot scheduling, with hard gates enforced in code.

FOR
MSc · PhD
YOU DO
4 stages per scenario, two scenarios
Browse all interactive scenarios ↗

Interactive walkthroughs are preauthored teaching illustrations. No Jev inference, cloud experiment or physical robot controller runs on these pages. See the unmeasured results registry or join the open research epic.

03 / UNDER THE HOOD

Understand
every layer.

A robotics application is more than a container. The lab is structured to help you investigate infrastructure, communication, and observability separately.

Read the DDS guide
Built for learning, not production control. The Vagrant Kubernetes 1.29 / Foxy examples are historical. Hard real-time and cross-worker DDS delivery are not validated.
STACK EXPLORERARCH / 03 LAYERS
L03ROS 2 applicationsJazzy container test · DDS guides · legacy workload samplesAPPLICATION
NETWORK + DISCOVERY
L02Kubernetes orchestrationkubeadm · workloads · HPA/VPA experimentsPLATFORM
PROVISIONING
L01Local compute environmentVagrant · VirtualBox · Ubuntu 22.04 VMsFOUNDATION
REPRESENTS CHECKED-IN COMPONENTS, NOT A VALIDATED MODERN END-TO-END DEPLOYMENT
04 / GET YOUR HANDS DIRTY

Choose your
first experiment.

Two honest starting points: a tested image-local ROS demonstration, or a historical full-cluster lab requiring substantially more resources.

FOLLOW THE VERIFIED SCOPE

Start with a ROS 2 Jazzy container.

Requires Docker, an amd64-capable host, and internet for image dependencies. Builds an image and checks local talker/listener communication.

Full instructions
terminal / bash
git clone https://github.com/MSKazemi/ros2-kubernetes-lab.git
cd ros2-kubernetes-lab

docker build --platform linux/amd64 \
  --file ROS2/Dockerfile --tag ros-jazzy-lab:local .

docker run --rm -i --platform linux/amd64 \
  ros-jazzy-lab:local bash -s < scripts/test-ros2-image.sh
Verification scope: this test exercises talker/listener within a single container. It does not verify Kubernetes, cross-pod discovery, or multi-worker messaging.
06 / WHAT'S NEXT

The next
frontier.

Transparent engineering goals, not finished-feature promises. The roadmap focuses on proof, safer defaults, and accessibility.

Each phase has its own page with an animation, the issues behind it and what done means. Interested in future edge robotics and AI experiments? Share a scoped proposal; those integrations are not part of the current validated lab.

07 / BUILD WITH US

Great labs are
built together.

Whether you're a robotics student, ROS 2 developer, cloud engineer, or researcher—there is room to improve experiments, explain concepts, and help more people learn. Start a scoped public proposal for teaching or research collaboration.

08 / NEED TO KNOW

Questions,
answered.

Still unsure? The repository README documents limitations, commands, and version history in more detail.

Read full FAQ
Is this a production-ready robotics platform?

No. This is an educational/research lab. It is not validated for production deployment, safety-critical robots, or real-time guarantees.

Does ROS 2 Jazzy already work across Kubernetes workers?

No. The Jazzy image has an automated talker/listener test inside one container. Cross-worker Kubernetes/DDS communication is a separate open verification task.

Can I use it without paying for cloud resources?

Yes, the historical Vagrant setup is local and does not require a paid cloud account. It does require substantial host resources—roughly 30 GB of allocated VM RAM and 18 vCPUs—and old dependencies may need repair.

Where should I begin as a new contributor?

Start with the contribution guide and good-first-issue labels. You can contribute documentation, tests, or analysis without running the full Vagrant cluster. Claude Code and Codex instructions are available but optional.