What is ROS(Robot Operating System)?
ROS provides various libraries and tools for implementation and debugging. As the name suggests, you might think that ROS is an Operating System. However, more precisely, ROS is middleware or a framework, which is a system that executes scheduling, loading, monitoring, and error handling as a virtualization layer between distributed computing resources. We call it a Meta-Operating System.
Functions that ROS Provides
Hardware abstraction
Low-level device control
Function implementation
Sensing
Detecting
Map making (SLAM)
Motion planning
Message passing between processes
Package management
Terms of ROS
Objectives of ROS
Distributed process : programs in the smallest units of executable process (Node), and each node gives and takes data organically while they are executed independently.
Managed by package : since ROS manages multiple processes (nodes) with the same purpose by package, it is easy to share or redistribute.
Open source
API : it is easy to develop software that utilizes ROS because it can be called by API.
Multiple programming language support : ROS supports not only Python, C++, and Lisp but also Java, C#, Lua, and Ruby. Therefore, ROS can be developed using familiar programming languages.
Compositions of ROS
Client Layer : supports multiple programming language.
Hardware Interface Layer : supports the control of hardware.
Robotics Application : application for service.
Robotics Application Framework : supports in the creation of various robotics application.
Communication Layer : data communication.
Simulation : control a robot in a virtual space.