{"id":20563254,"url":"https://github.com/gazebosim/ros_gz","last_synced_at":"2025-05-15T14:04:42.011Z","repository":{"id":37375420,"uuid":"143215610","full_name":"gazebosim/ros_gz","owner":"gazebosim","description":"Integration between ROS (1 and 2) and Gazebo simulation","archived":false,"fork":false,"pushed_at":"2025-05-06T14:04:40.000Z","size":7902,"stargazers_count":355,"open_issues_count":65,"forks_count":165,"subscribers_count":15,"default_branch":"ros2","last_synced_at":"2025-05-12T07:50:57.521Z","etag":null,"topics":["cpp","gazebo","gazebosim","hacktoberfest","ignition","ignition-gazebo","ignition-transport","pubsub","robotics","robotics-simulation","ros","ros2","simulation","transport"],"latest_commit_sha":null,"homepage":"https://gazebosim.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gazebosim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-01T22:42:46.000Z","updated_at":"2025-05-12T02:01:08.000Z","dependencies_parsed_at":"2023-12-21T01:17:36.253Z","dependency_job_id":"c4b8ff40-c0ba-4800-a4a7-17a11d72229a","html_url":"https://github.com/gazebosim/ros_gz","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fros_gz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fros_gz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fros_gz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fros_gz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gazebosim","download_url":"https://codeload.github.com/gazebosim/ros_gz/tar.gz/refs/heads/ros2","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254355334,"owners_count":22057354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","gazebo","gazebosim","hacktoberfest","ignition","ignition-gazebo","ignition-transport","pubsub","robotics","robotics-simulation","ros","ros2","simulation","transport"],"created_at":"2024-11-16T04:17:14.827Z","updated_at":"2025-05-15T14:04:41.956Z","avatar_url":"https://github.com/gazebosim.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/gazebosim/ros_gz/actions/workflows/ros2-ci.yml/badge.svg?branch=ros2)](https://github.com/gazebosim/ros_gz/actions/workflows/ros2-ci.yml)\n\nROS 2 version | Gazebo version | Branch | Binaries hosted at\n-- | -- | -- | --\nFoxy | Citadel | [foxy](https://github.com/gazebosim/ros_gz/tree/foxy) | https://packages.ros.org [^2]\nFoxy | Edifice | [foxy](https://github.com/gazebosim/ros_gz/tree/foxy) | only from source [^2]\nGalactic | Edifice | [galactic](https://github.com/gazebosim/ros_gz/tree/galactic) | https://packages.ros.org [^2]\nGalactic | Fortress | [galactic](https://github.com/gazebosim/ros_gz/tree/galactic) | only from source\nHumble | Fortress | [humble](https://github.com/gazebosim/ros_gz/tree/humble) | https://packages.ros.org\nHumble | Garden | [humble](https://github.com/gazebosim/ros_gz/tree/humble) | [gazebo packages](https://gazebosim.org/docs/latest/ros_installation#gazebo-garden-with-ros-2-humble-iron-or-rolling-use-with-caution-)[^1] [^2]\nHumble | Harmonic | [humble](https://github.com/gazebosim/ros_gz/tree/humble) | [gazebo packages](https://gazebosim.org/docs/harmonic/ros_installation#-gazebo-harmonic-with-ros-2-humble-iron-or-rolling-use-with-caution-)[^1]\nIron | Fortress | [humble](https://github.com/gazebosim/ros_gz/tree/iron) | https://packages.ros.org\nIron | Garden | [humble](https://github.com/gazebosim/ros_gz/tree/iron) | only from source [^2]\nIron | Harmonic | [humble](https://github.com/gazebosim/ros_gz/tree/iron) | only from source\nJazzy | Garden | [ros2](https://github.com/gazebosim/ros_gz/tree/ros2) | only from source [^2]\nJazzy | Harmonic | [jazzy](https://github.com/gazebosim/ros_gz/tree/jazzy) | https://packages.ros.org\nRolling | Garden | [ros2](https://github.com/gazebosim/ros_gz/tree/ros2) | only from source [^2]\nRolling | Harmonic | [ros2](https://github.com/gazebosim/ros_gz/tree/ros2) | only from source\nRolling | Ionic | [ros2](https://github.com/gazebosim/ros_gz/tree/ros2) | https://packages.ros.org\n\n[^1]: Binaries for these pairings are provided from the packages.osrfoundation.org repository. Refer to https://gazebosim.org/docs/latest/ros_installation for installation instructions.\n[^2]: Note that the Gazebo version on this row has reached end-of-life.\n\nFor information on ROS(1) and Gazebo compatibility, refer to the [noetic branch README](https://github.com/gazebosim/ros_gz/tree/noetic)\n\n[Details about the renaming process](README_RENAME.md) from `ign` to `gz` .\n\n**Note**: The `ros_ign` prefixed packages are shim packages that redirect to their `ros_gz` counterpart.\nUnder most circumstances you want to be using the `ros_gz` counterpart.\n\n# Integration between ROS and Gazebo\n\n## Packages\n\nThis repository holds packages that provide integration between\n[ROS](http://www.ros.org/) and [Gazebo](https://gazebosim.org):\n\n* [ros_gz](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz):\n  Metapackage which provides all the other packages.\n* [ros_gz_image](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_image):\n  Unidirectional transport bridge for images from\n  [Gazebo Transport](https://gazebosim.org/libs/transport)\n  to ROS using\n  [image_transport](http://wiki.ros.org/image_transport).\n* [ros_gz_bridge](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge):\n  Bidirectional transport bridge between\n  [Gazebo Transport](https://gazebosim.org/libs/transport)\n  and ROS.\n* [ros_gz_sim](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_sim):\n  Convenient launch files and executables for using\n  [Gazebo Sim](https://gazebosim.org/libs/gazebo)\n  with ROS.\n* [ros_gz_sim_demos](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_sim_demos):\n  Demos using the ROS-Gazebo integration.\n* [ros_gz_point_cloud](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_point_cloud):\n  Plugins for publishing point clouds to ROS from\n  [Gazebo Sim](https://gazebosim.org/libs/gazebo) simulations.\n\n## Install\n\nThis branch supports ROS Rolling. See above for other ROS versions.\n\n### Binaries\n\nRolling binaries are available for Fortress.\nThey are hosted at https://packages.ros.org.\n\n1. Add https://packages.ros.org\n\n        sudo sh -c 'echo \"deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main\" \u003e /etc/apt/sources.list.d/ros2-latest.list'\n        curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -\n        sudo apt-get update\n\n1. Install `ros_gz`\n\n        sudo apt install ros-rolling-ros-gz\n\n### From source\n\n#### ROS\n\nBe sure you've installed\n[ROS Rolling](https://docs.ros.org/en/rolling/index.html)\n(at least ROS-Base). More ROS dependencies will be installed below.\n\n#### Gazebo\n\nInstall either [Fortress, Harmonic or Ionic](https://gazebosim.org/docs).\n\nSet the `GZ_VERSION` environment variable to the Gazebo version you'd\nlike to compile against. For example:\n\n    export GZ_VERSION=harmonic # IMPORTANT: Replace with correct version\n\n\u003e You only need to set this variable when compiling, not when running.\n\n#### Compile ros_gz\n\nThe following steps are for Linux and macOS.\n\n1. Create a colcon workspace:\n\n    ```\n    # Setup the workspace\n    mkdir -p ~/ws/src\n    cd ~/ws/src\n\n    # Download needed software\n    git clone https://github.com/gazebosim/ros_gz.git -b ros2\n    ```\n\n1. Install dependencies (this may also install Gazebo):\n\n    ```\n    cd ~/ws\n    rosdep install -r --from-paths src -i -y --rosdistro rolling\n    ```\n\n    \u003e If `rosdep` fails to install Gazebo libraries and you have not installed them before, please follow [Gazebo installation instructions](https://gazebosim.org/docs/latest/install).\n\n1. Build the workspace:\n\n    ```\n    # Source ROS distro's setup.bash\n    source /opt/ros/\u003cdistro\u003e/setup.bash\n\n    # Build and install into workspace\n    cd ~/ws\n    colcon build\n    ```\n  \u003e [!TIP]\n  \u003e The `ros_gz` library makes heavy use of templates which causes compilers to consume a lot of memory. If your build fails with `c++: fatal error: Killed signal terminated program cc1plus`\n  \u003e try building with `colcon build --parallel-workers=1 --executor sequential`. You might also have to set `export MAKEFLAGS=\"-j 1\"` before running `colcon build` to limit\n  \u003e the number of processors used to build a single package.\n\n## ROSCon 2022\n\n[![](img/video_img.png)](https://vimeo.com/showcase/9954564/video/767127300)\n\n## Project Template\n[A template project integrating ROS and Gazebo simulator](https://github.com/gazebosim/ros_gz_project_template)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgazebosim%2Fros_gz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgazebosim%2Fros_gz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgazebosim%2Fros_gz/lists"}