Fusion 360  →  .urdf

Fusion 360 to URDF

Fusion exports through a script you run inside it, which walks the joints in your design and writes a URDF package beside them. The unit question is the one to watch.

The export itself happens in Fusion 360

This site does not read Fusion 360 files. The conversion is done by fusion2urdf — MIT, community maintained, at github.com/syuntoku14/fusion2urdf. What follows is what the export needs from you, and then the half that is ours: what these exports get wrong, and how to find out which of it happened to yours.

Getting a description out

Build the design with real joints, not rigid groups

The script reads Fusion's own joints, so a revolute joint in the design becomes a revolute joint in the URDF. Anything held together by position alone arrives as one rigid body.

Set physical materials before exporting

Mass and inertia come from Fusion's physical materials, not from the appearance you applied for the render. Those are two different properties in Fusion and only one of them affects the numbers in your description.

Run the script and take the whole folder

It writes a URDF alongside a mesh folder. Both travel together; the description on its own is a robot with no shapes.

Check the scale first of all

Fusion works in centimetres internally, and URDF is metres. When something is lost in that conversion the model is not subtly wrong — it is a hundred or a thousand times the wrong size, which the viewer reports the moment it opens the file.

What comes out wrong, and how you find out

A CAD export produces a file that opens, renders and looks like your robot. The failures below are the ones that survive that impression and show up later as a simulation behaving strangely for no visible reason. Each is a check this site runs on a model you open — not a warning to keep in mind, a line naming the link or the joint.

A robot a thousand times too big, or too small

The commonest CAD export failure of all. The check states the size of the model in metres and says outright when the file is probably in millimetres where metres were meant — and the reverse, for a robot that arrives 2 mm across.

Two different units in one file

Worse than a wrong unit, and harder to spot: the meshes in one unit and the joint origins in another. The geometry then spans one scale and the joints another, and the check compares the two spans and reports the ratio rather than leaving you to notice that the legs attach somewhere near the middle of the body.

Zero or impossible inertia

An all-zero inertia tensor loads happily and makes a link that behaves like nothing at all. So does a tensor whose principal moments violate the triangle inequality — no rigid body can have it, and no export should produce it. Both are checked, per link.

Joints that cannot move

A movable joint with a zero axis, or with its lower and upper limits equal, is a joint locked by arithmetic rather than by intent. Each one is named, along with joints spanning more than a full turn, which usually means the type should have been continuous.

Check the export

The scale, before anything else. Fusion works in centimetres and URDF is in metres, so the failure this route produces is not subtle: a robot a hundred or a thousand times the wrong size.

Drop the URDF and its mesh folder into the viewer. Nothing is installed and nothing is published; the file is read to draw it and deleted after a day. For a model out of Fusion 360, in this order:

  1. The size. Stated in metres as the model opens. If a desktop arm reads as 60 m across, nothing else on this list matters yet.
  2. One unit, not two. Worse than a wrong unit and harder to see: meshes in one scale and joint origins in another. The geometry span and the joint span are compared, and a ratio between them is reported rather than left for you to notice.
  3. Inertia that a rigid body can have. An all-zero tensor, or principal moments that break the triangle inequality, load without complaint and behave like nothing on earth.
  4. Joints that can move. A zero axis, or equal lower and upper limits, is a joint locked by arithmetic rather than by intent.

Then send it further: convert to MJCF and run it in the physics lab, where a robot that cannot hold itself up says so in the first second — or author a movement in motion and find out whether the motors your CAD material implies can actually perform it.

Other CAD packages