Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
23 views2 pages

Introduction To ROS2

ROS2 is the second generation of the Robot Operating System, introduced in 2017, and offers improvements over ROS1, including support for multiple platforms (Ubuntu, Mac OS X, Windows 10) and a distributed architecture. Key differences between ROS2 and ROS1 include the use of newer programming languages (C++11, Python 3.5+), the absence of a central master node, and a new compilation system (Ament vs. Catkin). The document also outlines compatibility with specific Ubuntu versions for different ROS2 releases.

Uploaded by

Nguyễn Mến
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views2 pages

Introduction To ROS2

ROS2 is the second generation of the Robot Operating System, introduced in 2017, and offers improvements over ROS1, including support for multiple platforms (Ubuntu, Mac OS X, Windows 10) and a distributed architecture. Key differences between ROS2 and ROS1 include the use of newer programming languages (C++11, Python 3.5+), the absence of a central master node, and a new compilation system (Ament vs. Catkin). The document also outlines compatibility with specific Ubuntu versions for different ROS2 releases.

Uploaded by

Nguyễn Mến
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

1.

Introduction to ROS2
1. Overview of ROS2
ROS2 is the second generation Robot Operating System, an upgraded version of ROS1, which
solves some problems of ROS1. The earliest version of ROS2, Arden, was in 2017. With the
iteration of the version, it has been continuously updated and optimized, and now it has a stable
version. Compared with ROS1, the choice of Linux version and ROS2 version is also related. The
corresponding versions of the two are as follows:

ROS2 version Ubuntu version

Foxy Ubuntu20.04

Galactic Ubuntu20.04

Humble Ubuntu22.04

According to your own Linux version, download the corresponding ROS2 version. This product
course is based on the Foxy version.

2. ROS2 features
2.1. ROS2 fully supports three platforms

Ubuntu
Mac OS X
Windows 10

2.2. Implemented distributed architecture

Cancel the Master central node to realize distributed discovery, publish/subscribe, and
request/response communication of nodes.

2.3. Support real-time

2.4. Use new versions of programming languages

C++11
Python3.5+

2.5. Using the new compilation system Ament (ROS is Catkin)

2.6. ROS1 can communicate with ROS 2 through rosbridge

3. The difference between ROS2 and ROS1


3.1. Platform
ROS1 currently only supports running and using in Linux systems, and is most commonly built
and used in Ubuntu. ROS2 can currently be built and used on Ubuntu, Windows and even
embedded development boards, and the platform is more extensive.
3.2.Language
C++

ROS1 is C++03 at its core, while ROS2 makes extensive use of C++11.

Python

The Python version used by ROS1 is Python2, while the Python version used by ROS2 is at
least 3.5, and the Python version used by Foxy is 3.8.

3.3. Middleware
Roscore needs to be turned on before starting ROS1. This master controls the communication
between all nodes, but ROS2 does not. It only has an abstract middleware interface through
which data is transmitted. Currently, all implementations of this interface are based on the DDS
standard. This enables ROS 2 to provide a variety of high-quality QoS service policies to improve
communication across different networks.

3.4. Compile command


The compilation command of ROS1 is catkin_make, while the compilation command of ROS2 uses
the colcon build command.

You might also like