Practice the ROS2 The Bridge That Lied coding problem in Migration. Browser-based execution with automated grading — no local ROS install required. 0% of engineers pass this challenge.
A factory has robots running ROS1 alongside a new ROS2 control system. Position data flows from ROS1 robots through a bridge to the ROS2 side. The ROS1 side shows correct position data. The ROS2 side always receives zeros.
geometry_msgs/Pose2D (x, y, theta)geometry_msgs/msg/Pose (3D pose with quaternion)The bridge receives the ROS1 data correctly but publishes it to the wrong ROS2 message type. geometry_msgs/Pose2D has x, y, theta. geometry_msgs/Pose has position.x, position.y, position.z and orientation (quaternion). The bridge copies Pose2D.x into Pose.position.x correctly, but ignores theta entirely and never sets orientation.
Fix the bridge to correctly convert Pose2D → Pose, including converting theta (yaw angle) to a quaternion for the orientation field.
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 Hard problem focuses on ros2, migration, ros1-bridge skills used in robotics interviews and production systems.