ROS 1
vs
ROS 2
The similarities, differences and blanks
Similarities
• Distributed computing using nodes
• Anonymous decoupled p2p communication
(pub/sub)
• Programming language neutral (C++ nodes can
coexist with Python)
• Well built APIs – rostopic, rosnode etc
• Great debugging tools – rviz, rqt, roslaunch etc
Differences (Architecture)
ROS 1
• Primarily built to support PR2, and
hence good for research
• Supports only 1 robot per ROS
network
• Architecture includes a central system
controller “Master”
• Concepts of QoS, Security absent
ROS 2
• Build to support the production grade
robotic solutions
• Supports multiple robots per ROS
network
• Masters-less system with nodes
capable of self-discovery
• New concepts of QoS, Security
introduced
Differences (Technology)
• Supports up-to C++ 11 & Python 2
• OS Support – Linux, Mac. But teams tests
only on Linux.
• Uses custom setup based on HTTP for
communication
• Only Cmake projects supported
• Supports C++ 17 & Python 3
• OS Support – Linux, Mac, Windows,
RTOS
• Uses Data Distributed System (DDS)
for communication
• Supports multiple build systems with
build isolation
Blanks
• Integration with version control tool
• CI/CD Pipeline for auto updates and
auto refresh
Thank you
Author: Asit Deva
Date : 20 April 2019

ROS vs ROS2

  • 1.
    ROS 1 vs ROS 2 Thesimilarities, differences and blanks
  • 2.
    Similarities • Distributed computingusing nodes • Anonymous decoupled p2p communication (pub/sub) • Programming language neutral (C++ nodes can coexist with Python) • Well built APIs – rostopic, rosnode etc • Great debugging tools – rviz, rqt, roslaunch etc
  • 3.
    Differences (Architecture) ROS 1 •Primarily built to support PR2, and hence good for research • Supports only 1 robot per ROS network • Architecture includes a central system controller “Master” • Concepts of QoS, Security absent ROS 2 • Build to support the production grade robotic solutions • Supports multiple robots per ROS network • Masters-less system with nodes capable of self-discovery • New concepts of QoS, Security introduced
  • 4.
    Differences (Technology) • Supportsup-to C++ 11 & Python 2 • OS Support – Linux, Mac. But teams tests only on Linux. • Uses custom setup based on HTTP for communication • Only Cmake projects supported • Supports C++ 17 & Python 3 • OS Support – Linux, Mac, Windows, RTOS • Uses Data Distributed System (DDS) for communication • Supports multiple build systems with build isolation
  • 5.
    Blanks • Integration withversion control tool • CI/CD Pipeline for auto updates and auto refresh
  • 6.
    Thank you Author: AsitDeva Date : 20 April 2019