You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 24, 2025. It is now read-only.
From https://github.com/rerun-io/rerun-loader-python-example-urdf/blob/main/rerun_loader_urdf.py#L202 it seems that a URDF with package:// URIs will fail. However, the only thing that is needed to actually solve package:// URIs is to know which directories contain the package data (and this directories are typically some variants of <install_prefix>/share or similar. So, it is quite common for library that supports URDFs to be able to load URDFs with package:// with ROS, mainly with two possible strategies (more details and links in gbionics/idyntree#291):
Look manually in the environment variables used by ROS and Gazebo, for example AMENT_PREFIX_PATH and ROS_PACKAGE_PATH. We have a pure python library that implements this logic in https://github.com/ami-iit/resolve-robotics-uri-py (available in both PyPI and conda-forge), and could be used as a fallback if resolve_ros1_package or resolve_ros2_package fail (to avoid interfering with existing working use cases).
Would you be open to a PR adding this functionalities of loading package:// URIs without the need of having ROS installed? Thanks in advance!
From https://github.com/rerun-io/rerun-loader-python-example-urdf/blob/main/rerun_loader_urdf.py#L202 it seems that a URDF with
package://URIs will fail. However, the only thing that is needed to actually solvepackage://URIs is to know which directories contain the package data (and this directories are typically some variants of<install_prefix>/shareor similar. So, it is quite common for library that supports URDFs to be able to load URDFs withpackage://with ROS, mainly with two possible strategies (more details and links in gbionics/idyntree#291):package://URIs (see for example https://github.com/robot-descriptions/robot_descriptions.py/blob/380aa5a4d8c81c48ab152f74e9cff523f4d5562a/robot_descriptions/loaders/pinocchio.py#L59). This can be specified as options to the loader command.AMENT_PREFIX_PATHandROS_PACKAGE_PATH. We have a pure python library that implements this logic in https://github.com/ami-iit/resolve-robotics-uri-py (available in both PyPI and conda-forge), and could be used as a fallback ifresolve_ros1_packageorresolve_ros2_packagefail (to avoid interfering with existing working use cases).Would you be open to a PR adding this functionalities of loading
package://URIs without the need of having ROS installed? Thanks in advance!Just as an example, this would permit to be able to use models installed by non-ROS packages such as https://github.com/robotology/icub-models or https://github.com/robot-descriptions/robot_descriptions.py .