ROS: programowa podstawa robotów

ROS (Robot Operating System) to otwarty framework programistyczny do budowy robotów: zestaw bibliotek, narzędzi i zasad, który pomaga różnym częściom robota „rozmawiać” ze sobą. Mimo nazwy nie jest to system operacyjny w zwykłym sensie.

ROS to wspólny „czat”, przez który części robota wymieniają dane

Prostymi słowami

Wyobraź sobie, że każdy czujnik i silnik robota mówi własnym językiem, a muszą się dogadać. ROS jest jak klasowy czat, na którym wszyscy piszą według wspólnych zasad: kamera publikuje „widzę ścianę”, nawigacja czyta i odpowiada „skręcam w lewo”, silniki wykonują. Nikt nie musi wiedzieć, jak działa reszta - wystarczy czytać czat.

Jak to działa

  1. Robot składa się z osobnych programów-„węzłów”: kamera, lidar, planer trasy, sterowanie silnikami.
  2. Węzły wymieniają się wiadomościami przez „tematy” (topics) - jak kanały w komunikatorze.
  3. ROS daje gotowe biblioteki: nawigację, SLAM, kinematykę manipulatorów, wizualizację.
  4. Uruchamia się go na zwykłym systemie, najczęściej Linuksie.
  5. Aktualna wersja to ROS 2 - jest bardziej niezawodna i lepiej pasuje do prawdziwych produktów.

Nauka ROS w symulatorze i na prawdziwym robocie

Gdzie to zobaczysz

Roboty uczelniane i edukacyjne, startupy, roboty magazynowe i rolnicze, badawcze humanoidy, autonomiczne wózki. Wiele symulatorów robotów też współpracuje z ROS.

Czy to ważne przy wyborze

Jeśli po pierwszym Arduino chcesz na poważnie zająć się robotyką, ROS 2 będzie kolejnym krokiem. Jest darmowy, ma dużą społeczność i tysiące gotowych pakietów. Na start potrzebujesz komputera z Linuksem i podstaw Pythona albo C++.

Mity

  • Mit: ROS to system operacyjny, jak Windows. W rzeczywistości: To zestaw programów i zasad działający na prawdziwym systemie.
  • Mit: ROS jest potrzebny tylko dużym robotom. W rzeczywistości: Używa się go też w małych robotach edukacyjnych z komputerami jednopłytkowymi.

Częste pytania

Czym ROS 2 różni się od ROS 1?

ROS 2 jest bardziej niezawodny, lepiej działa z wieloma robotami i w czasie rzeczywistym. Nowe projekty robi się na ROS 2.

Czy można uczyć się ROS bez robota?

Tak, w symulatorach można sterować wirtualnym robotem.

Jakiego języka uczyć się do ROS?

Pythona na początek, C++ dla wydajności.

Powiązane pojęcia

Robotyka, Robot, SLAM, Cyfrowy bliźniak

← Słownik pojęć