Pybullet needs a mesh file to go along with URDF. Is there a non painful way how to generate one?

Ideally I'd love to generate one from the URDF file itself, as it has all the boxed already defined there. Less ideally, I could use a hint on how to make these mesh files without learning blender or unity or other monstrous tools.

  • $\begingroup$ After some more trials I found that the mesh is not necessary for pybullet if urdf does not have collision part. So that solved this one for me. $\endgroup$
    – psarka
    Commented May 29, 2021 at 9:39

1 Answer 1


The URDF file simply references DAE/COLLADA files that exist elsewhere on the filesystem. Blender and FreeCAD have exporters for DAE files. Saying Blender is a "monstrous tool" is an opinion that probably has little facts to back it up. If you plan on doing URDF file generation more in the future, you will need to learn Blender. DAE is the default exporter for Blender and my experience with it has shown that it works well. There is a Stackexchange page for Blender as well. There are also great youtube channels that show how to use blender. Your best bet is to learn Blender though.

  • $\begingroup$ Thanks! I got a bit annoyed, as it seems that following ROS urdf tutorial, making urdf by hand (and using Rviz) was a bit pointless - I still need to redo everything in Blender in order to get the mesh. Just a follow up - should I use Blender + Phobos plugin, or do you recommend a different stack? $\endgroup$
    – psarka
    Commented May 6, 2021 at 6:59
  • 1
    $\begingroup$ Your original question asks about a mesh. You only need Blender for that. You don't need any other plugins for that. If you are worried about the locations of joints and the origin of your parts, that is a problem solved by using the 3d cursor in blender to find your desired part origin and then editing that mesh property. In other words, if you learn Blender and create your parts properly, you won't need any other tools or plugins. I use the 3d cursor to find joint locations all the time. You then simply hard-code them into the urdf xml file and you are good to go. $\endgroup$ Commented May 6, 2021 at 14:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.