Skip to content

feat: humble/add harmonic gz#40

Merged
RomanRobotnik merged 23 commits into
jazzy-develfrom
feat/humble/add-harmonic-gz
Sep 12, 2025
Merged

feat: humble/add harmonic gz#40
RomanRobotnik merged 23 commits into
jazzy-develfrom
feat/humble/add-harmonic-gz

Conversation

@RomanRobotnik

@RomanRobotnik RomanRobotnik commented Sep 9, 2025

Copy link
Copy Markdown
Contributor

This pull request introduces several improvements and updates to the Robotnik simulation stack, focusing on enhanced documentation, expanded robot support, configuration unification, and codebase cleanup. The most significant changes include the addition of a setup guide for Gazebo Harmonic with ROS2 Humble, new and refactored robot controller configurations, improved installation instructions, and expanded examples for launching various robots.

Documentation and User Guide Improvements

  • Added a comprehensive setup guide for using Robotnik Simulation with Gazebo Harmonic and ROS2 Humble in docs/gazebo-harmonic-humble.md, including installation steps, dependency management, and workspace compilation instructions.
  • Updated image paths and improved documentation in README.md to use new asset locations and clarified installation and usage instructions. [1] [2] [3] [4]

Robot Support and Launch Examples

  • Expanded the list of supported robots in the documentation, including rbwatcher and rbfiqus, and added multiple launch examples for different robot models.
  • Enhanced documentation on launching robots with or without manipulators and clarified the usage of arguments for robot variations and positioning.

Controller Configuration and Profiles

  • Added new controller configuration files for rbkairos and rb1 robots under robotnik_gazebo_ignition/config/profile/, providing detailed parameters for robot base control and joint trajectory controllers. [1] [2]
  • Refactored and renamed the controller configuration for rbvogui to rbfiqus, updating parameters for improved consistency and flexibility, including the use of variable-based frame prefixes and more accurate kinematic limits. [1] [2] [3] [4] [5]

Build and Packaging Improvements

  • Simplified the CMakeLists.txt for robotnik_gazebo_ignition by removing unnecessary compiler flags and improving installation directives for configuration, launch, and world files.
  • Updated the Dockerfile and installation instructions to only copy/install .deb packages matching the ros-${ROS_DISTRO}-*.deb pattern, ensuring compatibility with the selected ROS distribution. [1] [2]

Minor Documentation and Cleanup

  • Removed an obsolete or redundant parameter (has_arm) from the robot spawning documentation for clarity.

These changes collectively improve the usability, flexibility, and maintainability of the simulation stack, making it easier to set up and use with a wider range of Robotnik robots and simulation environments.This pull request introduces several improvements and additions to the Robotnik simulation stack, focusing on enhanced robot configuration management, documentation updates, and codebase cleanup. The main highlights are the addition of new control profiles for multiple robots, improved documentation for Gazebo Harmonic and ROS2 Humble integration, and various updates to streamline usage and installation.

Robot configuration and control improvements:

  • Added new ros2_control.yaml configuration profiles for rbkairos, rb1, and refactored rbvogui to rbfiqus, each with detailed parameters for base control, joint limits, and topic names. These profiles improve modularity and make it easier to manage robot-specific settings. [1] [2] [3] [4] [5] [6] [7]

Documentation enhancements:

  • Added a comprehensive guide (docs/gazebo-harmonic-humble.md) for setting up the simulation environment with Gazebo Harmonic and ROS2 Humble, including installation steps and dependency management.
  • Updated README.md to reflect new robot models (rbwatcher, rbfiqus), improved installation instructions, and corrected image paths and example commands. [1] [2] [3] [4] [5] [6] [7]

Build and installation process:

  • Cleaned up CMakeLists.txt by removing unnecessary compiler flags and improving installation logic for configuration, launch, and world files.
  • Updated the Dockerfile and installation commands to only copy and install ros-${ROS_DISTRO}-*.deb packages, ensuring compatibility with the current ROS distribution. [1] [2]

Other minor changes:

  • Removed the obsolete has_arm parameter from documentation to avoid confusion.

These changes collectively improve the maintainability, usability, and extensibility of the Robotnik simulation stack.This pull request introduces significant improvements to the Robotnik simulation stack, focusing on enhanced configuration and support for multiple robot profiles in Gazebo/ROS2 environments. It adds detailed ROS2 control configuration files for various robots, updates documentation for Gazebo Harmonic with ROS2 Humble, and improves consistency in file structure and installation instructions.

Key changes include:

