Web-based URDF visualization tool and library opensourced from NASA JPL


You mean the javascript library loading the meshes? Not in any of the ROS packages, correct?

Correct I mean in this javascript package.

Yes, I’d say updating the documentation would be fine.

Especially in the way you suggest (“compatibility will depend on the application loading the urdf file”).

Well technically the “only” thing needed to edit the wiki would be to register for an account (and then request write access in ros-infrastructure/roswiki#258).

Great! I’ll make an account and propose the change in the wiki. It seems like a safe change to make.

Related (since you mention gTLF and GLB): ros-industrial-consortium/tesseract#184.

If I’m understanding right people are proposing replacing URDF with a GLTF variant that includes joint and other kinematic features? To be honest it sounds like a huge mistake. We should let GLTF (or any mesh format) be good at what it’s intended for – storing geometry data – a let our kinematics format be good at storing kinematic information. Otherwise we’ll be stuck chasing every new geometry format that comes out trying to inject robotics use cases into something that wasn’t originally intended for that. As it is URDF is immune to the changing world of graphics formats and can be evolved to represent structures that GLTF’s tree hierarchy isn’t designed to support. It’s also human readable, easier to write / modify, and is supported via Xacro generation.

URDF has some shortcomings I would like to see fixed, too, but I’d rather see those problems addressed in a format many people are already using, that the robotics community has control over, and has a well contained scope. I’m relatively new to this community still and maybe have some unconventional use cases but I’d be interested in being involved in these discussions if possible. I suppose that just means keeping an eye out for URDF related discussions because there doesn’t seem to be an centralized place where this problem is being discussed. I’ve been waiting for years for movement on URDF2 to support closed chain kinematics but there never seems to be any progress there.

Edit: also related (and very nice): it seems Ubuntu Focal comes with version 5.0.1 which supports .zae , which is compressed Collada (assimp/assimp#2545). That potentially saves up to 90% on mesh (and typically also ROS package) size.

Edit 2: hah, just noticed that we’ve discussed (almost) all of this 2 years ago: Support the PLY geometry format in URDF?.

Heh, yeah my thinking has evolved since then and I’ve gotten some pushback that we’re not creating to-spec URDF files because of the mesh format so I figured I’d mention it again. I appreciate you sharing your expertise in this area a second time.

I have taken a look at ZAE but it’s a bit obscure. We’ve chosen GLTF because the memory footprint is pretty compact and parse time is very fast especially in browsers. It’s pretty well supported now, too, so it’s easy to generate and look at.

Thanks again.