emanual icon indicating copy to clipboard operation
emanual copied to clipboard

[TurtleBot3] Simulations may be missing configuration of `GAZEBO_PLUGIN_PATH`

Open goekce opened this issue 2 years ago • 0 comments

I use Galactic and compiled from source on Archlinux.

I wanted to start the following simulation according to Gazebo-simulation:

$ export TURTLEBOT3_MODEL=waffle_pi
$ ros2 launch turtlebot3_gazebo empty_world.launch.py

I got the following error:

...
[gzserver-1] malloc(): corrupted top size
[ERROR] [gzserver-1]: process has died [pid 4177, exit code -6, cmd 'gzserver /opt/ros/galactic-turtlebot3-quickstart/share/turtlebot3_gazebo/worlds/empty_world.world                                                                      -s libgazebo_ros_init.so   -s libgazebo_ros_factory.so   -s libgazebo_ros_force_system.so       '].
[ERROR] [gzclient   -2]: process has died [pid 4179, exit code 255, cmd 'gzclient   '].
...

The solution was to append the path where libgazebo_ros_init.so can be found to GAZEBO_PLUGIN_PATH. For example:

$ find /opt/ros -iname libgazebo_ros_init.so
/opt/ros/galactic-turtlebot3-quickstart/lib/libgazebo_ros_init.so
$ GAZEBO_PLUGIN_PATH+=/opt/ros/galactic-turtlebot3-quickstart/lib:
$ ros2 launch turtlebot3_gazebo empty_world.launch.py

I am not on a supported platform and I do not know if this problem also occurs in Ubuntu. I could only find an older issue: https://github.com/ROBOTIS-GIT/turtlebot3_simulations/issues/43

This problem does not happen if I start another simulations like:

gazebo --verbose <gazebo-ros-pkgs-path>/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world

I would be glad if someone could verify this. If verified, then we could include this notice in the docs.

goekce avatar Jan 22 '22 15:01 goekce