Skip to content

Keep Gazebo server running without GUI - #67

Open
yeseorizi wants to merge 1 commit into
IOES-Lab:ros2from
yeseorizi:fix/headless-launch-semantics-20260910
Open

Keep Gazebo server running without GUI#67
yeseorizi wants to merge 1 commit into
IOES-Lab:ros2from
yeseorizi:fix/headless-launch-semantics-20260910

Conversation

@yeseorizi

Copy link
Copy Markdown
Collaborator

Summary

Keep the Gazebo server and entity spawning active when DAVE is launched without the GUI.

Problem

The top-level robot, sensor, and object launch files conditioned the entire Gazebo include on gui. As a result, gui:=false disabled not only the GUI client but also the simulation server. Spawn actions then waited for a world that did not exist.

Some child upload launch files also conditioned entity creation on headless, which prevented models from being inserted in valid server-only runs.

Changes

  • Always include the Gazebo launch description.
  • Run Gazebo in server-only mode when either headless:=true or gui:=false.
  • Remove child conditions that prevented object and sensor creation in headless mode.
  • Apply the same behavior consistently to robot, sensor, and object entry points.

Validation

Rebased onto ros2 after PR #65 and rebuilt the affected packages in an ARM64 Lyrical / Jetty container.

The following four cases passed:

  1. Object: gui:=false headless:=false
  2. Object: gui:=false headless:=true
  3. DVL sensor: gui:=false headless:=true
  4. RexROV robot: gui:=false headless:=true

Every case reported:

ready=true
server_count=1
gui_count=0
model_count=1

pre-commit run --all-files also passed.

Signed-off-by: yeseorizi <172019512+yeseorizi@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant