4
$\begingroup$

I have used ROS noetic before by installing the full desktop version which comes along with gazebo simulator and its plug-ins (gazebo_ros_pkgs) ready to use with ROS directly. Due to some requirements, I have to install ROS2 on Ubuntu 22.04 on a cloud/ virtual machine. I decided to move with ROS2 Humble Hawksbill because as per https://docs.ros.org/en/rolling/Releases.html, this release will be supported for a longer period of time compared to Foxy which will have its EOL next year. enter image description here

I followed all the installation instructions present on their official website and did the full install using sudo apt install ros-humble-desktop. Publisher/ subscriber, rviz, rqt etc. are working fine but I observed that gazebo did not come along with it.

I am having a tough time figuring out a way to install gazebo and make it work with ROS2 Humble Hawksbill on Ubuntu 22.04.

I tried going through https://classic.gazebosim.org/tutorials?tut=ros2_installing&cat=connect_ros, https://gazebosim.org/docs/fortress/ros2_integration, and https://discourse.ros.org/t/ros-2-humble-hawksbill-released/25729 and observed that one website is saying something and another something else regarding ros2 and gazebo versions compatibility.

Any help in setting up gazebo (which version and how) in this scenario is highly appreciated.

Thanks in advance,

Dev

$\endgroup$

2 Answers 2

3
$\begingroup$

Gazebo is part of desktop-full not the desktop variant.

You can use ros-humble-simulation as a convenient metapackage as well.

The metapackages are defined as variants in REP 2001 (Humble)

$\endgroup$
3
  • $\begingroup$ I tried to send sudo apt install ros-humble-desktop-full but it says E: Unable to locate package ros-humble-desktop-full $\endgroup$ Jun 8, 2022 at 20:12
  • $\begingroup$ I think I found the issue. My cloud machine architecture is arm64 which I found using dpkg-architecture -q DEB_BUILD_ARCH. Then, I tried to compare the packages list manually by browsing the OSU website itself. [amd64] packages.ros.org/ros2/ubuntu/dists/jammy/main/binary-amd64/… . This one contains ros-humble-desktop-full but [arm64] packages.ros.org/ros2/ubuntu/dists/jammy/main/binary-arm64/… does not. Maybe, that's why I am getting unable to locate package error. $\endgroup$ Jun 8, 2022 at 20:34
  • $\begingroup$ On arm64 there are a few dependencies which were not available at release time. The maintainers are working on rebuilding them at the moment. And they will hopefully be available soon. $\endgroup$
    – Tully
    Jun 10, 2022 at 0:47
1
$\begingroup$

There was a question about installing Gazebo on Ubuntu 22.04 with ROS2 Humble (after removing the copy installed with the Humble package install), on the Gazebo answers page, see How to install Gazebo for Ubuntu 22.04 with ROS2 Humble. Unfortunately, that content has now been removed (as of July 31 2022), for whatever reason.

However, there is a blog on Ubuntu.com, Install Gazebo for ROS 2 in under a minute, which might help.

With the option --channel, we are explicitly using the track (citadel) and the risk (beta). We will automatically get updates from this channel. If your Linux distribution of choice doesn’t currently support snap, get more details on the installing snapd documentation.

sudo snap install gazebo --channel=citadel/beta

After installation, we can execute the freshly installed Gazebo with the command gazebo.gz gazebo.

You can then test it with

gazebo.gz gazebo shapes.sdf 

We now see the ‘shapes’ demo and are able to interact with it:

enter image description here

There are a lot more examples. However, none of this is Humble specific.

Nevertheless, that same page then states at the bottom:

We are planning to release a ROS2 Humble Gazebo Fortress snap soon, so stay tuned!

So, hopefully, there should be an update (and accompanying blog) available soon...

$\endgroup$
3
  • $\begingroup$ Thanks! I can't recall is exactly but I somehow managed to install/ build it from source. $\endgroup$ Aug 11, 2022 at 20:09
  • $\begingroup$ Why does this not open with gazebo why does it need gazebo.gz gazebo ? $\endgroup$
    – Frank
    Oct 22, 2022 at 18:08
  • 1
    $\begingroup$ @Frank - I'm not entirely sure, but I would guess that it is because the binary has been compiled with the name gazebo.gz rather than just gazebo - possibly to avoid any conflict with any existing binary named gazebo. Note that this is purely a guess of my part... As stated in my answer, I merely copied the details from the Ubuntu gazebo blog. Read that blog for more details. $\endgroup$ Oct 22, 2022 at 18:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.