Practice the ROS2 The Undead Publisher coding problem in Migration. Browser-based execution with automated grading — no local ROS install required. 0% of engineers pass this challenge.
A junior engineer ported a robot state publisher from ROS1 to ROS2. It compiles, runs, and shows up in ros2 node list. A subscriber is in the same file. But the subscriber never receives any data.
The bug: QoS incompatibility. The publisher uses BEST_EFFORT reliability. The subscriber uses RELIABLE reliability. These policies are incompatible in DDS — the publisher will not deliver messages to a subscriber with a stricter QoS policy. No error is raised. Messages are silently dropped.
Study the code, identify the mismatched QoS profiles, and fix them so the subscriber actually receives the published state updates.
It is a hands-on Migration challenge on SimuCode where you implement and run ROS2 code in the browser with runtime-verified tests.
Open this page, sign in, and solve the problem in the built-in IDE. Your solution is graded against real ROS2 execution checks.
This Medium problem focuses on qos, reliability, best_effort skills used in robotics interviews and production systems.