ROS2 The Bridge That Lied

Hard Migration 0% pass rate
#ros2#migration#ros1-bridge#quaternion#geometry-msgs#pose

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.

Migration Problem

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.

Setup

  • ROS1 robot publishes position as geometry_msgs/Pose2D (x, y, theta)
  • Bridge is supposed to forward this to the ROS2 side
  • ROS2 subscriber expects geometry_msgs/msg/Pose (3D pose with quaternion)
  • Bridge maps what it can — but maps to the wrong fields

The bug

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.

Your task

Fix the bridge to correctly convert Pose2DPose, including converting theta (yaw angle) to a quaternion for the orientation field.

Frequently asked questions

What is the ROS2 The Bridge That Lied practice problem?

It is a hands-on Migration challenge on SimuCode where you implement and run ROS2 code in the browser with runtime-verified tests.

How do I practice ROS2 The Bridge That Lied online?

Open this page, sign in, and solve the problem in the built-in IDE. Your solution is graded against real ROS2 execution checks.

What skills does ROS2 The Bridge That Lied test?

This Hard problem focuses on ros2, migration, ros1-bridge skills used in robotics interviews and production systems.