osrf / subt

This repostory contains software for the virtual track of the DARPA SubT Challenge. Within this repository you will find Gazebo simulation assets, ROS interfaces, support scripts and plugins, and documentation needed to compete in the SubT Virtual Challenge.
Other
309 stars 97 forks source link

Cloudsim Playback Visualization Issue (X3 only) #188

Closed osrf-migration closed 5 years ago

osrf-migration commented 5 years ago

Original report (archived issue) by Arthur Schang (Bitbucket: Arthur Schang).

The original report had attachments: Screenshot_from_2019-09-18_10-43-24.png, Screenshot_from_2019-09-18_10-47-16.png


I am experiencing the following errors and visualization issues when attempting to playback a Cloudsim Log file including an X3 vehicle in configuration 1:

[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/x3.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/x3.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/x3.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/x3.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/x3.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/x3.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: base_link_inertia_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: marker_visual_1
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: downward_flashlight_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: left_flashlight_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: marker_visual_2
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/spotlight.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: right_flashlight_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/led.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: marker_visual_3
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: rotor_0_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_ccw.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: rotor_1_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: rotor_2_visual
[GUI] [Err] [SystemPaths.cc:434] File [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae] resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae] but the path does not exist
[GUI] [Err] [MeshManager.cc:172] Unable to find file[file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [MeshDescriptor.cc:56] Mesh manager can't find mesh named [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:430] Cannot load null mesh [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [Ogre2MeshFactory.cc:72] Failed to get Ogre item for [file:///home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae]
[GUI] [Err] [SceneManager.cc:271] Failed to load geometry for visual: rotor_3_visual

I’ve tested launching the same setup locally with both a fully updated osrf/subt-virtual-testbed:latest image and a fully updated locally built subt_shell docker image using the commands ./run.bash osrf/subt-virtual-testbed tunnel_circuit_practice.ign robotName1:=alpha robotConfig1:=X1_SENSOR_CONFIG_1 robotName2:=bravo robotConfig2:=X2_SENSOR_CONFIG_1 robotName3:=charlie robotConfig3:=X3_SENSOR_CONFIG_1 robotName4:=delta robotConfig4:=X4_SENSOR_CONFIG_1 and ign launch tunnel_circuit_practice.ign robotName1:=alpha robotConfig1:=X1_SENSOR_CONFIG_1 robotName2:=bravo robotConfig2:=X2_SENSOR_CONFIG_1 robotName3:=charlie robotConfig3:=X3_SENSOR_CONFIG_1 robotName4:=delta robotConfig4:=X4_SENSOR_CONFIG_1 respectively with both being able to successfully visualize the X3 without any errors (as shown in the screenshot below) but when playing back the log file from Cloudsim on the subt_shell image I am encountering these errors.

I have tried clearing my ignition models and re-downloading but I have experienced the same result. For clarification in the screenshots, the X3 is shown as a small white box as opposed to a quadrotor.

osrf-migration commented 5 years ago

Original comment by Arthur Schang (Bitbucket: Arthur Schang).


osrf-migration commented 5 years ago

Original comment by Arthur Schang (Bitbucket: Arthur Schang).


osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


osrf-migration commented 5 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


The problem is that the models are stored in the /home/developer directory in docker, and resource URIs in the model use absolute paths. This is part of the reason for https://bitbucket.org/ignitionrobotics/ign-gazebo/pull-requests/397.

You have two options for playback:

  1. Create a /home/developer directory and put all the necessary models in the /home/developer/.ignition/fuel/... directory.
  2. Playback log files from the subt docker image.
osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


osrf-migration commented 5 years ago

Original comment by Arthur Schang (Bitbucket: Arthur Schang).


Actually, I’m running this from inside the subt_docker image so my models are actually in /home/developer/.ignition… . It turns out there’s actually a different problem:

The log file states an error for:

[GUI] [Err] [SystemPaths.cc:434] .... resolved to path [/home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/4//meshes/propeller_cw.dae] but the path does not exist

My directory looks like this though: /home/developer/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1/5/...

The difference is in “/X3 UAV Config 1/4/…” to “/X3 UAV Config 1/5/…”

So where is the difference between 4 and 5 coming from? Is it a version download? I built this image from a Dockerfile with ign download commands ending in “-v 4”

Even more confusing is that I just ran:

ign fuel download --url "https://fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1" -v 4
ign fuel download --url "https://fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 2" -v 4
ign fuel download --url "https://fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 3" -v 4
ign fuel download --url "https://fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 4" -v 4

and a new directory “/X3 UAV Config 1/6/…” was populated with models and “/X3 UAV Config 1/4/…” is still nowhere to be found. I can probably fix my immediate problem by just moving the models but this issue might occur for people down the line if Ignition does not search for other numbered directories following the platform name.

Alfredo is probably correct to mark this as an enhancement, or at the very least a trivial bug, because it only affects the meshes.

osrf-migration commented 5 years ago

Original comment by Arthur Schang (Bitbucket: Arthur Schang).


Update: copying the <vehicle config>/5/... to <vehicle_config>/4/... did solve my issue. I’ll mark this as resolved but I think that this should be reviewed later on as an enhancement to check for other <vehicle_config>/#/… directories as a fallback if the desired one is not present and issue a series of warnings as opposed to errors if the specified directory # is fluid as opposed to a specific model version. However if this directory number is supposed to be a specific version and commands such as ign fuel download --url "https://fuel.ignitionrobotics.org/openrobotics/models/X3 UAV Config 1" -v 4 can resolve this issue, I believe this is a non-issue.

osrf-migration commented 5 years ago

Original comment by Arthur Schang (Bitbucket: Arthur Schang).


Check previous posts.

osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


@azeey pointed out this:

osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).