Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path to hands of Eve R3 URDF not found #43

Open
stephane-caron opened this issue Sep 15, 2022 · 2 comments
Open

Path to hands of Eve R3 URDF not found #43

stephane-caron opened this issue Sep 15, 2022 · 2 comments

Comments

@stephane-caron
Copy link
Contributor

stephane-caron commented Sep 15, 2022

The path to the hand meshes of the Eve R3 URDF (one of those shown in the README) is not found:

yourdfpy /path/to/halodi-robot-models/eve_r3_description/urdf/eve_r3.urdf
...
Unable to resolve filename: package://qb_hand_description/meshes/ph_distal.obj
Can't find package://qb_hand_description/meshes/ph_distal.obj

The directory qb_hand_description is actually in the halodi-robot-models repository, so I'm not sure why yourdfpy doesn't find it.

Illustration

Mesh not loaded properly (this issue):

Mesh loaded properly (how it should be):

Further observations

  • Meshes load successfully when running yourdfpy eve_r3_description/urdf/eve_r3.urdf from the root of halodi-robot-models
  • Meshes don't load when running yourdfpy halodi-robot-models/eve_r3_description/urdf/eve_r3.urdf from a directory containing halodi-robot-models
  • The directory structure of halodi-robot-models is:
halodi-robot-models
├── eve_r3_description
│   ├── meshes
│   └── urdf
├── gradle-production.properties
├── gradle.properties
├── gradle-release.properties
├── halodi-robot-models-unity-support
├── qb_hand_description
│   ├── meshes
├── robotiq_2f_85_gripper_visualization
└── robotiq_hand-e
@stephane-caron
Copy link
Contributor Author

Here is the list of meshes tried out by yourdfpy (for one of the hand meshes):

[2022-09-15 11:12:26] DEBUG:yourdfpy.urdf:Checking filename: halodi-robot-models/eve_r3_description/urdf/meshes/ph_distal.obj
[2022-09-15 11:12:26] DEBUG:yourdfpy.urdf:Checking filename: qb_hand_description/meshes/ph_distal.obj
[2022-09-15 11:12:26] DEBUG:yourdfpy.urdf:Checking filename: halodi-robot-models/eve_r3_description/meshes/ph_distal.obj
[2022-09-15 11:12:26] DEBUG:yourdfpy.urdf:Checking filename: halodi-robot-models/meshes/ph_distal.obj
[2022-09-15 11:12:26] DEBUG:yourdfpy.urdf:Checking filename: meshes/ph_distal.obj
[2022-09-15 11:12:26] WARNING:yourdfpy.urdf:Unable to resolve filename: package://qb_hand_description/meshes/ph_distal.obj
[2022-09-15 11:12:26] WARNING:yourdfpy.urdf:Can't find package://qb_hand_description/meshes/ph_distal.obj

The one if doesn't and should try is ``halodi-robot-models/qb_hand_description/...`.

@stephane-caron
Copy link
Contributor Author

stephane-caron commented Sep 15, 2022

This issue boils down to the following: when we do recursive traversal via

_create_filename_handlers_to_urdf_file_recursive(urdf_fname=dir)

all file handlers ultimately call filename_handler_ignore_directive_package, which drops the whole suffix package://packagename/.

In this instance, the URDF would load successfully if we also tried dropping package:// only and keeping packagename as a directory name.

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

No branches or pull requests

1 participant