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.
Beginner
Write a small command-and-observation program
Connect programming concepts to a robot state and action.
Learn in this order
- Variables, functions and bounded loops
- Input observations versus output commands
- Units, error messages and terminal basics
Put it into practice
- Write a program that reads a simulated distance and chooses stop or move.
- Print timestamps and commands so you can explain each transition.
A small annotated controller and example output.
Ready for the next step when…
Resources for this stage
Intermediate
Separate the robot into communicating components
Organize observations and behavior so failures are inspectable.
Learn in this order
- Publisher/subscriber ideas and message types
- Configuration versus hard-coded constants
- State transitions, timeouts and missing inputs
Put it into practice
- Separate sensing and decision logic using a supported middleware tutorial.
- Simulate a missing reading and add an explicit fallback state.
A two-component application with a timeout test.
Ready for the next step when…
Resources for this stage
Follow the official middleware learning path; use documentation matching your installed distribution.
Build a simulated environment and test robot interfaces before moving to a physical setup.
Inspect recorded robot signals and build views that expose timing and system failures.
Professional
Package and test the application
Make behavior repeatable across setup and restart conditions.
Learn in this order
- Automated checks for decision logic
- Startup order and controlled shutdown
- Dependency versions and clear ownership
Put it into practice
- Create tests for normal, stale and invalid observations.
- Restart the application from a clean environment and document the result.
A versioned application, tests and operator quick-start.
Ready for the next step when…
Resources for this stage
Follow the official middleware learning path; use documentation matching your installed distribution.
Investigate a robot-data recording format and verify interoperability with your actual logging tools.
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 →