Unit 09 · lesson
Build a Failure-Layer Model
Random troubleshooting feels difficult because every symptom looks like "ROS is broken."
Break the stack into layers.
Diagrams open at a readable shape-aware scale. Zoom or expand when you need more detail.
Layer 1 — Ubuntu/package manager
Evidence:
cat /etc/os-release
sudo apt update
Layer 2 — Jazzy installation
Evidence:
ls /opt/ros/jazzy
Layer 3 — shell environment
Evidence:
echo $ROS_DISTRO
which ros2
Layer 4 — workspace build/install
Evidence:
colcon summary
build/
install/
log/
Layer 5 — package/executable discovery
ros2 pkg executables robotnix_pubsub
Layer 6 — running graph
ros2 node list
Layer 7 — communication/interface
ros2 topic info <topic> --verbose
ros2 interface show <type>
Layer 8 — application behavior
The graph can be structurally connected while your Python callback still has a logic bug.
Checkpoint
Take one past failure from this course and place it in the earliest layer where evidence first became wrong.