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/labandscripts/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:
- 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.
-
Create a token: GitHub → Settings → Developer settings → Personal access
tokens → Tokens (classic) → Generate new token, tick the
reposcope, and copy it (you see it only once). - Run the
git cloneabove. 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
- Accept the invitation to the repository (private beta — see the section above), and make sure you are signed in to GitHub.
-
Location matters (Windows): clone in the WSL home (
~), never/mnt/c/.... The doctor will warn you if you got this wrong. - Clone and enter the repository (authenticate with the Personal Access Token when asked).
- Run
./scripts/lab doctorand read every line. - Fix any FAIL following the printed hint (each maps to a section of docs/docker_troubleshooting.md), then re-run until clean.
- 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 deniedon./scripts/lab→chmod +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.