Open Source ROS1 to ROS2 Version Converter SDK

Hello everyone,

I’m working on an open-source ROS1 to ROS2 Version Converter SDK designed to simplify migration of legacy robotics systems.

Key features:

  • Automatic conversion support
  • Reduced manual migration effort
  • Improved compatibility for ROS2 adoption

GitHub:

I would love feedback from the community and contributors interested in improving ROS migration workflows.

Thanks!

2 Likes

Great effort! It’s only for ROS nodes written in Python, right?

Adding to this: anyone using ROS from node.js might be interested in the rosnodejs + rclnodejs wrapper we’ve developed as part of Transitive, providing a unified interface for working with ROS1 and ROS2 (with minor caveats where unification isn’t possible), even at the same time.

Example

const { getForVersion } = require('@transitive-sdk/utils-ros');

const demo = async (version) => {
  const ros = getForVersion(version);
  await ros.init();

  const topic = '/utils_ros/test1';
  const type = 'std_msgs/String' // gets converted to 'std_msgs/msg/String' for ROS2

  // publish the date once a second
  const interval = setInterval(() => {
    ros.publish(topic, type, {data: String(Date.now())});
  }, 1000);

  // subscribe to our own topic and print to console
  const sub = ros.subscribe(topic, type, (msg) => {
    console.log(ros.rosVersion, 'received', msg.data);
  });
};

demo(1); // run demo using ROS1
demo(2); // run demo using ROS2

@Darshil_Arora I’ve been thinking a lot about how we can better assist users with ROS upgrades. While the number of ROS 1 users is rapidly decreasing, the number of ROS 2 users continues to grow. What I would like to see is a an AI-based tool that partially automates the process of migrating between subsequent ROS 2 LTS releases. By the numbers, almost half the community will need to upgrade from Humble to Jazzy / Lyrical in the next year.

I was hoping to have an intern work on building a prototype this year but I missed our internship deadline. If someone in the community wants to make this happen please let me know. I think the technology is probably there and it would absolutely be worth our time.