ami-iit / rod

The ultimate Python tool for RObot Descriptions processing.
https://pypi.org/project/rod/
BSD 3-Clause "New" or "Revised" License
14 stars 3 forks source link

Implement logic to resolve resources URIs #8

Closed diegoferigo closed 5 months ago

diegoferigo commented 2 years ago

SDF files could use different special tags to access resources from the file system without using absolute paths:

There's always been some confusion (at least in my case) to figure out what is the correct environment variable and URI to use. For example, this is what I ended up implementing in gym-ignition-models, and this is the configuration of icub-models.

Furthermore, URDF to SDF conversion could still be affected by https://github.com/gazebosim/sdformat/issues/227, but I didn't try recently if it was fixed.

This being said, we could implement a pretty extensive logic to resolve all the combinations. I already ended up implementing a work around in a downstream library, that could be ported here in rod.

diegoferigo commented 1 year ago

As written in https://github.com/ami-iit/rod/pull/20#issuecomment-1423886461, we should properly understand all the URI combinations and support all of them. That PR only provides an initial support.

diegoferigo commented 1 year ago

The logic included in rod has been extended by @traversaro in https://github.com/ami-iit/resolve-robotics-uri-py. We might add add this new external dependency if we want a more extensive URI support.

traversaro commented 1 year ago

The logic included in rod has been extended by @traversaro in https://github.com/ami-iit/resolve-robotics-uri-py. We might add add this new external dependency if we want a more extensive URI support.

That may be a good idea, so that if we want to add other kind of support, we can do that. Ideally we can also look into supporting fuel or other fancy, start, by lazy loading sdformat python bindings.

diegoferigo commented 5 months ago

Early support was introduced in #20 and finalized in #28. Closing.