ROS Robot Programming Learning (2) - Robot Operating System ROS

"ROS Robot Programming" Chapter 2 Robot Operating System ROS
This chapter mainly focuses on the robot operating system ROS, introducing the basic concepts of ROS, what is a "meta-operating system", and the basic characteristics of ROS; then further introducing the components of ROS , as well as the ROS ecosystem constructed by connecting hardware manufacturers, operating system companies, application (APP) developers, and smartphone users; finally, the development history and version installation content of the ROS system are introduced (this part describes It is relatively intuitive, so it is not generalized).

1 Basic concepts of ROS

1.1 Wikipedia’s definition of ROS

  • ROS is an open source robot meta-operating system.
  • It provides the services we expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly used functions, messaging between processes, and feature package management.
  • It also provides tools and libraries for getting, building, writing, and running code across multiple computers.

1.2 Meta operating system

  • Meta operating system is a system that uses the virtualization layer between applications and distributed computing resources to use distributed computing resources to perform tasks such as scheduling, loading, monitoring, and error handling.
  • ROS itself is not an operating system, but is based on existing operating systems, such as Ubuntu.
  • ROS is a system that controls the robots and sensors necessary for robot applications by using hardware abstractions while using existing traditional operating systems. It is also a support system for developing users' robot applications.
  • ROS data communication can occur between different systems, multiple hardware and programs.

ROS as a meta-operating system

1.3 Characteristics of ROS

  • Distributed process: Programming is performed in the form of the smallest unit (Node) of an executable process. Each process runs independently and sends and receives data organically.
  • Function package unit management: Because it manages multiple processes with the same purpose in the form of function packages.
  • Public repository: The feature package is exposed to the developer's preferred public repository (such as GitHub) and identifies the license.
  • API type: ROS is designed so that it can be loaded into code simply by calling the API.
  • Support multiple programming languages

2 ROS components and ecosystem

2.1 Components of ROS

  1. Client libraries supporting multiple programming languages
  2. Hardware interface for controlling hardware
  3. data communication channel
  4. Robotics Application Framework for writing applications
  5. Framework-based service application-Robotics Application
  6. Software Development Tool
  7. Simulation tool for controlling robots in virtual space
    ROS components

2.2 ROS ecosystem

  • Ecosystem:
    refers to the structure that connects hardware manufacturers, operating system companies, application (APP) developers, and users of smartphones.

ROS ecosystem

Guess you like

Origin blog.csdn.net/slender_1031/article/details/108366978