New and Updated Robot Configuration Profiles

  • Added new ROS2 control configuration files for rbkairos, rbficus, rbrobout, rbsummit, and rb1 robots, enabling tailored simulation and control parameters for each robot profile. These configurations cover controller parameters, topic names, frame IDs, kinematics, and joint limits, and in some cases, arm trajectory controllers. [1] [2] [3] [4] [5]
  • Refactored and renamed existing configuration files, such as moving and updating the RBVogui controller parameters to the new rbficus profile, with corrected topic names and kinematic values for improved simulation accuracy. [1] [2] [3] [4] [5]

Documentation and Usability Improvements

  • Added a comprehensive setup guide for Gazebo Harmonic with ROS2 Humble in docs/gazebo-harmonic-humble.md, including installation steps and dependency management.
  • Updated image paths in README.md to use the new docs/assets/img directory for better organization and consistency. [1] [2] [3]
  • Clarified installation instructions in README.md to use ROS-distro-specific .deb packages, ensuring correct package selection for different ROS distributions.

Build and Packaging Adjustments

  • Modified the Dockerfile and build scripts to copy only the relevant ROS-distro-specific .deb files, reducing clutter and potential installation issues.
  • Simplified and cleaned up the CMakeLists.txt for robotnik_gazebo_ignition, improving maintainability and ensuring correct installation of configuration and launch files.

@RomanRobotnik

Copy link
Copy Markdown
Contributor Author

It requires RobotnikAutomation/robotnik_description#75

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for Gazebo Harmonic with ROS2 Humble to the Robotnik simulation stack, introducing new robot configuration profiles and improving the overall simulation infrastructure. It focuses on modernizing the launch system, adding comprehensive controller configurations for multiple robot variants, and updating documentation.

Key changes include:

  • Added comprehensive robot control profiles for rbkairos, rbwatcher, rbsummit, rbrobout, rbfiqus, rbvogui, and rb1 robots
  • Refactored the spawn_robot launch system with improved controller management and dynamic bridge generation
  • Updated documentation with Gazebo Harmonic setup guide and expanded robot examples

Reviewed Changes

Copilot reviewed 37 out of 40 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
robotnik_simulation.jazzy.repos Adds repository configuration for Jazzy distribution with specific package versions
robotnik_gazebo_ignition/worlds/ignition/demo.world Updates world configuration with improved physics, lighting, and plugin settings
robotnik_gazebo_ignition/package.xml Updates package metadata and dependencies
robotnik_gazebo_ignition/launch/spawn_world.launch.py Simplifies world launching with cleaner argument handling
robotnik_gazebo_ignition/launch/spawn_robot.launch.py Complete refactor of robot spawning with dynamic controller configuration
robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in Adds environment hook for Gazebo resource paths
robotnik_gazebo_ignition/config/rviz_config.rviz Updates RViz configuration with improved topic names and frame references
robotnik_gazebo_ignition/config/profile/*/ros2_control.yaml Adds comprehensive controller configurations for multiple robot variants
robotnik_gazebo_ignition/CMakeLists.txt Simplifies build configuration and adds environment hooks
docs/gazebo-harmonic-humble.md Adds setup guide for Gazebo Harmonic with ROS2 Humble
README.md Updates documentation with new robot models and corrected image paths
Dockerfile Updates package installation to use ROS-distro-specific patterns

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread robotnik_simulation.jazzy.repos Outdated
Comment thread robotnik_gazebo_ignition/launch/spawn_robot.launch.py Outdated
Comment thread robotnik_gazebo_ignition/launch/spawn_robot.launch.py
Comment thread robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@rafa-martin

Copy link
Copy Markdown
Member

Robotnik Sensors and Robotnik Description were updated, If all is ok, we can merge this PR

@RomanRobotnik RomanRobotnik merged commit c0286ce into jazzy-devel Sep 12, 2025
@RomanRobotnik RomanRobotnik deleted the feat/humble/add-harmonic-gz branch September 12, 2025 07:05
ja-palen pushed a commit to ja-palen/robotnik_simulation that referenced this pull request Oct 24, 2025
* Adds new robots: rbficus (later renamed rbfiqus), rbsummit_steel, and rbwatcher.

* Includes a joint trajectory controller and a top PTZ camera for the RB-WATCHER.

* Adds controller configurations and improves the robot spawner to extract controllers from control.yaml.

* Refactors the harmonic simulation and adds bridge dynamic capabilities.

* Introduces a clean and add humble harmonic simulation and a new function to add a depth camera (though currently unused).

* Multiple updates to the documentation (doc, README.md) to reflect the new robots and features.

* Updates package versions for the humble and jazzy releases.

* Bumps the main version to 1.0.0.

* Fixes minor issues, such as the rbtheron motor limits.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants