Practice the ROS2 Service Time Warp coding problem in Migration. Browser-based execution with automated grading — no local ROS install required. 0% of engineers pass this challenge.
A gripper control service was ported from ROS1 to ROS2. Clients can call it and receive a response, but response.success is always False even when the gripper physically moves.
The bug: ROS1 service callbacks return the response value. ROS2 service callbacks must mutate the response object and return it. The port uses return True — this compiles without error because return values are ignored in ROS2 callbacks. The response object stays at its zero-initialized state (success=False, message='').
Fix the callback to populate response.success and response.message, then return response.
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 services, ros1, migration skills used in robotics interviews and production systems.