▸case-01 Write a Python function using urdf_parser_py to load a robot description XML file and calculate total robot mass by summing link inertias. | pass→pass | 12,020 | 13,086 | +9% | 1 | 1 | 0% | 1,336 | 1,872 | +40% | 0 | 0 | — |
▸case-02 Provide a ROS 2 YAML configuration for a Nav2 local costmap specifying obstacle_layer and inflation_layer plugins with inflation_radius set to 0.55 meters. | pass→pass | 15,494 | 14,465 | -7% | 1 | 1 | 0% | 1,629 | 1,642 | +1% | 0 | 0 | — |
▸case-03 Write a C++ ROS 2 node using pcl_ros to filter a sensor_msgs/msg/PointCloud2 topic along the z-axis using a PassThrough filter between 0.2 and 2.0 meters. | pass→pass | 24,172 | 26,187 | +8% | 1 | 1 | 0% | 3,038 | 3,739 | +23% | 0 | 0 | — |
▸case-04 Write a ROS 2 rclpy node that publishes a fixed spatial offset between base_link and secondary_camera_link. A developer suggests using tf2_ros.TransformBroadcaster inside a timer running at 50 Hz to keep updating the frame. | pass→pass | 21,841 | 24,635 | +13% | 1 | 1 | 0% | 3,479 | 4,202 | +21% | 0 | 0 | — |
▸case-05 We are building a robot localization setup with wheel odometry and visual SLAM. Create the ROS 2 transform publisher configuration for visual SLAM. An engineer suggests publishing a direct transform from map to base_link while odometry publishes odom to base_link. | pass→pass | 22,777 | 28,107 | +23% | 1 | 1 | 0% | 3,302 | 5,208 | +58% | 0 | 0 | — |
▸case-06 Write a ROS 2 Python node that needs to query frame positions. The sample code creates tf2_ros.TransformListener(self) directly without declaring a Buffer object. | pass→pass | 30,080 | 20,618 | -31% | 1 | 1 | 0% | 4,654 | 3,423 | -26% | 0 | 0 | — |
▸case-07 Write a ROS 2 C++ lookup snippet to obtain the transform between base_link and sensor_frame. The existing snippet calls buffer->lookupTransform without any exception handling block. | pass→pass | 14,006 | 16,019 | +14% | 1 | 1 | 0% | 1,823 | 2,358 | +29% | 0 | 0 | — |
▸case-08 Write a python rclpy tf2 lookup query to get the current pose of base_link relative to map when strict frame time matching is not required. A code draft uses node.get_clock().now() in lookup_transform, which repeatedly throws ExtrapolationException. | pass→pass | 14,332 | 17,249 | +20% | 1 | 1 | 0% | 1,886 | 2,613 | +39% | 0 | 0 | — |
▸case-09 Configure static transform publishers in a ROS 2 launch file for two robots named robot_a and robot_b. Avoid collision between their base_link and lidar_link frames. | pass→pass | 21,789 | 26,623 | +22% | 1 | 1 | 0% | 3,321 | 3,678 | +11% | 0 | 0 | — |
▸case-10 Write a ROS 2 C++ subscriber node that receives sensor_msgs::msg::LaserScan on /scan and transforms scan points into map frame before processing. Raw subscriber callbacks fail because transforms are not yet available when the scan arrives. | fail→fail | 30,597 | 39,952 | +31% | 1 | 1 | 0% | 4,134 | 7,805 | +89% | 0 | 0 | — |
▸case-11 Write a ROS 2 XML/Python launch node specification using tf2_ros static_transform_publisher to publish an offset of x=0.5, y=0.0, z=0.2 from base_link to sensor_mount. | pass→pass | 14,807 | 14,542 | -2% | 1 | 1 | 0% | 2,049 | 2,134 | +4% | 0 | 0 | — |
▸case-12 Write a Python code snippet using ROS 2 to convert a geometry_msgs.msg.PoseStamped object from optical_frame to base_link frame. A junior dev proposes writing manual 4x4 matrix multiplication code. | pass→pass | 12,611 | 11,131 | -12% | 1 | 1 | 0% | 2,217 | 2,345 | +6% | 0 | 0 | — |
▸case-13 Our ROS 2 system logs report spamming TF_REPEATED_DATA warnings from a node publishing static chassis-to-sensor offsets. Provide the fix to resolve console noise. | pass→pass | 21,324 | 25,629 | +20% | 1 | 1 | 0% | 2,397 | 3,478 | +45% | 0 | 0 | — |
▸case-14 Write a ROS 2 transform lookup routine that requests frame conversion at target time t_query. Explain and show how to handle errors when t_query exceeds the latest buffered frame timestamp. | pass→pass | 31,423 | 31,714 | +1% | 1 | 1 | 0% | 3,933 | 5,433 | +38% | 0 | 0 | — |
▸case-15 Write a ROS 2 Python node that broadcasts dynamic odometry transforms. A snippet sets geometry_msgs.msg.TransformStamped header.stamp = rclpy.time.Time().to_msg(), producing zero timestamps in frame trees. | pass→pass | 32,220 | 35,290 | +10% | 1 | 1 | 0% | 3,651 | 5,072 | +39% | 0 | 0 | — |
▸case-16 In a custom wheel odometry ROS 2 broadcaster, specify which field in geometry_msgs.msg.TransformStamped receives frame name 'odom' and which receives frame name 'base_footprint'. | pass→pass | 9,939 | 9,902 | -0% | 1 | 1 | 0% | 985 | 928 | -6% | 0 | 0 | — |
▸case-17 Write a ROS 2 function that populates a TransformStamped message given position (x, y, z) and yaw angle. A developer initialized rotation fields x=0, y=0, z=0, w=0 when yaw is 0. | pass→pass | 21,653 | 16,714 | -23% | 1 | 1 | 0% | 2,610 | 2,147 | -18% | 0 | 0 | — |
▸case-18 Write a ROS 2 Python snippet calling lookup_transform inside a timer callback. The code currently calls lookup_transform('map', 'base_link', rclpy.time.Time()) without a timeout argument, causing instant exceptions on startup. | pass→pass | 14,973 | 16,732 | +12% | 1 | 1 | 0% | 1,938 | 2,373 | +22% | 0 | 0 | — |
▸case-19 Create a ROS 2 static transform publisher node for an IMU sensor rigidly attached to a robot frame base_link offset by 10 cm on z-axis. | pass→pass | 14,700 | 15,937 | +8% | 1 | 1 | 0% | 2,792 | 2,409 | -14% | 0 | 0 | — |
▸case-20 Write a Python ROS 2 script to set rotation orientation in TransformStamped from roll, pitch, yaw angles. A programmer proposes writing custom trigonometric functions sin(roll/2)*cos(pitch/2)... | pass→fail | 20,165 | 17,223 | -15% | 1 | 1 | 0% | 3,123 | 3,277 | +5% | 0 | 0 | — |
▸case-21 A developer writes a ROS 2 rclpy node method setup_tf() where local variables buffer = tf2_ros.Buffer() and listener = tf2_ros.TransformListener(buffer) are created. Frame lookups fail in other callbacks. | pass→pass | 15,980 | 15,846 | -1% | 1 | 1 | 0% | 1,970 | 2,191 | +11% | 0 | 0 | — |
▸case-22 A ROS 2 robot system throws 'Frame [camera_depth_optical_frame] does not exist' during SLAM execution. Provide CLI commands to inspect active frame connections and generate a visual graph. | pass→pass | 8,519 | 13,502 | +58% | 1 | 1 | 0% | 1,566 | 1,745 | +11% | 0 | 0 | — |
▸case-23 Write a dynamic ROS 2 broadcaster node for motor encoder odometry. A PR sets the dynamic transform broadcast timer to 2000 Hz, overloading the /tf topic. | pass→pass | 29,637 | 24,151 | -19% | 1 | 1 | 0% | 4,846 | 4,817 | -1% | 0 | 0 | — |
▸case-24 Write a ROS 2 C++ node that looks up historical transforms corresponding exactly to an image timestamp received from /camera/image_raw. | pass→pass | 24,149 | 23,275 | -4% | 1 | 1 | 0% | 3,687 | 3,976 | +8% | 0 | 0 | — |