ROS2 HUMBLE INSTALL v1.0
ROS2 HUMBLE INSTALL v1.0
Motivation
Installing ROS2 is relatively simple. You could probably follow the installation guide given
in the official documentation here and be fine. The aim of this document is to add some
clarification where I think it’s useful, as well as to provide some helpful considerations.
Throughout this document I will assume that you have a working virtual machine (vm),
and that you are running Ubuntu as the operating system on that vm. It is possible to install
ROS2 without a vm. However, my personal aim is to get everyone on my team to be familiar
with the technologies that we will be using in the field. This guide will match your personal
development environments to be as close as possible to our in-field environment. Obviously, if
you already have familiarity with these technologies and know more than me, feel free to do
whatever you want (maybe add your own contributions to this document?).
Considerations
Compatibility
As of the date of writing [9/8/2024], we are using ROS2 - Humble on Ubuntu - 22.04.
“Humble” is the version of ROS2, and “22.04” is the version of Ubuntu. In order to explain
compatibility between the version of ROS2 (e.g. Humble over Fox, etc.) and an operating
system (e.g. Ubuntu over Windows, etc.), I have to explain some of the concepts that you will
find in this document. Namely, Long Term Support vs Non-Long Term Support versions of
ROS2, and support tiers.
Support Tiers
The creators of ROS2 distinguish between 3 different support tiers for the operating
system that ROS2 runs on. Furthermore, the creators of ROS2 only maintain tier 1 (the highest
tier of support) support for one Linux-based operating system (also referred to as a “Linux
Distribution”) at any given moment. For now, the Linux Distribution that is supported in the tier 1
category by the creators of ROS2 is Ubuntu. Operating system platforms with tier 2 support
have a “best effort” error correction policy subject to resource availability, and platforms with tier
3 support are maintained exclusively by the community.
Linux-4-Tegra
As of writing [9/8/2024], we are using Nvidia’s Jetson Orin Nano Developer’s Kit [the Nano] as
the main processor for Theseus [the testbed rover]. The Nano’s operating system features a
Linux Kernel and an Ubuntu 22.04-based root file system, but its operating system is not Ubuntu
22.04. This would make the Nano’s operating system a tier 3 support platform. Fortunately,
Nvidia is a professional company who has a vested interest in making sure that ROS2 runs well
on their systems, especially since they market their Jetson line as being specifically for
computing at the edge. I haven’t run into any ROS2-specific errors on the Nano yet, but I will
document them if I ever do.
locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Then run locale again to validate that the above changed. Note that your terminal output
doesn’t have to exactly match mine, you really just need to check that you have UTF-8.
2. Setup sources
Ensure that the Ubuntu Universe Repository is enabled, which is a repository containing
community-maintained free and open-source software.
This is where you actually install the ROS2 - Humble packages. There are three packages that
you can choose from, ros-humble-desktop, ros-humble-ros-base, and
ros-dev-tools. The desktop package includes ROS, RViz, demos, and the tutorials. The
base installation is a bare-bones installation. The dev-tools package includes compilers and
other things that you need to build ROS packages. I recommend that you install the desktop and
dev-tools packages.
Though, if you really wanted to, instead of installing ros-humble-desktop, you could install
ros-humble-ros-base.
source /opt/ros/humble/setup.bash