gazebosim / gz-sim

Open source robotics simulator. The latest version of Gazebo.
https://gazebosim.org
Apache License 2.0
621 stars 251 forks source link

Unable to run test worlds for underwater simulation #2344

Closed sauk2 closed 2 months ago

sauk2 commented 3 months ago

Environment

Description

The test worlds for DopplerVelocityLogSystem plugin show a blank screen after launching. Specifically these files:

Steps to reproduce

The gz command is run with verbosity 2

  gz sim underwater_currents.sdf --verbose 2

Output

This is the screen that is seen. No change occurs after this.

Screenshot from 2024-03-28 01-10-14

Following is the generated log

[Wrn] [SdfEntityCreator.cc:800] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[Wrn] [SdfEntityCreator.cc:805] Custom material scripts are not supported.
[Wrn] [SdfEntityCreator.cc:800] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[Wrn] [SdfEntityCreator.cc:805] Custom material scripts are not supported.
[Wrn] [SdfEntityCreator.cc:800] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[Wrn] [SdfEntityCreator.cc:805] Custom material scripts are not supported.
[Wrn] [SdfEntityCreator.cc:800] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[Wrn] [SdfEntityCreator.cc:805] Custom material scripts are not supported.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:908] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
[Wrn] [Ogre2Camera.cc:421] Ogre2Camera::SetVisibilityMask: Mask bits c0000000 are set but will be ignored as they conflict with the reserved bits used internally by the ogre2 backend.
sauk2 commented 3 months ago

@azeey I noticed this while working on issue #2289. I have since found that adding SceneBroadcaster plugin to the SDF resolves this issue.

If you could confirm this issue is valid, I can raise a fix PR for the same.

azeey commented 3 months ago

Hi @sauk2 , those files are meant to be used for integration tests. They don't need the SceneBroadcaster because the tests don't need the GUI. Adding it will unnecessarily increase test time. Most of the SDFormat files there intentionally don't have the SceenBroadcaster or other systems that are normally essential. Instead of your fix in #2346, what we need is a README in the test/worlds directory to tell users not to use these files, but instead refer to the examples directory.

sauk2 commented 3 months ago

Hi @sauk2 , those files are meant to be used for integration tests. They don't need the SceneBroadcaster because the tests don't need the GUI. Adding it will unnecessarily increase test time. Most of the SDFormat files there intentionally don't have the SceenBroadcaster or other systems that are normally essential. Instead of your fix in #2346, what we need is a README in the test/worlds directory to tell users not to use these files, but instead refer to the examples directory.

I was not aware of that. Thanks for the clarification.

To my knowledge, there is no example usage of DopplerVelocityLogSystem present in the examples directory. Do you think it would be a good idea to provide one?

arjo129 commented 3 months ago

Yes @sauk2. Rather than adding it to the integration tests (which dont need visuals) create a new doppler velocity log example file.

sauk2 commented 3 months ago

Yes @sauk2. Rather than adding it to the integration tests (which dont need visuals) create a new doppler velocity log example file.

@arjo129 Understood. Will go ahead with that.

Should I add that README too as a part of that PR? If yes, then is there any additional information it should contain other than what is mentioned in the following comment?

Hi @sauk2 , those files are meant to be used for integration tests. They don't need the SceneBroadcaster because the tests don't need the GUI. Adding it will unnecessarily increase test time. Most of the SDFormat files there intentionally don't have the SceenBroadcaster or other systems that are normally essential. Instead of your fix in #2346, what we need is a README in the test/worlds directory to tell users not to use these files, but instead refer to the examples directory.

arjo129 commented 3 months ago

Yes thatd be great!!