Stop rewriting legacy URDFs by hand πŸ›‘

Migrating robots from ROS 1 to ROS 2 is usually a headache of XML editing and syntax checking.

In this video, I demonstrate how π‹π’π§π€π…π¨π«π πž solves this in minute using the π’πŽ-π€π‘πŒ100.

The Workflow:
:one: Import: Load legacy ROS 1 URDFs directly into Blender with LinkForge.
:two: Interact: Click links and joints to visualize properties instantly.
:three: Modernize: Auto-generate ros2_control interfaces from existing joints with one click.
:four: Export: Output a clean, fully compliant ROS 2 URDF ready for Jazzy.

LinkForge handles the inertia matrices, geometry offsets, and tag upgrades automatically.

3 Likes

This looks nice!

But URDFs are not tightly coupled to a ROS version right? We’ve done quite some migrations, but in my experience the myrobot_description packages only required modifications in the launchfiles and package.xml. The urdfs could stay as-is.

1 Like

You’re absolutely right. The core geometry (links/joints) is largely version-agnostic. If you just need visualization in RViz, the old URDFs often work fine!

The β€œheadache” I’m referring to is usually the Control and Physics layers:

  1. ros2_control Tags: Moving from ROS 1 <transmission> tags to the verbose <ros2_control> interfaces (position/velocity/effort) is tedious to hand-write for complex robots.
  2. Physics Strictness: Modern simulators (like Gazebo) are much stricter about valid inertia tensors. LinkForge prevents β€œexploding robot” issues by validating this math before export.

LinkForge just automates that specific layer so you don’t have to debug XML syntax during the migration.

2 Likes