Learning & teaching · SCENARIO ROADMAP

Program your first robot behavior

Move from basic programming to a logged, repeatable simulated robot behavior.

Reviewed October 26, 2026 · Editorial learning and project guidance. Professional means project depth, not an accredited qualification.

THE DESTINATION

What you will produce

A versioned application, tests and operator quick-start. Make behavior repeatable across setup and restart conditions.

Before you begin

Starting knowledge

  • Understand variables, conditions and functions, or learn them alongside the first exercise.
  • Be able to install supported software with help.

Equipment & environment

Use simulation first and keep the exact operating-system and package versions in a setup note.

No fixed completion time: use the evidence gates below to decide when to advance. Resource links open the botstest directory entry; check its publisher documentation for the exact version and configuration.

01

Beginner

Write a small command-and-observation program

Connect programming concepts to a robot state and action.

Learn in this order

  1. Variables, functions and bounded loops
  2. Input observations versus output commands
  3. Units, error messages and terminal basics

Put it into practice

  1. Write a program that reads a simulated distance and chooses stop or move.
  2. Print timestamps and commands so you can explain each transition.
Produce this

A small annotated controller and example output.

Ready for the next step when…

Resources for this stage

Webots →

Create a small simulated robot and inspect sensor/controller behavior without purchasing hardware.

ROS 2 →

Follow the official middleware learning path; use documentation matching your installed distribution.

02

Intermediate

Separate the robot into communicating components

Organize observations and behavior so failures are inspectable.

Learn in this order

  1. Publisher/subscriber ideas and message types
  2. Configuration versus hard-coded constants
  3. State transitions, timeouts and missing inputs

Put it into practice

  1. Separate sensing and decision logic using a supported middleware tutorial.
  2. Simulate a missing reading and add an explicit fallback state.
Produce this

A two-component application with a timeout test.

Ready for the next step when…

Resources for this stage

ROS 2 →

Follow the official middleware learning path; use documentation matching your installed distribution.

Gazebo →

Build a simulated environment and test robot interfaces before moving to a physical setup.

Foxglove →

Inspect recorded robot signals and build views that expose timing and system failures.

03

Professional

Package and test the application

Make behavior repeatable across setup and restart conditions.

Learn in this order

  1. Automated checks for decision logic
  2. Startup order and controlled shutdown
  3. Dependency versions and clear ownership

Put it into practice

  1. Create tests for normal, stale and invalid observations.
  2. Restart the application from a clean environment and document the result.
Produce this

A versioned application, tests and operator quick-start.

Ready for the next step when…

Resources for this stage

ROS 2 →

Follow the official middleware learning path; use documentation matching your installed distribution.

mcap · foxglove →

Investigate a robot-data recording format and verify interoperability with your actual logging tools.

Rerun →

Visualize spatial observations and compare them with model and trajectory outputs.

Common pitfalls

  • Copying commands from incompatible software releases.
  • Testing only the happy path.

Where to go next

Proceed to ROS system integration or navigation after a clean restart and missing-input test both work.

Explore other learn paths →