launch#

Gazebo Launch : Run and manage programs and plugins

Maintainer: nate AT openrobotics DOT org

GitHub open issues GitHub open pull requests Discourse topics Hex.pm

Build

Status

Test coverage

codecov

Ubuntu Jammy

Build Status

Homebrew

Build Status

Windows

Build Status

Gazebo Launch, a component of Gazebo, provides a command line interface to run and manager application and plugins.

Table of Contents

Features

Install

Usage

Documentation

Testing

Folder Structure

Contributing

Code of Conduct

Versioning

License

Features

Gazebo Launch is used to run and manage plugins and programs. A configuration script can be used to specify which programs and plugins to execute. Alternatively, individual programs and plugins can be run from the command line. Example configuration scripts are located in the examples directory.

  1. Automatic ERB parsing of configuration files.

  2. Pass arguments to launch files from the command line.

  3. Plugins to launch Gazebo Sim, joystick interface, and a websocket server for simulation.

Install

See the installation tutorial.

Usage

Sample launch configuration files are in the examples directory.

Example

  1. Run a configuration that launches Gazebo.

    gz launch sim.gzlaunch
    

Known issue of command line tools

In the event that the installation is a mix of Debian and from source, command line tools from gz-tools may not work correctly.

A workaround for a single package is to define the environment variable GZ_CONFIG_PATH to point to the location of the Gazebo library installation, where the YAML file for the package is found, such as

export GZ_CONFIG_PATH=/usr/local/share/gz

However, that environment variable only takes a single path, which means if the installations from source are in different locations, only one can be specified.

Another workaround for working with multiple Gazebo libraries on the command line is using symbolic links to each library’s YAML file.

mkdir ~/.gz/tools/configs -p
cd ~/.gz/tools/configs/
ln -s /usr/local/share/gz/fuel4.yaml .
ln -s /usr/local/share/gz/transport7.yaml .
ln -s /usr/local/share/gz/transportlog7.yaml .
...
export GZ_CONFIG_PATH=$HOME/.gz/tools/configs

This issue is tracked here.

Documentation

See the installation tutorial.

Folder Structure

Refer to the following table for information about important directories and files in this repository.

gz-launch
├── examples                 Example launch configurations.
├── include/gz/launch  Header files.
├── plugins                  Launch plugins, one per subdirectory.
├── src                      Source files and unit tests.
├── test
│    ├── integration         Integration tests.
│    ├── performance         Performance tests.
│    └── regression          Regression tests.
├── tools                    Some useful tools such as linters
├── tutorials                Tutorials
├── Changelog.md             Changelog.
└── CMakeLists.txt           CMake build script.

Contributing

Please see the contribution guide.

Code of Conduct

Please see CODE_OF_CONDUCT.md.

Versioning

This library uses Semantic Versioning. Additionally, this library is part of the Gazebo project which periodically releases a versioned set of compatible and complimentary libraries. See the Gazebo website for version and release information.

License

This library is licensed under Apache 2.0. See also the LICENSE file.

Gazebo Launch 7.x

Gazebo Launch 7.1.0 (2024-04-11)

  1. Use relative install paths for plugin shared libraries and gz-tools data

  2. Fix bug where address of local variable was returned

  3. Add optional binary relocatability

  4. Fix windows warnings

  5. Update CI badges in README

  6. Infrastructure

Gazebo Launch 7.0.0 (2023-09-29)

  1. Documentation fixes

  2. Infrastructure

  3. ign -> gz

  4. Bump Harmonic dependencies: fuel-tools, gui, physics, rendering, sdformat , sensors, sim, transport, and msgs

  5. ⬆️ Bump main to 7.0.0~pre1

Gazebo Launch 6.x

Gazebo Launch 6.1.0 (2023-09-26)

  1. Infrastructure

  2. Rename COPYING to LICENSE

  3. Small cleanup fixes

  4. Add pause and stop to Websocket Server

  5. Fix gz_test when using a CMake generator different from make

  6. Return a message on asset error

  7. Remove redundant namespace references

Gazebo Launch 6.0.0

  1. Fix macOs compiler error.

  2. Update to latest gtest.

  3. Ignition to Gazebo renaming

  4. Fix msgs header usage.

  5. Version bumps and removal of deprecations

Gazebo Launch 5.x

Gazebo Launch 5.3.0 (2023-06-14)

  1. Forward ports

  2. Infrastructure

  3. Rename COPYING to LICENSE

  4. Small cleanup fixes

  5. Add pause and stop to Websocket Server

  6. Return a message on asset error

  7. Remove redundant namespace references

Gazebo Launch 5.2.0 (2022-08-16)

  1. Add code coverage ignore file

  2. Change IGN_DESIGNATION to GZ_DESIGNATION

  3. fix ign_TEST for Fortress

  4. Ignition -> Gazebo

  5. Bash completion for flags

  6. Adds ability to get a file from a running Gazebo instance

  7. Add Ubuntu Jammy CI

  8. Depend on python3-yaml instead of python-yaml

Gazebo Launch 5.x

Gazebo Launch 5.1.0 (2022-03-21)

  1. Use exec instead of popen to run gz-launch binary

  2. Expose headless_rendering sdf tag

  3. Remove spammy CMake message

Gazebo Launch 5.0.0 (2021-10-01)

  1. Port gz-launch to Windows

  2. Add standalone executables

  3. Remove unused includes (fix build)

  4. Bumps dependencies for fortress

  5. Infrastructure

Gazebo Launch 4.x

Gazebo Launch 4.X.X (20XX-XX-XX)

Gazebo Launch 4.1.0 (2021-10-14)

  1. All changes included in Gazebo Launch 3.4.2.

Gazebo Launch 4.0.0 (2021-03-30)

  1. Bump in edifice: gz-common4

  2. Bump in edifice: sdformat11

  3. Bump in edifice: gz-msgs7

  4. Bump in edifice: gz-rendering5

Gazebo Launch 3.x

Gazebo Launch 3.4.2 (2021-10-14)

  1. All changes included in Gazebo Launch 2.2.2.

Gazebo Launch 3.4.1 (2021-07-15)

  1. Generate a better error websocket error code for max_connections.

Gazebo Launch 3.4.0 (2021-06-09)

  1. Extend websocket server to support message limits and throttling.

Gazebo Launch 3.3.0 (2021-05-06)

  1. Convert depth and thermal image data to RGB before sending over websockets

Gazebo Launch 3.2.1 (2021-04-19)

  1. Add header to image msg.

Gazebo Launch 3.2.0 (2021-04-12)

  1. Support unsubscribing from a topic in the websocket server.

  2. Support particle_emitters in the websocket server.

  3. Support getting topic names and message types in the websocket server.

  4. Image streaming over websocket.

  5. Treat GZ_LAUNCH_CONFIG_PATH as a path list.

Gazebo Launch 3.1.1 (2021-01-08)

  1. All changes up to and including those in version 2.2.1.

Gazebo Launch 3.1.0 (2020-12-10)

  1. All changes up to and including those in version 2.2.0.

Gazebo Launch 3.0.0 (2020-09-30)

  1. Migration from BitBucket to GitHub

  2. Add PKGCONFIG information to gz-tools gz_find_package

  3. Depend on gz-msgs6, gz-transport9

  4. Depend on gz-sim4, gz-gui4

Gazebo Launch 2.x

Gazebo Launch 2.3.1 (2024-01-05)

  1. Small cleanup fixes

  2. Infrastructure

Gazebo Launch 2.3.0 (2022-08-15)

  1. Remove redundant namespace references

  2. Add code coverage ignore file

  3. Change IGN_DESIGNATION to GZ_DESIGNATION

  4. Ignition -> Gazebo

  5. Bash completion for flags

Gazebo Launch 2.2.2 (2021-10-11)

  1. Master branch updates.

  2. Treat GZ_LAUNCH_CONFIG_PATH as a path list.

  3. Remove tools/code_check and update codecov.

  4. Update gtest for Windows compilation.

  5. Remove bitbucket-pipelines.yml.

Gazebo Launch 2.2.1 (2021-01-08)

  1. Fix env parsing by placing it before executable parsing.

Gazebo Launch 2.2.0 (2020-10-14)

  1. All changes up to and including those in version 1.10.0

  2. Added a tutorial.

Gazebo Launch 2.1.0 (2020-05-21)

  1. Merged gz-launch1 forward.

Gazebo Launch 2.0.0

  1. Use Gazebo Citadel dependencies.

  2. Allow specifying a custom window title instead of “Gazebo”

  3. Unversioned lib name for cmds

Gazebo Launch 1.x

Gazebo Launch 1.X.X (20XX-XX-XX)

Gazebo Launch 1.10.1 (2020-12-23)

  1. Fix codecheck

  2. Fix race condition in websocket server

Gazebo Launch 1.10.0 (2020-09-25)

  1. Add PKGCONFIG information to gz-tools gz_find_package

  2. Fix factory.gzlaunch launch file

  3. Use random name for manager semaphore

  4. Add support for specifying topics to record

  5. Fix race condition in websocket server.

Gazebo Launch 1.9.0 (2020-08-13)

  1. Added HTTP handling support to websocket server and a metrics HTTP endpoint to monitor websocket server status.

Gazebo Launch 1.8.0 (2020-07-28)

  1. Added <max_connections> to the websocket server that supports specifying the maximum allowed websocket connections.

Gazebo Launch 1.7.1 (2020-06-23)

  1. Improve websocket performance by throttling the busy loop, and fix empty SSL XML elements.

Gazebo Launch 1.7.0 (2020-06-16)

  1. Added SSL to websocket server.

Gazebo Launch 1.6.0 (2020-06-11)

  1. Improved websockets by: adding simple authentication, access to protobuf message definitions, access to scene and world information, and definition of custom message framing.

Gazebo Launch 1.5.0 (2020-05-20)

  1. Added support for spawning multiple entities in the same simulation step.

Gazebo Launch 1.4.2 (2020-05-18)

  1. Use the new GUI API of gz-sim. This adds support for saving worlds to SDFormat from the GUI.

Gazebo Launch 1.4.1 (2019-12-05)

  1. Unversioned lib name for cmds

Gazebo Launch 1.4.0 (2019-11-26)

  1. Default GUI config for Launch

Gazebo Launch 1.3.0 (2019-11-13)

  1. Add filepath to ERB so that constants like __FILE__ in .gzlaunch files work as expected

  2. Add backward support to gz-launch to capture backtraces.

Gazebo Launch 1.2.3 (2019-09-09)

  1. Add QML import path to IgnGazebo modules.

Gazebo Launch 1.2.2

  1. Add support for console logging.

  2. Support setting custom window icons.

Gazebo Launch 1.2.1

  1. Eliminate potential deadlock from SIGCHLD signal handler

Gazebo Launch 1.2.0

  1. Support for custom random seed in the SimServer plugin.

  2. Allow specifying a custom window title

Gazebo Launch 1.1.0 (2019-06-11)

  1. Added command line parameters of the form :=. These parameters are passed to ERB.

Gazebo Launch 1.0.1 (2019-05-22)

  1. Fix SimFactory set performer topic

Gazebo Launch 1.0.0 (2019-05-21)

  1. Enable logging with <record> tag in gz launch file.

  2. Fix gazebo gui to use GuiRunner.

  3. Fix parsing positional argument to gz tool.

  4. Added world stats to Websocket server.

  5. Change project name to ignition-launch1.

  6. Depend on gazebo2, gui2, msgs4, transport7.

  7. Added Websocket server.

Gazebo Launch 0.x

  1. Install examples folder.

Gazebo Launch 0.2.0