Clone the Repository and Run lab doctor

Clone the Repository and Run ./scripts/lab doctor

Goal

Get the lab onto your machine, in the right place, and let the doctor verify your environment before you invest time in a build.

What You Will Build

A verified, correctly-located clone of the lab, and your first interaction with the lab CLI you will use in every module.

Why This Matters

Half of all "the course does not work" reports are environment problems that a 30-second automated check catches. In industry, the equivalent is a commissioning checklist — you never start integration on an unverified cell.

Architecture Layer

Environment / tooling.

Files You Will Touch

  • scripts/lab and scripts/doctor.sh — skim them; they are plain bash, written to be read.

Files You Should Not Touch Yet

Everything else.

Commands

# Windows: inside the Ubuntu/WSL terminal.  Ubuntu: any terminal.
cd ~
git clone https://github.com/LearnRoboticsWROS/industrial_ros2_manipulation_lab.git
cd industrial_ros2_manipulation_lab
./scripts/lab doctor      # verify your environment
./scripts/lab build       # build the image + workspace (long: mostly download)

Accessing the Repository (private beta)

The repository is private during the beta, so git clone asks you to log in. GitHub no longer accepts your account password on the command line — you use a Personal Access Token as the password:

  1. Accept the invitation to the repo: the email from GitHub, or the banner at the top of the repo page once you are signed in on github.com.
  2. Create a token: GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token, tick the repo scope, and copy it (you see it only once).
  3. Run the git clone above. When it asks for a username, enter your GitHub username; when it asks for a password, paste the token. Git remembers it, so you do this only once.

Step-by-Step Instructions

  1. Accept the invitation to the repository (private beta — see the section above), and make sure you are signed in to GitHub.
  2. Location matters (Windows): clone in the WSL home (~), never /mnt/c/.... The doctor will warn you if you got this wrong.
  3. Clone and enter the repository (authenticate with the Personal Access Token when asked).
  4. Run ./scripts/lab doctor and read every line.
  5. Fix any FAIL following the printed hint (each maps to a section of docs/docker_troubleshooting.md), then re-run until clean.
  6. Build — the long step (image download + workspace build, 10–30 min the first time):
./scripts/lab build

What You Should See

[lab] doctor
[lab] PASS  docker reachable (server 2x.x)
[lab] PASS  docker compose v2 available
[lab] PASS  display available (WSLg detected)      # or X11 on Ubuntu
[lab] PASS  repository on a Linux filesystem
[lab] PASS  free disk space: XX GB
[lab] PASS  internet reachable
[lab] doctor: all checks passed

Then a long lab build (10–30 min the first time, mostly download) ending with a successful workspace build.

How to Modify This for Your Own Application

doctor.sh is a pattern worth stealing for any project you ship to teammates or customers: encode every environment assumption as an executable check with a human-readable fix hint.

Common Mistakes

  • Repo under /mnt/c (Windows) → move it: mv /mnt/c/.../industrial_ros2_manipulation_lab ~/.
  • permission denied on ./scripts/labchmod +x scripts/lab scripts/*.sh (should not happen from git, but harmless).
  • Running from the wrong directory — always from the repository root.

Checkpoint

./scripts/lab doctor exits with all PASS (WARNs are acceptable if you read and understood them), and ./scripts/lab build completed.

Expected Output

Built image + built workspace, ready for the demo.

Next Step

08_launch_your_first_demo.md — the payoff.

Complete and Continue