Skip to content

Conversation

@EzraBrooks
Copy link
Owner

Closes #5.

@traversaro is this the sort of information you were looking for?

@traversaro
Copy link

Closes #5.

@traversaro is this the sort of information you were looking for?

Yes! I suggest something more but more and less it is what I needed.

@EzraBrooks
Copy link
Owner Author

I have some ideas cooking along the lines of formal definition of an interface (I saw your fingerprints on the same over in ros/urdfdom#200 and related issues), but I'm trying to clean up the upstream schema before making one that derives from it. (ros/urdfdom#227, ros/urdfdom#228, ros/urdfdom#229)

@EzraBrooks EzraBrooks merged commit 1b3dafb into main Oct 29, 2025
3 checks passed
@EzraBrooks EzraBrooks deleted the document-format-in-readme branch October 29, 2025 16:19
@traversaro
Copy link

Yes, I think what would also useful at urdf level is the formalization of of a uri schema for relative paths w.r.t. to the urdf file location. That is already quite useful and used by many existing URDF parser, but it is not formalized now, and I do not if the official ROS tooling actually process it.

fyi @saikishor

Copy link

@traversaro traversaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently I added a suggestion but it remained in pending mode (that it was the "more" I was suggesting in my comment, sorry for the confusion. @EzraBrooks


## How does it work?

URDFZ treats your URDF as an archive manifest for your URDFZ archive. It looks up all the URIs listed in the URDF, resolves them to absolute paths, and copies them into the archive. It then creates a copy of your URDF that has its URIs rewritten to a `urdfz://` scheme that points to the asset's path within the archive, and places that modified URDF at the root of the archive.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
URDFZ treats your URDF as an archive manifest for your URDFZ archive. It looks up all the URIs listed in the URDF, resolves them to absolute paths, and copies them into the archive. It then creates a copy of your URDF that has its URIs rewritten to a `urdfz://` scheme that points to the asset's path within the archive, and places that modified URDF at the root of the archive.
URDFZ treats your URDF as an archive manifest for your URDFZ archive. It looks up all the URIs listed in the URDF, resolves them to absolute paths, and copies them into the archive. It then creates a copy of your URDF that has its URIs rewritten to a `urdfz://` scheme that points to the asset's path within the archive, and places that modified URDF at the root of the archive.
Once the URDFZ is extracted, the `urdfz://` URIs are replaced with a `file://` containing the absolute path to the extracted resource file.

I am not sure if what I added is correct, but it would be great to describe what happens at extraction phase.

@saikishor
Copy link

Yes, I think what would also useful at urdf level is the formalization of of a uri schema for relative paths w.r.t. to the urdf file location. That is already quite useful and used by many existing URDF parser, but it is not formalized now, and I do not if the official ROS tooling actually process it.

fyi @saikishor

Good to know. We should definitely tackle this ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the format in the README

3 participants