Skip to content
Search

Robot Operating System

lastmod 2026-03-22created 2024-11-208 edits

The Robot Operating System (ROS, Robot Operating System) provides the hardware abstraction, low-level device control, implementations of commonly used functionality, message passing between processes, package management, libraries needed for the development environment, and various development and debugging tools required when developing robot applications. ROS is a robot platform that acts like an operating system for developing robot applications. It includes hardware platforms through hardware abstraction, and it is a software platform supporting robot application software development while also providing operating-system-like functionality usable on heterogeneous hardware.

INFORMATION

The latest information is being organized in ROS2.

What is ROS?

The Robot Operating System (ROS, Robot Operating System) provides the hardware abstraction, low-level device control, implementations of commonly used functionality, message passing between processes, package management, libraries needed for the development environment, and various development and debugging tools required when developing robot applications. ROS is a robot platform that acts like an operating system for developing robot applications. It includes hardware platforms through hardware abstraction, and it is a software platform supporting robot application software development while also providing operating-system-like functionality usable on heterogeneous hardware.

Simply put, although it is called a robot operating system, it is not an OS; think of it as a tool that sets up communication between robots, connects robots with sensors, and makes it easy to connect (communicate) with other people's code (open source).

ROS2

See Robot Operating System 2 for details.

Why is ROS needed?

Traditional robot development and its limitations

  • Everything has to be developed, from hardware design and control to controllers, vision, navigation, etc.
  • Each API has a different interface, and learning is required to apply it.
  • Because the software is hardware-dependent, the software also needs to be modified when the robot changes.
  • Writing software requires knowledge of the hardware.
  • Debugging requires writing a debugging framework or inserting debugging API code.
  • Dependent on the OS, so changing it is difficult or impossible.
  • When building multi-PC or multi-robot setups, a lot of time must be spent building and verifying communication.

The need for a robot software platform

Having a platform brings the following changes

  • Integration of hardware interfaces
  • Hardware abstraction - standardization - modularization
  • Price Down, performance Up
  • Separation into hardware, middleware (OS), and software
  • Focus on services that meet user demand
  • More users > feedback incorporated > improvements > more users == an ecosystem forms

Because robots require many tasks and technologies, the need to adopt a platform, as with computers and mobile phones, is felt.

Advantages of a robot software platform

  • High program reusability
  • Communication-based programs
  • Development tool support
  • Active community (as with open source, when many people have wrestled with the same problem, problems get solved faster)
  • Building an ecosystem

Types of robot software platforms

  • Orocos? (real-time capable, but hard to use.)
  • NAOqi (well known. Said to be the OS in Pepper. A commercial platform. Information is limited, but it has many users and an app market, with the advantage of a system for downloading robot tasks)
  • OPROS (drawback: no users)
  • RT (drawback: no users)
  • ROS
    • Pros - free, the most users, active community, open source, easy to port existing programs to ROS
    • Cons - a solution for a single robot, requires high PC computing power, highly dependent on the network, real-time behavior not guaranteed, hard to use on embedded systems, Linux-centric development and package releases, etc.
      • ROS is being developed to address these drawbacks

Purpose of ROS

  • Building an ecosystem to bring the history of the PC and the phone to robots
  • People around the world come together to develop ROS (used as open source; divide the roles so each does what they do best)

Features of ROS

  • Message exchange between Nodes allows programs to be split into small pieces and developed collaboratively
  • Tool support: command tools, visualization tools, GUI tools, simulation tools
  • Standardization of the data used in robotics
  • Support for modeling, sensing, recognition, navigation, and manipulation functions
  • A large WIKI (ecosystem)

See also

Favorite site

author Zer0 sitemap