Skip to content

Commit

Permalink
6 ➡️ 7 (main) - part 2
Browse files Browse the repository at this point in the history
Signed-off-by: Louise Poubel <[email protected]>
  • Loading branch information
chapulina committed Aug 5, 2022
2 parents 0516e5a + f39bc25 commit f8733fa
Show file tree
Hide file tree
Showing 52 changed files with 1,804 additions and 472 deletions.
1 change: 1 addition & 0 deletions .github/ci/packages.apt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ libxi-dev
libxmu-dev
python3-distutils
python3-pybind11
python3-pytest
qml-module-qt-labs-folderlistmodel
qml-module-qt-labs-settings
qml-module-qtqml-models2
Expand Down
131 changes: 131 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,137 @@

## Gazebo Sim 6.x

### Gazebo Sim 6.10.0 (2022-06-24)

1. Expose the ability to stop a server from C++
* [Pull request #1551](https://github.com/gazebosim/gz-sim/pull/1551)

1. Fix various Protobuf Windows warnings
* [Pull request #1299](https://github.com/gazebosim/gz-sim/pull/1299)

1. New service for adding systems to an entity
* [Pull request #1524](https://github.com/gazebosim/gz-sim/pull/1524)

1. Added particle emitters to scene broadcaster
* [Pull request #1516](https://github.com/gazebosim/gz-sim/pull/1516)

1. Use more `sdf::Plugin` instead of `sdf::ElementPtr`
* [Pull request #1352](https://github.com/gazebosim/gz-sim/pull/1352)

1. Depend on common 4.5.1
* [Pull request #1547](https://github.com/gazebosim/gz-sim/pull/1547)

1. Update README links
* [Pull request #1546](https://github.com/gazebosim/gz-sim/pull/1546)

1. Add bounding boxes into the label system plugin
* [Pull request #1040](https://github.com/gazebosim/gz-sim/pull/1040)

1. Odometry publisher: also publish `Pose_V` (TF)
* [Pull request #1534](https://github.com/gazebosim/gz-sim/pull/1534)

1. Fix clang warning from Thruster plugin
* [Pull request #1540](https://github.com/gazebosim/gz-sim/pull/1540)

1. Fix locks in Visualize Lidar GUI plugin
* [Pull request #1538](https://github.com/gazebosim/gz-sim/pull/1538)

1. Bash completion for flags
* [Pull request #1504](https://github.com/gazebosim/gz-sim/pull/1504)

1. Fix sensors battery state test
* [Pull request #1529](https://github.com/gazebosim/gz-sim/pull/1529)

1. Add new `GZ_GUI_RESOURCE_PATH` to help message
* [Pull request #1470](https://github.com/gazebosim/gz-sim/pull/1470)

1. Fix regression with camera sensors not using the background color set in `<scene>`
* [Pull request #1515](https://github.com/gazebosim/gz-sim/pull/1515)

1. Check RGBD camera sensor connection
* [Pull request #1513](https://github.com/gazebosim/gz-sim/pull/1513)

1. Optimize sensor updates
* [Pull request #1480](https://github.com/gazebosim/gz-sim/pull/1480)

1. System inspector GUI widget
* [Pull request #1404](https://github.com/gazebosim/gz-sim/pull/1404)

1. Scene update resource finder
* [Pull request #1508](https://github.com/gazebosim/gz-sim/pull/1508)

1. Updating hydrodynamics plugin description
* [Pull request #1502](https://github.com/gazebosim/gz-sim/pull/1502)

1. Makes thruster stop when battery runs out.
* [Pull request #1495](https://github.com/gazebosim/gz-sim/pull/1495)

1. Fix Documentation Header.
* [Pull request #1501](https://github.com/gazebosim/gz-sim/pull/1501)

1. Adding rssi
* [Pull request #1482](https://github.com/gazebosim/gz-sim/pull/1482)

1. Delete unused gazebo.hh.in
* [Pull request #1490](https://github.com/gazebosim/gz-sim/pull/1490)

1. :books: Fixed broken URL link to gazebo documentation
* [Pull request #1486](https://github.com/gazebosim/gz-sim/pull/1486)

1. View polyline collisions on the GUI
* [Pull request #1481](https://github.com/gazebosim/gz-sim/pull/1481)

1. Extruded 2D polyline geometries
* [Pull request #1456](https://github.com/gazebosim/gz-sim/pull/1456)

1. Fix fuel url
* [Pull request #1479](https://github.com/gazebosim/gz-sim/pull/1479)

1. Camera trigger integration test
* [Pull request #1384](https://github.com/gazebosim/gz-sim/pull/1384)

1. Extend Multicoptor Control system to include nested model inertial params
* [Pull request #1450](https://github.com/gazebosim/gz-sim/pull/1450)

1. Remove dead ign.cc file
* [Pull request #1474](https://github.com/gazebosim/gz-sim/pull/1474)

1. Test case to check if velocity limits are applied to joints
* [Pull request #1445](https://github.com/gazebosim/gz-sim/pull/1445)

1. SceneBroadcaster: Use double for state publish frequency instead of int
* [Pull request #1417](https://github.com/gazebosim/gz-sim/pull/1417)

1. Revert format change
* [Pull request #1468](https://github.com/gazebosim/gz-sim/pull/1468)

1. Fix finding DART on macOS
* [Pull request #1469](https://github.com/gazebosim/gz-sim/pull/1469)

1. Skip serializing nested model with `//pose/@relative_to` attribute
* [Pull request #1454](https://github.com/gazebosim/gz-sim/pull/1454)

1. Fix running simulation with no world specified on the command line
* [Pull request #1463](https://github.com/gazebosim/gz-sim/pull/1463)

1. Add repo specific issue templates
* [Pull request #1461](https://github.com/gazebosim/gz-sim/pull/1461)

1. python: release GIL when running server
* [Pull request #1458](https://github.com/gazebosim/gz-sim/pull/1458)

1. python: remove semicolons
* [Pull request #1459](https://github.com/gazebosim/gz-sim/pull/1459)

1. Bump rendering dependency version
* [Pull request #1455](https://github.com/gazebosim/gz-sim/pull/1455)

1. Improve contact sensor / visualization performance
* [Pull request #1452](https://github.com/gazebosim/gz-sim/pull/1452)

1. Set simulation time to Rendering
* [Pull request #1415](https://github.com/gazebosim/gz-sim/pull/1415)

### Gazebo Sim 6.9.0 (2022-04-14)

1. Add new `RFComms` system
Expand Down
50 changes: 49 additions & 1 deletion include/gz/sim/Conversions.hh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include <gz/msgs/light.pb.h>
#include <gz/msgs/material.pb.h>
#include <gz/msgs/particle_emitter.pb.h>
#include <gz/msgs/plugin.pb.h>
#include <gz/msgs/plugin_v.pb.h>
#include <gz/msgs/physics.pb.h>
#include <gz/msgs/scene.pb.h>
Expand All @@ -41,7 +42,6 @@
#include <gz/common/Console.hh>
#include <gz/math/AxisAlignedBox.hh>
#include <gz/math/Inertial.hh>
#include <gz/math/Pose3.hh>
#include <sdf/Actor.hh>
#include <sdf/Atmosphere.hh>
#include <sdf/Collision.hh>
Expand Down Expand Up @@ -745,6 +745,54 @@ namespace gz
/// \return Plugin message.
template<>
msgs::Plugin convert(const sdf::Plugin &_in);

/// \brief Generic conversion from an SDF plugins to another type.
/// \param[in] _in SDF plugins.
/// \return Conversion result.
/// \tparam Out Output type.
template<class Out>
Out convert(const sdf::Plugins &/*_in*/)
{
Out::ConversionNotImplemented;
}

/// \brief Specialized conversion from an SDF plugins to a plugin_v message.
/// \param[in] _in SDF plugins.
/// \return Plugin_V message.
template<>
msgs::Plugin_V convert(const sdf::Plugins &_in);

/// \brief Generic conversion from a msgs::Plugin to another type.
/// \param[in] _in msgs::Plugin.
/// \return Conversion result.
/// \tparam Out Output type.
template<class Out>
Out convert(const msgs::Plugin &/*_in*/)
{
Out::ConversionNotImplemented;
}

/// \brief Specialized conversion from a msgs::Plugin to an sdf::Plugin.
/// \param[in] _in msgs::Plugin.
/// \return sdf::Plugin.
template<>
sdf::Plugin convert(const msgs::Plugin &_in);

/// \brief Generic conversion from a msgs::Plugin_V to another type.
/// \param[in] _in msgs::Plugin_V.
/// \return Conversion result.
/// \tparam Out Output type.
template<class Out>
Out convert(const msgs::Plugin_V &/*_in*/)
{
Out::ConversionNotImplemented;
}

/// \brief Specialized conversion from a msgs::Plugin_V to an sdf::Plugins.
/// \param[in] _in msgs::Plugin_V.
/// \return sdf::Plugins.
template<>
sdf::Plugins convert(const msgs::Plugin_V &_in);
}
}
}
Expand Down
16 changes: 15 additions & 1 deletion include/gz/sim/Events.hh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#define GZ_SIM_EVENTS_HH_

#include <sdf/Element.hh>
#include <sdf/Plugin.hh>

#include <gz/common/Event.hh>

Expand Down Expand Up @@ -53,11 +54,24 @@ namespace gz
/// \endcode
using Stop = gz::common::EventT<void(void), struct StopTag>;

/// \brief Event used to load plugins for an entity into simulation.
/// \brief Please use the LoadSdfPlugins event. The LoadPlugins event
/// will be deprecrated in Gazebo 7 (Garden). Also make sure to
/// connect to only LoadSdfPlugins or LoadPlugins, and not both events.
///
/// Event used to load plugins for an entity into simulation.
/// Pass in the entity which will own the plugins, and an SDF element for
/// the entity, which may contain multiple `<plugin>` tags.
/// \note This will be deprecated in Gazebo 7 (Garden), please the use
/// sdf::Plugin interface.
using LoadPlugins = common::EventT<void(Entity, sdf::ElementPtr),
struct LoadPluginsTag>;

/// \brief Event used to load plugins for an entity into simulation.
/// Pass in the entity which will own the plugins, and an SDF element for
/// the entity, which may contain multiple `<plugin>` tags.
/// Makre sure that you don't also connect to the LoadPlugins event.
using LoadSdfPlugins = common::EventT<void(Entity, sdf::Plugins),
struct LoadPluginsTag>;
}
} // namespace events
} // namespace sim
Expand Down
3 changes: 3 additions & 0 deletions include/gz/sim/Server.hh
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,9 @@ namespace gz
bool _recursive = true,
const unsigned int _worldIndex = 0);

/// \brief Stop the server. This will stop all running simulations.
public: void Stop();

/// \brief Private data
private: std::unique_ptr<ServerPrivate> dataPtr;
};
Expand Down
46 changes: 39 additions & 7 deletions include/gz/sim/ServerConfig.hh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <string>
#include <vector>
#include <sdf/Element.hh>
#include <sdf/Plugin.hh>
#include <sdf/Root.hh>
#include <gz/sim/config.hh>
#include <gz/sim/Export.hh>
Expand Down Expand Up @@ -86,12 +87,25 @@ namespace gz
/// \param[in] _name Name of the interface within the plugin library
/// to load.
/// \param[in] _sdf Plugin XML elements associated with this plugin.
public: PluginInfo(const std::string &_entityName,
/// \deprecated Use `sdf::Plugin` interface.
public: GZ_DEPRECATED(7) PluginInfo(const std::string &_entityName,
const std::string &_entityType,
const std::string &_filename,
const std::string &_name,
const sdf::ElementPtr &_sdf);

/// \brief Constructor with plugin information specified.
/// \param[in] _entityName Name of the entity which should receive
/// this plugin. The name is used in conjuction with _entityType to
/// uniquely identify an entity.
/// \param[in] _entityType Entity type which should receive this
/// plugin. The type is used in conjuction with _entityName to
/// uniquely identify an entity.
/// \param[in] _plugin SDF Plugin library information.
public: PluginInfo(const std::string &_entityName,
const std::string &_entityType,
const sdf::Plugin &_plugin);

/// \brief Copy constructor.
/// \param[in] _info Plugin to copy.
public: PluginInfo(const PluginInfo &_info);
Expand Down Expand Up @@ -127,31 +141,49 @@ namespace gz

/// \brief Get the plugin library filename.
/// \return Plugin library filename.
public: const std::string &Filename() const;
/// \deprecated Use `sdf::Plugin` interface.
public: const std::string & GZ_DEPRECATED(7) Filename() const;

/// \brief Set the type of the entity which should receive this
/// plugin. The type is used in conjuction with EntityName to
/// uniquely identify an entity.
/// \param[in] _filename Entity type string.
public: void SetFilename(const std::string &_filename);
/// \deprecated Use `sdf::Plugin` interface.
public: void GZ_DEPRECATED(7) SetFilename(const std::string &_filename);

/// \brief Name of the interface within the plugin library
/// to load.
/// \return Interface name.
public: const std::string &Name() const;
/// \deprecated Use `sdf::Plugin` interface.
public: const std::string & GZ_DEPRECATED(7) Name() const;

/// \brief Set the name of the interface within the plugin library
/// to load.
/// \param[in] _name Interface name.
public: void SetName(const std::string &_name);
/// \deprecated Use `sdf::Plugin` interface.
public: void GZ_DEPRECATED(7) SetName(const std::string &_name);

/// \brief Plugin XML elements associated with this plugin.
/// \return SDF pointer.
public: const sdf::ElementPtr &Sdf() const;
/// \deprecated Use `sdf::Plugin` interface.
public: const sdf::ElementPtr & GZ_DEPRECATED(7) Sdf() const;

/// \brief Set the plugin XML elements associated with this plugin.
/// \param[in] _sdf SDF pointer, it will be cloned.
public: void SetSdf(const sdf::ElementPtr &_sdf);
/// \deprecated Use `sdf::Plugin` interface.
public: void GZ_DEPRECATED(7) SetSdf(const sdf::ElementPtr &_sdf);

/// \brief Get the SDF plugin information.
/// \return The SDF Plugin object.
public: const sdf::Plugin &Plugin() const;

/// \brief Get a mutable version of the SDF plugin information.
/// \return The SDF Plugin object.
public: sdf::Plugin &Plugin();

/// \brief Set the SDF plugin information.
/// \param[in] _plugin The SDF Plugin object to use.
public: void SetPlugin(const sdf::Plugin &_plugin) const;

/// \brief Private data pointer
private: std::unique_ptr<ServerConfig::PluginInfoPrivate> dataPtr;
Expand Down
13 changes: 11 additions & 2 deletions include/gz/sim/SystemLoader.hh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <string>

#include <sdf/Element.hh>
#include <sdf/Plugin.hh>

#include <gz/sim/Export.hh>
#include <gz/sim/System.hh>
Expand Down Expand Up @@ -53,19 +54,27 @@ namespace gz
/// \brief Load and instantiate system plugin from an SDF element.
/// \param[in] _sdf SDF Element describing plugin instance to be loaded.
/// \returns Shared pointer to system instance or nullptr.
public: std::optional<SystemPluginPtr> LoadPlugin(
/// \deprecated Use `sdf::Plugin` interface.
public: std::optional<SystemPluginPtr> GZ_DEPRECATED(7) LoadPlugin(
const sdf::ElementPtr &_sdf);

/// \brief Load and instantiate system plugin from name/filename.
/// \param[in] _filename Shared library filename to load plugin from.
/// \param[in] _name Class name to be instantiated.
/// \param[in] _sdf SDF Element describing plugin instance to be loaded.
/// \returns Shared pointer to system instance or nullptr.
public: std::optional<SystemPluginPtr> LoadPlugin(
/// \deprecated Use `sdf::Plugin` interface.
public: std::optional<SystemPluginPtr> GZ_DEPRECATED(7) LoadPlugin(
const std::string &_filename,
const std::string &_name,
const sdf::ElementPtr &_sdf);

/// \brief Load and instantiate system plugin from name/filename.
/// \param[in] _plugin SDF Plugin to be loaded.
/// \returns Shared pointer to system instance or nullptr.
public: std::optional<SystemPluginPtr> LoadPlugin(
const sdf::Plugin &_plugin);

/// \brief Makes a printable string with info about systems
/// \returns A pretty string
public: std::string PrettyStr() const;
Expand Down
Loading

0 comments on commit f8733fa

Please sign in to comment.