Skip to content

Instantly share code, notes, and snippets.

@JackYang-hellobobo
Last active January 14, 2024 17:05
Show Gist options
  • Save JackYang-hellobobo/1681a7e6d9ed82904a4456d2f1fb1b90 to your computer and use it in GitHub Desktop.
Save JackYang-hellobobo/1681a7e6d9ed82904a4456d2f1fb1b90 to your computer and use it in GitHub Desktop.
ROS2-Ubuntu-install-tutorials

Ubuntu (Debian)

Table of Contents

Debian packages for ROS 2 {DISTRO_TITLE_FULL} are currently available for Ubuntu Focal.

Resources

Set locale

Setup Sources

Install ROS 2 packages

Update your apt repository caches after setting up the repositories.

sudo apt update

Desktop Install (Recommended): ROS, RViz, demos, tutorials.

sudo apt install ros-{DISTRO}-desktop python3-argcomplete

ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.

sudo apt install ros-{DISTRO}-ros-base python3-argcomplete

Development tools: Compilers and other tools to build ROS packages

sudo apt install ros-dev-tools

Environment setup

Sourcing the setup script

Set up your environment by sourcing the following file.

# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/{DISTRO}/setup.bash

Try some examples

If you installed ros-{DISTRO}-desktop above you can try some examples.

In one terminal, source the setup file and then run a C++ talker:

source /opt/ros/{DISTRO}/setup.bash
ros2 run demo_nodes_cpp talker

In another terminal source the setup file and then run a Python listener:

source /opt/ros/{DISTRO}/setup.bash
ros2 run demo_nodes_py listener

You should see the talker saying that it's Publishing messages and the listener saying I heard those messages. This verifies both the C++ and Python APIs are working properly. Hooray!

Next steps after installing

Continue with the tutorials and demos <../../Tutorials> to configure your environment, create your own workspace and packages, and learn ROS 2 core concepts.

Using the ROS 1 bridge

The ROS 1 bridge can connect topics from ROS 1 to ROS 2 and vice-versa. See the dedicated documentation on how to build and use the ROS 1 bridge.

Additional RMW implementations (optional)

The default middleware that ROS 2 uses is Fast-RTPS, but the middleware (RMW) can be replaced at runtime. See the guide <../How-To-Guides/Working-with-multiple-RMW-implementations> on how to work with multiple RMWs.

Troubleshooting

Troubleshooting techniques can be found here <../How-To-Guides/Installation-Troubleshooting>.

Uninstall

If you need to uninstall ROS 2 or switch to a source-based install once you have already installed from binaries, run the following command:

sudo apt remove ~nros-{DISTRO}-* && sudo apt autoremove

You may also want to remove the repostiory:

sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment