Skip to content

Robot Development Environment

English · 简体中文 · Compatibility matrix · Migration record

This module turns a new workstation into a measurable development environment for embodied-AI work. It covers installation decisions, isolation, smoke checks, simulator selection, ROS integration, and reproducibility. It does not treat “the command completed” as proof that training, rendering, a task, or a real robot works.

Choose one host path

Goal Recommended starting point Why
ROS 2 and Gazebo coursework Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic Reviewed LTS teaching pair with ROS-distributed ros_gz packages.
Existing Ubuntu 22.04 robot stack ROS 2 Humble + Gazebo Fortress Keeps the default Humble binary pairing.
Windows laptop for ROS learning WSL2 with Ubuntu 24.04 Linux ROS packages plus WSLg, without pretending WSL is real-time hardware validation.
Fast contact simulation and model editing Native Python + MuJoCo Small install, direct MJCF/URDF workflow, CPU physics and optional rendering.
GPU-parallel robot learning Isaac Lab or Genesis World Select only after checking the current upstream OS, Python, driver, and accelerator matrix.

Print the reviewed teaching profile without changing the machine:

python tools/robotdev/stack_resolver.py --host ubuntu --ubuntu 24.04
bash tools/robotdev/check_env.sh

Setup pipeline

research goal
    ↓
host + accelerator inventory
    ↓
supported version pair from upstream docs
    ↓
isolated environment and pinned dependencies
    ↓
import → minimal scene → renderer → ROS bridge
    ↓
task smoke → deterministic regression → benchmark
    ↓
hardware-specific safety review (separate gate)
Gate Pass condition Does not prove
Import Package imports and reports a version. Renderer, physics task, or GPU is correct.
Scene A minimal world builds and advances. Your robot model is physically faithful.
Render An interactive or headless frame is produced. Training uses the intended accelerator.
Bridge Named messages cross ROS and simulator with timestamps. Stable control latency or hardware safety.
Task A fixed seed and metric pass a scoped task. Generalization or Sim-to-Real transfer.

Guides

Guide Outcome
Compatibility matrix Choose a host and keep changing version claims dated.
ROS 2 + Gazebo Build a workspace, install the default pairing, and verify the bridge boundary.
MuJoCo Install the official Python bindings and run a valid MJCF smoke.
Isaac Lab Follow the current supported install route and separate app launch from task evidence.
Genesis World Install the current package and execute the official minimal scene pattern.
Python, CUDA, and WSL2 Isolate environments and avoid driver/toolkit confusion.
Troubleshooting Diagnose by layer instead of applying unsafe global fixes.

Reproducibility receipt

For every environment that becomes a research baseline, record:

  • host OS and whether it is native, WSL2, containerized, or remote;
  • Python, simulator, ROS, Gazebo, PyTorch, driver, and package-lock versions;
  • GPU model, CPU architecture, RAM, and rendering backend;
  • exact install source, command, Git commit, seed, and smoke-test output;
  • evidence level: import, scene, render, bridge, task, benchmark, or hardware.

The compatibility data is machine-readable in tools/robotdev/stack_matrix.json. Its review date is a freshness boundary, not a promise that external packages never change.