Discuss: Tools and Best Practices for 3D Robot Assets (URDF, SDFormat, CAD, etc)

Hi Everyone,

I have sent over a PR to update the list on docs.ros.org :hugs:

If you want something else on the list please send over a PR.

:point_right: I am going to keep up the momentum. I have a new topic I want to cover next week. :point_left:

1 Like

I develop this fork and will add new features
Now it can generate ROS 2 package with URDF, RViz and Gazebo launchers from FreeCAD.
Also has a docker container for ROS and FreeCAD (it can be used directly or as template for your workflow with OVERCROSS).

1 Like

The issue is that, to my knowledge, there is no CAD standards that supports joints, or at least commercial CAD software do not (probably do not want to) export to such format if one does exist.

2 Likes

Hey @JRTG ,
I did come across your workflow when trying to build custom worlds to simulate certain unstructured photorealistic environments, Typically built on Blender. I’d be happy to document after a small discussion and possibly it could help the wider community, I did have a tough time finding documented resources for working with such assets on Ignition Gazebo!Let me know!

So if I am understanding this correctly the CAD model can be made into a URDF (Rviz) or SDF (gazebo) ?

Roboforge automates the translation of CAD assemblies in Onshape for RViz, Gazebo and MuJuCo,

This is just awesome!

instead Roboforge creates an intermediate graph representation of the parts and joints and applies algorithms to reduce to the minimum degrees-of-freedom.

We need a lot more eyes on this.

I wonder if anyone has experience with the operations and pipelines of Robot assets.

One method I have seen is treating these assets as data and using DVC for version control. (similar to git)

Does anyone have good practices or solutions from a DevOps or DataOps perspective for model versioning and management?

@Allen_Jo I’m on holiday now, but here is an example repository (made for this issue ) which can serve as a starting point.

If you have a look at some of the Blender tutorials wrt applying textures and this tutorial on SimpleBake, as well as the sdf file in the example repository, I think most parts should be clear to reproduce it.

Any questions feel free to ask, preferably through Robotics Stack Exchange (as this is a form of documentation on its own).

1 Like