Skip to content

4.2 ROS Tutorial

frompotenza edited this page Sep 4, 2023 · 10 revisions

Introduction to ROS

Robot Operating System (ROS) is a framework designed to help people build and control robots. Despite its name, ROS isn't exactly an operating system like Windows or macOS; rather, it's a collection of software tools and libraries. Imagine ROS as the toolbox that robot developers use to build and control their robots. It provides a set of pre-made tools that make it easier to create different components of a robot's functionality. These components can include things like controlling motors, processing sensor data (like cameras and sonars), making decisions, and communicating with other robots or computers. Due to its useful functionalities, many universities and companies use it in their robots as a de facto standard for robot programming.

The main characteristics of ROS can be divided into 5 areas:

  1. Peer-to-peer: Individual programs communicate over defined API (ROS messages, services, etc.).
  2. Distributed: Programs can be run on multiple computers and communicate over the network.
  3. Multi-lingual: ROS modules can be written in any language for which a client library exists (C++ and Python are the two most used).
  4. Lightweight: Stand-alone libraries are wrapped around with a thin ROS layer.
  5. Free and open-source: Most ROS software is open-source and free to use.
Clone this wiki locally