Fortress And Humble Tutorial
Setting up Gazebo Fortress
Introduction and explanation
What software are we using and why
All of these instructions have been tested using the current version of Ubuntu: Jammy Jellyfish.We are going to use two packages: Gazebo for the physics based Simulator and ROS (Robot Operating System) for the control system. There are many releases of each of these, and only some combinations are mutually compatible. Also, since we are focusing on a stable development platform, we will use the Long Term Support (LTS) versions that are current at the time we are posting this.
There will be two tutorial tracks:
Gazebo Fortress (release 6) and ROS Humble running on Ubuntu Jammy Jellyfish which are supported until 2025.
Gazebo Harmonic and ROS Jazzy running on Ubuntu Noble Numbat which are the newest LTS products
How will the demonstration proceed.We will go through 7 steps: 1) Install Gazebo Fortress and confirm that it is correct. 2) Examine an empty world 3) Build a simple robot and test it using keyboard controls. 4) Build a 'world' for our robot to explore. 5) Install ROS (and its components) and confirm the installation. 6) Add Lidar to the robot 7) Write control software in ROS to make the robot autonomous.
This post covers Step 1
How will the demonstration proceed.We will go through 7 steps: 1) Install Gazebo Fortress and confirm that it is correct. 2) Examine an empty world 3) Build a simple robot and test it using keyboard controls. 4) Build a 'world' for our robot to explore. 5) Install ROS (and its components) and confirm the installation. 6) Add Lidar to the robot 7) Write control software in ROS to make the robot autonomous.
This post covers Step 1
NOTE: If you already have a working copy of Gazebo Fortress installed, you can skip ahead to Examining an Empty World
Install Gazebo Fortress
Before doing any software install, make sure your system is up to date > sudo apt-get update > sudo apt-get upgrade
Get Privacy Guard so that you can pull the Gazebo package > sudo apt-get install lsb-release wget gnupg(These may already be installed)Get the pgp signature > sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
Installing Gazebo > echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null > sudo apt-get update > sudo apt-get install ignition-fortress
Get Privacy Guard so that you can pull the Gazebo package > sudo apt-get install lsb-release wget gnupg(These may already be installed)Get the pgp signature > sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
Installing Gazebo > echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null > sudo apt-get update > sudo apt-get install ignition-fortress
Confirm your installation
At a command prompt type: > ign gazebo empty.sdfYou should see the following screen:
Notes: * You may get a warning about the XDG_SESSION_TYPE = wayland. But the Gazebo quick start page will popup. * If you are not running Wayland, Gazebo appears to run normally, but throws a Segmentation fault on shutdown and Ruby may not shut down property. * Only works on Jammy 22.04 build * These instructions were adapted from here:
building an empty world
The next thing we are going to do is to save the empty world, so we can look at the parts that make it up.
If Gazebo is not open, begin by launching gazebo with this command: > ign gazebo empty.sdf
So that you see the screen above
With that click, you have launched two programs, one is the visible one - the Gazebo client interface, the second is invisible, running in the background: the Gazebo Simulation Server.
The interface is broken up into a top bar and two main panels.
The top bar has a menu hamburger on the left and a setting pull down on the right.
The left panel is a visualiztion screen, currently showing an infinite plane with grid lines around the origin point.
The right panel is showing information about the settings for the simulation.
We'll talk about these next.
But first, let's save a copy of this empty world and look at its parts.
Use the gazebo menu (select the hamburger in the upper left and choose 'Save World ...' ) save this as
pong-world-1.sdfOpen the file in a text editor and look at it. It is 89 lines of xml that defines the world. We will examine it in detail in the next part of the tutorial.
Previous Step | Current Step | Next Step |
Installing Gazebo |