You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The lunar pole exploration rover is the one model in this repository with custom Gazebo system plugins — SolarPanelPlugin, RechargeableBatteryPlugin, SensorPowerSystemPlugin and RadioisotopeThermalGeneratorPlugin — and they only build for Ignition Fortress. Since #41 they are excluded from non-Humble builds, so on ROS 2 Jazzy the simulation package builds with no plugins and the rover has no power system. The rover's .gazebo xacro is also Ignition-only (ign_ros2_control/IgnitionSystem, ignition-gazebo-*-system plugin names), and its ros2_control configuration lives in the demos repository, referenced through $(find lunar_pole_exploration_rover).
This blocks moving the lunar_pole_exploration_rover demo off the Humble base image (space-ros/demos#164).
Proposal
Port the four plugins to the gz-sim 8 API (gz::sim, gz/ headers, GZ_ADD_PLUGIN, per-message includes for gz-msgs 10) while keeping them building on Fortress through a small compatibility header, since Fortress ships the gz/ redirect headers but not the GZ_-prefixed macros. Select the Ignition system packages on Humble and the ROS gz_*_vendor packages otherwise, so the plugins link against the same libraries as ros_gz and gz_ros2_control.
Make the rover model select ign_ros2_control / ignition-gazebo-* or gz_ros2_control / gz-sim-* names from ROS_DISTRO, and keep its controller configuration next to the model, as the curiosity rover does.
Set the GZ_SIM_* resource and plugin paths in the package's environment hook alongside the IGN_GAZEBO_* ones, so Harmonic finds the meshes and the plugins (this is the hook part of Update to Gazebo Harmonic/Jazzy #36).
Humble stays fully supported; several open PRs still target it.
The lunar pole exploration rover is the one model in this repository with custom Gazebo system plugins —
SolarPanelPlugin,RechargeableBatteryPlugin,SensorPowerSystemPluginandRadioisotopeThermalGeneratorPlugin— and they only build for Ignition Fortress. Since #41 they are excluded from non-Humble builds, so on ROS 2 Jazzy thesimulationpackage builds with no plugins and the rover has no power system. The rover's.gazeboxacro is also Ignition-only (ign_ros2_control/IgnitionSystem,ignition-gazebo-*-systemplugin names), and its ros2_control configuration lives in the demos repository, referenced through$(find lunar_pole_exploration_rover).This blocks moving the
lunar_pole_exploration_roverdemo off the Humble base image (space-ros/demos#164).Proposal
gz::sim,gz/headers,GZ_ADD_PLUGIN, per-message includes for gz-msgs 10) while keeping them building on Fortress through a small compatibility header, since Fortress ships thegz/redirect headers but not theGZ_-prefixed macros. Select the Ignition system packages on Humble and the ROSgz_*_vendorpackages otherwise, so the plugins link against the same libraries asros_gzandgz_ros2_control.ign_ros2_control/ignition-gazebo-*orgz_ros2_control/gz-sim-*names fromROS_DISTRO, and keep its controller configuration next to the model, as the curiosity rover does.GZ_SIM_*resource and plugin paths in the package's environment hook alongside theIGN_GAZEBO_*ones, so Harmonic finds the meshes and the plugins (this is the hook part of Update to Gazebo Harmonic/Jazzy #36).Humble stays fully supported; several open PRs still target it.