Skip to content

Absolute file URIs for Gazebo and Ignition simulations break visualization on remote machine #53

Description

@danzimmerman

I'm trying to work with https://github.com/UniversalRobots/Universal_Robots_ROS2_Gazebo_Simulation/ to look into Issue #19

Expected Behavior

After I launch the Gazebo simulation on one computer, I can visualize the robot in RViz on another computer on the same network, similar to the behavior I see with ur_robot_driver.

Actual Behavior

Robot meshes are not visible in RViz on a remote machine because the mesh URIs in /robot_description are not package:/// URIs. Instead, they refer to concrete absolute paths as file:/// URIs on the simulation machine.

RViz Remote Machine Error Messages

Details
(humble) C:\code\ros>rviz2
[INFO] [1679095199.819414600] [rviz2]: Stereo is NOT SUPPORTED
[INFO] [1679095199.819629000] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[INFO] [1679095199.845461900] [rviz2]: Stereo is NOT SUPPORTED
[ERROR] [1679095199.989519200] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/base.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/base.dae".
[ERROR] [1679095199.989995100] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/base.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/base.dae".
[ERROR] [1679095199.990281000] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/base.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/base.stl
[ERROR] [1679095199.990584900] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/base.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/base.stl
[ERROR] [1679095199.991204100] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/forearm.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/forearm.dae".
[ERROR] [1679095199.991436000] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/forearm.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/forearm.dae".
[ERROR] [1679095199.991629000] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/forearm.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/forearm.stl
[ERROR] [1679095199.991836800] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/forearm.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/forearm.stl
[ERROR] [1679095199.992135200] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/shoulder.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/shoulder.dae".
[ERROR] [1679095199.992327500] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/shoulder.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/shoulder.dae".
[ERROR] [1679095199.992489000] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/shoulder.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/shoulder.stl
[ERROR] [1679095199.992652400] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/shoulder.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/shoulder.stl
[ERROR] [1679095199.992936600] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/upperarm.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/upperarm.dae".
[ERROR] [1679095199.993132700] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/upperarm.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/upperarm.dae".
[ERROR] [1679095199.993289100] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/upperarm.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/upperarm.stl
[ERROR] [1679095199.993527100] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/upperarm.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/upperarm.stl
[ERROR] [1679095199.993817200] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist1.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist1.dae".
[ERROR] [1679095199.994040100] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist1.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist1.dae".
[ERROR] [1679095199.994196200] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/wrist1.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/wrist1.stl
[ERROR] [1679095199.994339600] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/wrist1.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/wrist1.stl
[ERROR] [1679095199.994569800] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist2.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist2.dae".
[ERROR] [1679095199.994753800] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist2.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist2.dae".
[ERROR] [1679095199.994912800] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/wrist2.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/wrist2.stl
[ERROR] [1679095199.995050100] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/wrist2.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/wrist2.stl
[ERROR] [1679095199.995277700] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist3.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist3.dae".
[ERROR] [1679095199.995455600] [rviz2]: Could not load resource [file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist3.dae]: Unable to open file "file:///concrete/path/to/ur_description/meshes/ur5e/visual/wrist3.dae".
[ERROR] [1679095199.995606200] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/wrist3.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/wrist3.stl
[ERROR] [1679095199.995744300] [rviz2]: Error retrieving file [file:///concrete/path/to/ur_description/meshes/ur5e/collision/wrist3.stl]: Couldn't open file /concrete/path/to/ur_description/meshes/ur5e/collision/wrist3.stl
...

/tf transforms and other topics are not a problem:

image

Details

This behavior is clearly intentional, per force_abs_paths here:

https://github.com/UniversalRobots/Universal_Robots_ROS2_Description/blob/ros2/urdf/ur_macro.xacro#L99

I suppose this is necessary for the URDF -> SDF conversion process to spawn the model in Gazebo Classic or Gazebo (Ignition flavor), like here, but it does break other uses of /robot_description.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions