diff --git a/Changelog.md b/Changelog.md index 45fa6ca3..48092eb6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,6 +1,54 @@ ## Gazebo Launch 8.x -### Gazebo Launch 8.0.0 (2024-XX-XX) +### Gazebo Launch 8.0.0 (2024-09-25) + +1. **Baseline:** this includes all changes from 7.1.0 and earlier. + +1. Fix crash and update launch file + * [Pull request #277](https://github.com/gazebosim/gz-launch/pull/277) + +1. Miscellaneous documentation fixes + * [Pull request #276](https://github.com/gazebosim/gz-launch/pull/276) + * [Pull request #275](https://github.com/gazebosim/gz-launch/pull/275) + * [Pull request #274](https://github.com/gazebosim/gz-launch/pull/274) + +1. Enable ubuntu noble on github actions, require cmake 3.22.1 + * [Pull request #272](https://github.com/gazebosim/gz-launch/pull/272) + +1. Remove deprecations + * [Pull request #271](https://github.com/gazebosim/gz-launch/pull/271) + +1. Fix libwebsocket shutdown behavior + * [Pull request #267](https://github.com/gazebosim/gz-launch/pull/267) + +1. Fix msvc loss of data warning + * [Pull request #266](https://github.com/gazebosim/gz-launch/pull/266) + +1. Remove indirect dependencies + * [Pull request #265](https://github.com/gazebosim/gz-launch/pull/265) + +1. Supress msvc dll exported interface warning + * [Pull request #263](https://github.com/gazebosim/gz-launch/pull/263) + +1. Fix windows warnings + * [Pull request #199](https://github.com/gazebosim/gz-launch/pull/199) + * [Pull request #250](https://github.com/gazebosim/gz-launch/pull/250) + +1. Disable failing Manager_Test on windows + * [Pull request #264](https://github.com/gazebosim/gz-launch/pull/264) + +1. Disable failing windows tests + * [Pull request #255](https://github.com/gazebosim/gz-launch/pull/255) + +1. Add package.xml, remove dependency on python3-yaml, and disable failing windows tests + * [Pull request #249](https://github.com/gazebosim/gz-launch/pull/249) + +1. Define GZ_LAUNCH_VERSION_NAMESPACE in config.hh + * [Pull request #247](https://github.com/gazebosim/gz-launch/pull/247) + +1. Bumps in Ionic: gz-launch8 + * [Pull request #236](https://github.com/gazebosim/gz-launch/pull/236) + * [Pull request #237](https://github.com/gazebosim/gz-launch/pull/237) ## Gazebo Launch 7.x diff --git a/README.md b/README.md index a8d593d2..485468b7 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,13 @@ Build | Status -- | -- -Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-launch/branch/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-launch/branch/main) +Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-launch/tree/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-launch/branch/main) Ubuntu Noble | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_launch-ci-main-noble-amd64)](https://build.osrfoundation.org/job/gz_launch-ci-main-noble-amd64) Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_launch-ci-main-homebrew-amd64)](https://build.osrfoundation.org/job/gz_launch-ci-main-homebrew-amd64) Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_launch-main-win)](https://build.osrfoundation.org/job/gz_launch-main-win) Gazebo Launch, a component of [Gazebo](https://gazebosim.org), provides a command line interface -to run and manager application and plugins. +to run and manage application and plugins. # Table of Contents @@ -27,8 +27,6 @@ to run and manager application and plugins. [Documentation](#documentation) -[Testing](#testing) - [Folder Structure](#folder-structure) [Contributing](#contributing) @@ -54,7 +52,7 @@ directory. # Install -See the [installation tutorial](https://gazebosim.org/api/launch/7/install.html). +See the [installation tutorial](https://gazebosim.org/api/launch/8/install.html). # Usage @@ -62,7 +60,7 @@ Sample launch configuration files are in the [examples directory](https://github **Example** -1. Run a configuration that launches [Gazebo](https://gazebosim.org/libs/gazebo). +1. Run a configuration that launches [Gazebo](https://gazebosim.org/libs/sim/). ``` gz launch sim.gzlaunch @@ -73,33 +71,18 @@ Sample launch configuration files are in the [examples directory](https://github 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. +A workaround is to define the environment variable +`GZ_CONFIG_PATH` to point to the different locations of the Gazebo libraries installations, +where the YAML files for the packages are found, such as ``` -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 +export GZ_CONFIG_PATH=/usr/local/share/gz:$HOME/ws/install/share/gz ``` -This issue is tracked [here](https://github.com/gazebosim/gz-tools/issues/8). +where `$HOME/ws` is an example colcon workspace used to build Gazebo # Documentation -See the [installation tutorial](https://gazebosim.org/api/launch/7/install.html). +See the [installation tutorial](https://gazebosim.org/api/launch/8/install.html). # Folder Structure diff --git a/examples/sim_plugins.gzlaunch b/examples/sim_plugins.gzlaunch index aae71c0b..13cd40ef 100644 --- a/examples/sim_plugins.gzlaunch +++ b/examples/sim_plugins.gzlaunch @@ -109,7 +109,6 @@ --> - @@ -120,77 +119,228 @@ :/qml/images/drawer.png - - - 3D View - false - docked - - - ogre2 - scene - 0.4 0.4 0.4 - 0.8 0.8 0.8 - -6 0 6 0 0.5 0 + + + + 3D View + false + docked + + ogre2 + scene + 0.4 0.4 0.4 + 0.8 0.8 0.8 + -6 0 6 0 0.5 0 + + + + + + floating + 5 + 5 + false + + + + + + false + 5 + 5 + floating + false + + + + + + false + 5 + 5 + floating + false + + + + + + false + 5 + 5 + floating + false + + + + + + false + 5 + 5 + floating + false + + + + + + false + 5 + 5 + floating + false + - - - World control - false - false - 72 - 121 - 1 - floating - - - - - + + + false + 5 + 5 + floating + false + + - true - true - true - /world/<%= worldName %>/control - /world/<%= worldName %>/stats + + + false + 5 + 5 + floating + false + + + + + + World control + false + false + 72 + 1 + floating + + + + + + true + true + true + true + - - World stats - false - false - 110 - 290 - 1 - - floating - - - - - - - true - true - true - true - /world/<%= worldName %>/stats + + World stats + false + false + 110 + 290 + 1 + floating + + + + + + true + true + true + true + + + + + + false + 0 + 0 + 250 + 50 + floating + false + #666666 + + + + + + + false + 250 + 0 + 150 + 50 + floating + false + #666666 + + + + + + + false + 0 + 50 + 250 + 50 + floating + false + #777777 + + + + + + + false + 250 + 50 + 50 + 50 + floating + false + #777777 + + + + + + + false + 300 + 50 + 100 + 50 + floating + false + #777777 + + + + + + + false + docked + - - Entity tree - + + false + docked + - - - /world/<%= worldName %>/gui/transform_mode - + diff --git a/src/Manager.cc b/src/Manager.cc index 5ff73c00..764adf87 100644 --- a/src/Manager.cc +++ b/src/Manager.cc @@ -1140,8 +1140,9 @@ void ManagerPrivate::LoadPlugin(const tinyxml2::XMLElement *_elem) << "] File[" << file << "]" << std::endl; PluginPtr plugin = loader.Instantiate(name); - if (plugin->QueryInterface()->Load(_elem)) - this->plugins.insert(plugin); + if (!plugin->QueryInterface()->Load(_elem)) + gzerr << "Unable to load " << name << std::endl; + this->plugins.insert(plugin); } ////////////////////////////////////////////////// diff --git a/tutorials/tutorial.md b/tutorials/tutorial.md index 74dce4cb..7824eb12 100644 --- a/tutorials/tutorial.md +++ b/tutorials/tutorial.md @@ -26,7 +26,7 @@ Every script starts with these two tags, which specify the `xml` version and `gz We can run multiple commands from one file. -Take a look at the [sim.gzlaunch](../examples/sim.gzlaunch) launch file. This script runs the Gazebo `server` and Gazebo `client`. We need to just write the command in the `command` tag. +Take a look at the [sim.gzlaunch](https://github.com/gazebosim/gz-launch/blob/gz-launch8/examples/sim.gzlaunch) launch file. This script runs the Gazebo `server` and Gazebo `client`. We need to just write the command in the `command` tag. ```xml @@ -36,11 +36,11 @@ Take a look at the [sim.gzlaunch](../examples/sim.gzlaunch) launch file. This sc ## Spawn a robot into simulation with plugins -Now take a look at the [factory.gzlaunch](../examples/factory.gzlaunch) launch file. We defined a `SimFactory` plugin under which we included an `X2 UGV` robot and added the `DiffDrive` plugin to control the robot. We also added the `StatePublisher` plugin which publishes the the robot state information. +Now take a look at the [factory.gzlaunch](https://github.com/gazebosim/gz-launch/blob/gz-launch8/examples/factory.gzlaunch) launch file. We defined a `SimFactory` plugin under which we included an `X2 UGV` robot and added the `DiffDrive` plugin to control the robot. We also added the `StatePublisher` plugin which publishes the robot state information. ## Launch simulation with plugins in separate processes -The [sim_plugins.gzlaunch](../examples/sim_plugins.gzlaunch) launch file loads some plugins +The [sim_plugins.gzlaunch](https://github.com/gazebosim/gz-launch/blob/gz-launch8/examples/sim_plugins.gzlaunch) launch file loads some plugins and also starts simulation. The `joystick` plugin will be launched in its own process and will read from a joystick device and output data onto a topic. The `JoyToTwist` plugin also launches into a separate process and transforms a `joystick` message to a