open-rmf / rmf_simulation

Support plugins for simulating RMF scenarios

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gz-classic plugins crash when running with Humble

Yadunund opened this issue · comments

commented

Bug report

Required information:

OS: Ubuntu 22.04
ROS 2: Humble binaries
RMF: Source (all branches on main)

Description

Currently it is not possible to run rmf_demos with gz-classic when running with ROS 2 Humble. This is due to a change in API and behavior in upstream gazebo_ros pkg (v3.7.0). Specifically, gazebo_ros::Node::get() method as seen in humble will throw an error if multiple nodes with the same name is detected.

However this is not the case with galactic as seen here. With galactic, an error is not thrown for duplicate node names.

As seen in the header documentation, the default node name will be the name supplied to the tag. The building map generator typically exports the .world file with plugins with the same name. For example:

<plugin name="door" filename="libdoor.so">

For some of the plugins such as slotcar, the name of the plugin is fixed within the model.sdf file and cannot be substituted for at run time.

As a result, gzserver will crash

[gzserver-15] [ERROR] [gazebo_ros_node]: Found multiple nodes with the same name: /teleport_dispenser