ros / urdf

Repository for URDF parsing code
63 stars 41 forks source link

Test fixture files missing #30

Closed PixnBits closed 5 years ago

PixnBits commented 5 years ago

Some of the dependent files of the test fixtures are missing. Ex: test_robot.urdf references two .dae files

<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.dae"/>
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.dae"/>

I'm unable to find the files in PR #2. I'm also unsure what the package scheme/protocol is, I don't see it in https://en.wikipedia.org/wiki/List_of_URI_schemes and it doesn't appear to be part of https://github.com/package-url/purl-spec as far as I can tell.

clalancette commented 5 years ago

The PR2 is a robot that was built by Willow Garage: https://en.wikipedia.org/wiki/Willow_Garage (it is long out of support).

The package:// protocol is something that the other tools in the ROS ecosystem know how to resolve from a package name to a full path (though I don't know exactly where the code is that does it).

If you want to find those meshes, then you should install the ROS package that contains them, i.e. ros-melodic-pr2-description.

Let me know if that answers your questions. I'll close this for now, but feel free to open it back up if you think there is a problem here.

PixnBits commented 5 years ago

Ah, cheers! I was looking at the URDF file specification in isolation (ex: web viewers), but it looks like the portability outside of ROS has some limitations/dependencies.

Perhaps an unrelated question, but are there efforts/interest in storing meshes inside of the URDF files themselves (perhaps akin to <material>)?

clalancette commented 5 years ago

Perhaps an unrelated question, but are there efforts/interest in storing meshes inside of the URDF files themselves (perhaps akin to <material>)?

Not that I know of. We are having a discussion about how to extend URDF over in https://github.com/ros/urdfdom_headers/issues/59 ; feel free to join in if you'd like to see extensions.

traversaro commented 5 years ago

Ah, cheers! I was looking at the URDF file specification in isolation (ex: web viewers), but it looks like the portability outside of ROS has some limitations/dependencies.

Yes, that is indeed a pain point when loading URDF files outside ROS, as different software typically use different incompatible non-standardized solution, for example the PyBullet library stores the mesh file names as relative paths to the URDF file https://github.com/bulletphysics/bullet3/blob/6b2cae1b1d63056ef48c64b39c8db6027e897663/data/humanoid/nao.urdf#L73 .