Pure Python package (that only depends on Python stdlib) to resolve a package:// (ROS-style) or model:// (Gazebo-style) URI to an absolute filename.
Install using onle one of the following commands to install in an existing environment:
mamba install -c conda-forge resolve-robotics-uri-py
python -m pip install resolve-robotics-uri-py
Add import resolve_robotics_uri_py
to your Python file, then take inspiration from the following examples.
If you want to get the location of the iCubGazeboV2_7
iCub model installed from icub-models
:
absolute_path = resolve_robotics_uri_py.resolve_robotics_uri("package://iCub/robots/iCubGazeboV2_7/model.urdf")
If you want to get the location of the ergoCubSN00
model installed from ergocub-software
:
absolute_path = resolve_robotics_uri_py.resolve_robotics_uri("package://ergoCub/robots/ergoCubSN000/model.urdf")
If you want to get the location of the panda
model installed by moveit_resources_panda_description
:
absolute_path = resolve_robotics_uri_py.resolve_robotics_uri("package://moveit_resources_panda_description/urdf/panda.urdf")
resolve_robotics_uri_py
also install a command line tool called resolve-robotics-uri-py
for use in scripts, that can be used as:
resolve-robotics-uri-py package://iCub/robots/iCubGazeboV2_7/model.urdf
For example, on bash this can be used to easily convert the a urdf specified via package://
to an sdf (assuming you have Gazebo installed), using the backtick operator:
gz sdf -p `resolve-robotics-uri-py package://iCub/robots/iCubGazeboV2_7/model.urdf`
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.