Robocikowo>ROBOCIKOWO
ROS 2 Iron Irwini

ROS / ROS 2 · Middleware

ROS 2 Iron Irwini

Iron EOL·Open Robotics

Przestarzały Open source Real-time capable Dostępne API
KATEGORIAROS / ROS 2 · Middleware
GOTOWOŚĆTRL 9
SKALA ADOPCJIUgruntowany open source
LICENCJEApache-2.0
PIERWSZE WYDANIE2023

**ROS 2 Iron Irwini** to ósma stabilna dystrybucja ROS 2, wydana 23 maja 2023 r. przez Open Robotics. Jest to **non-LTS release** z 18-miesięcznym cyklem wsparcia (EOL: listopad 2024), pozycjonowany jako tranzytowy między LTS-ami Humble (Ubuntu 22.04) i Jazzy (Ubuntu 24.04). Iron eksperymentował z nowymi mechanizmami, które stabilizowały się dopiero w Jazzy.

**Kluczowe nowości**: (1) **Type Adaptation API** w `rclcpp` (REP-2007) — pozwala publishować/subskrybować custom user types z automatyczną konwersją do ROS messages, bez explicit serializacji. (2) **Loaned Messages** — zero-copy publication przez middleware shared-memory (Iceoryx, FastDDS SHM). (3) **Improved Intra-Process Communication** — eliminacja kopii w pipelines z wielu nodes w jednym procesie (Component Container). (4) **`rcl_logging_spdlog`** jako default — wydajniejsze niż starszy `rcl_logging_log4cxx`. (5) **`launch_pytest`** — natywne pytest integration dla testów end-to-end launch files.

**Platforma**: Ubuntu 22.04 (Tier 1), Windows 10/11, RHEL 9, macOS (Tier 3). Domyślny DDS: **Fast DDS** (eProsima); alternatywne: Cyclone DDS (Eclipse), Connext DDS (RTI), GurumDDS. Wsparcie dla architektur: amd64, arm64 (włącznie z Jetson AGX Orin), armhf (Raspberry Pi 4 32-bit).

**Cykl życia**: Initial release: 23 maja 2023, regularnie patche aż do **EOL 30 listopada 2024**. Po EOL: Iron jest archived — no security patches, no bug fixes. Migration path: Iron → Jazzy (Ubuntu 24.04 LTS, support do maja 2029). Iron pozostaje używany w research labs i prototypach które uruchomiono w okresie 2023-2024.

**Status w ekosystemie**: ~60% community projects opublikowanych w 2023-2024 ma branch dla Iron (oprócz Humble). Większość maintainerów przeszła na Jazzy w 2024-2025.

Typ i role
Typy oprogramowania
Middleware

Middleware to warstwa oprogramowania pośrednicząca między aplikacjami, usługami, sensorami, sterownikami i warstwami wykonawczymi. W robotyce middleware odpowiada często za komunikację, wymianę wiadomości, abstrakcję sprzętu i integrację modułów w jednym systemie.

Runtime

Runtime to środowisko lub warstwa uruchomieniowa wykorzystywana do wykonywania kodu, ładowania bibliotek, obsługi zależności i działania aplikacji lub usług w czasie rzeczywistym albo w czasie pracy systemu.

SDK

SDK (Software Development Kit) to zestaw bibliotek, interfejsów, narzędzi i dokumentacji przeznaczonych do tworzenia aplikacji oraz integracji z konkretnym sprzętem, platformą lub usługą. W robotyce SDK często udostępnia dostęp do sterowania urządzeniem, telemetrii, sensorów, konfiguracji i funkcji wykonawczych.

Biblioteka API

API Library to biblioteka udostępniająca interfejsy programistyczne do komunikacji z urządzeniem, usługą lub systemem. W praktyce może stanowić lekką warstwę integracyjną opartą na oficjalnym API producenta lub projekcie open-source.

Narzędzie deweloperskie

Developer Tool to oprogramowanie przeznaczone do wspierania pracy deweloperskiej, w tym konfiguracji, debugowania, testowania, monitorowania, walidacji lub integracji systemów robotycznych i embedded.

Wybierz pozycję, aby zobaczyć opis.
Kategoria główna
MiddlewareRuntime i infrastrukturaSDKNarzędzia deweloperskie
Role w ekosystemie robotycznym
Sterowanie robotem

Robot Control oznacza rolę oprogramowania odpowiedzialnego za sterowanie ruchem, wykonywanie komend, koordynację działania elementów wykonawczych oraz bezpośrednią logikę operacyjną robota.

Percepcja

Perception oznacza rolę oprogramowania przetwarzającego dane z kamer, LiDAR-ów, IMU i innych sensorów w celu wykrywania obiektów, rozpoznawania sceny, lokalizacji, mapowania i interpretacji środowiska.

Wsparcie deweloperów

Developer Enablement oznacza rolę oprogramowania wspierającego deweloperów w integracji, debugowaniu, walidacji, konfiguracji, testowaniu i uruchamianiu systemów robotycznych oraz ich komponentów.

Dostęp API

API Access oznacza rolę oprogramowania udostępniającego interfejs programistyczny do komunikacji z robotem, sensorem, usługą lub platformą, umożliwiający tworzenie integracji i aplikacji klienckich.

Wizualizacja

Visualization oznacza rolę oprogramowania służącego do wizualnego przedstawiania danych z robota, sensorów, trajektorii, map, scen, telemetrii i innych informacji diagnostycznych lub operacyjnych.

Planowanie ruchu

Motion Planning oznacza rolę oprogramowania odpowiedzialnego za planowanie trajektorii, ruchu, kolejności działań oraz wyznaczanie bezpiecznych i wykonalnych ścieżek dla robota lub manipulatora.

Wybierz pozycję, aby zobaczyć opis.
Rodzina oprogramowania
Rodzina
ROS 2 Ecosystem

Rodzina oprogramowania należącego do ekosystemu ROS 2 i powiązanych narzędzi robotycznych.

Dojrzałość i adopcja
9 / 9
Sprawdzone w warunkach operacyjnych
BadaniaPrototypProdukcja
Skala adopcjiUgruntowany open source
Status utrzymaniaKoniec życia
Pierwsze wydanie2023
Ostatnia aktualizacja20 maja 2026
Wdrożenia

Iron był wykorzystany w **NASA VIPER lunar rover prototypes** (2023-2024, przed migracją na Jazzy). Toyota Research Institute użył Iron dla autonomous shuttle pilots (Plano, TX). Open Source Robotics Foundation udostępniła refreshed Nav2 stack na Iron jako baseline dla Mobile Robot Challenge 2023. Wielu producentów (Clearpath Husky, Robotnik RB-Vogui) miało dedykowane Iron metapackages między 2023 a Q3 2024. Po EOL większość użytkowników przeszła na Jazzy (od 2024) lub LTS Humble.

Społeczność

W szczytowej fazie (Q1 2024) ROS 2 Iron miał ~15 000 aktywnych instalacji raportowanych przez `rosversion`. ROS Index zaindeksował ~3 200 pakietów społecznościowych na Iron. Po EOL (listopad 2024) liczba aktywnych instalacji spadła do <2 000 do Q1 2026. ROS Discourse 'iron-irwini' tag: ~850 wątków.

Integruje się z
R2
ROS 2
Otwarty framework do tworzenia oprogramowania robotów. Następca ROS 1 oparty na DDS, z natywnym wsparciem dla systemów rozproszonych, real-time i wielu platform. Standard de facto w robotyce badawczej i komercyjnej.
GH
Gazebo Harmonic (gz-sim)
Wersja LTS nowej generacji Gazebo (gz-sim), wydana we wrześniu 2023 r. — następca Gazebo Classic. Modularna architektura, integracja z ROS 2 Humble/Iron/Jazzy, wsparcie do września 2028 r.
N
Nav2
Profesjonalnie wspierany następca ROS Navigation Stack — produkcyjny framework nawigacji dla robotów mobilnych, quadrupedów i AGV. Behavior Trees, planery (Smac, NavFn, Theta*), kontrolery (MPPI, RPP, DWB), AMCL, costmapy.
M2
MoveIt 2
Otwartoźródłowy framework planowania ruchu, manipulacji i kinematyki dla ROS 2 — branch MoveIt na ROS 2 (Foxy → Jazzy). Główny opiekun PickNik Robotics. Standard de facto dla manipulatorów w ekosystemie ROS.
NI
NVIDIA Isaac ROS
NVIDIA Isaac ROS — kolekcja GPU-accelerated GEM packages dla ROS 2: stereo depth, AprilTags, pose estimation, cuVSLAM, object detection na Jetson i x86 CUDA. Fundament NVIDIA stack-u percepcji robotów.
EF
eProsima Fast DDS
Implementacja standardu OMG DDS przez eProsima — domyślna warstwa komunikacyjna w ROS 2 od dystrybucji Foxy. Wysoka wydajność, deterministyczne QoS, wsparcie DDS-XRCE dla mikrokontrolerów (Micro XRCE-DDS).
EC
Eclipse Cyclone DDS
Lekka, otwartoźródłowa implementacja standardu OMG DDS rozwijana w ramach Eclipse Foundation. Alternatywne RMW w ROS 2 i de facto domyślne w wielu dystrybucjach. Wykorzystywana w autonomicznych systemach i komunikacji peer-to-peer.
M
micro-ROS
Port ROS 2 dla mikrokontrolerów (Cortex-M, ESP32, RISC-V). Pozwala węzłom uruchamianym na MCU komunikować się z resztą grafu ROS 2 przez agenta Micro XRCE-DDS — protokół DDS zoptymalizowany dla embedded.
C
colcon
colcon (collective construction) — oficjalny meta build tool dla ROS 2 i nie tylko, następca catkin_make i ament_tools. Buduje wielopakietowe workspace'y CMake/Python z resolwowaniem zależności.
R
rosdep
rosdep — oficjalne narzędzie ROS / ROS 2 do rozwiązywania zewnętrznych zależności systemowych (apt, brew, yum, pip) z mapy `rosdep/base.yaml`. Standard od ROS Hydro (2013).
B
bloom
bloom — narzędzie release / packaging ROS, generuje pakiety .deb i RPM z `package.xml` i wysyła do buildfarm ROS. Niezbędne dla każdego maintainera pakietu w ros/rosdistro.
Powiązane oprogramowanie robotyczne
R2
ROS 2
Otwarty framework do tworzenia oprogramowania robotów. Następca ROS 1 oparty na DDS, z natywnym wsparciem dla systemów rozproszonych, real-time i wielu platform. Standard de facto w robotyce badawczej i komercyjnej.
R2
ROS 2 Humble
Wersja LTS frameworka ROS 2 bazująca na Ubuntu 22.04. Wsparcie do maja 2027 r. Najczęściej deployowane wydanie w humanoidach, AMR i platformach badawczych. Pełna integracja Nav2, MoveIt 2 i ros2_control.
R2
ROS 2 Jazzy Jalisco
ROS 2 Jazzy Jalisco — najnowszy LTS (maj 2024, wsparcie do maja 2029) na Ubuntu 24.04. C++17→C++17, Fast DDS 3.0, ulepszone executors, RMW Zenoh, lepsze QoS dla zmiennych sieci.
N
Nav2
Profesjonalnie wspierany następca ROS Navigation Stack — produkcyjny framework nawigacji dla robotów mobilnych, quadrupedów i AGV. Behavior Trees, planery (Smac, NavFn, Theta*), kontrolery (MPPI, RPP, DWB), AMCL, costmapy.
M2
MoveIt 2
Otwartoźródłowy framework planowania ruchu, manipulacji i kinematyki dla ROS 2 — branch MoveIt na ROS 2 (Foxy → Jazzy). Główny opiekun PickNik Robotics. Standard de facto dla manipulatorów w ekosystemie ROS.
GH
Gazebo Harmonic (gz-sim)
Wersja LTS nowej generacji Gazebo (gz-sim), wydana we wrześniu 2023 r. — następca Gazebo Classic. Modularna architektura, integracja z ROS 2 Humble/Iron/Jazzy, wsparcie do września 2028 r.
EF
eProsima Fast DDS
Implementacja standardu OMG DDS przez eProsima — domyślna warstwa komunikacyjna w ROS 2 od dystrybucji Foxy. Wysoka wydajność, deterministyczne QoS, wsparcie DDS-XRCE dla mikrokontrolerów (Micro XRCE-DDS).
EC
Eclipse Cyclone DDS
Lekka, otwartoźródłowa implementacja standardu OMG DDS rozwijana w ramach Eclipse Foundation. Alternatywne RMW w ROS 2 i de facto domyślne w wielu dystrybucjach. Wykorzystywana w autonomicznych systemach i komunikacji peer-to-peer.
Obsługiwane modele robotów

Unitree G1

Humanoidalny robot dwunożny firmy Unitree Robotics, zaprojektowany jako kompaktowa platforma badawczo-rozwojowa oraz deweloperska.

Applications
  • Badania
  • Asystencja domowa

Unitree H1

Pełnowymiarowy uniwersalny humanoid Unitree Robotics, ok. 180 cm i 47 kg, 5 DOF na nogę, prędkość 3,3 m/s, percepcja 3D LiDAR + kamera głębi, kluczowe stawy z silnikami PMSM Unitree M107.

Applications
  • Badania

Figure 03

Figure 03 to trzeciej generacji humanoidalny robot Figure AI, zaprojektowany dla Helix, środowiska domowego i skalowalnej produkcji masowej.

Applications
  • Automatyzacja fabryki
  • Logistyka przemysłowa
  • Obsługa linii produkcyjnej
  • Automatyzacja magazynowa
  • Manipulacja obiektami
  • Asystencja domowa

Tesla Optimus

Ogólnoprzeznaczony robot rozwijany przez Teslę od 2021 r. (Tesla Bot). Wzrost ok. 173 cm, masa 57 kg, udźwig 20 kg. Dłonie generacji 3 mają 22 stopnie swobody. Sterowany systemem AI wywodzącym się z Tesla FSD.

Applications
  • Automatyzacja fabryki
  • Obsługa linii produkcyjnej
  • Manipulacja obiektami
  • Asystencja domowa

Atlas

Humanoidalny robot dwunożny Boston Dynamics. W pełni elektryczna generacja zaprezentowana w 2024 roku jako następca hydraulicznego Atlasa wycofanego po ponad dekadzie badań.

Applications
  • Automatyzacja fabryki
  • Badania
  • Obsługa linii produkcyjnej
  • Manipulacja obiektami

MagicBot Z1

Kompaktowy, dynamiczny humanoid bipedalny MagicLab. 140 cm, 40 kg, 24–50 DOF, prędkość chodu do 2,5 m/s. Zaprezentowany 8 lipca 2025 wyczynami z zakresu sztuk walki i akrobacji.

Applications
  • Badania
  • Hotelarstwo
  • Handel detaliczny
  • Asystencja domowa
  • Manipulacja obiektami
Docelowe platformy robotyczne
Humanoid
Robot czworonożny
Robot mobilny
Ramię robotyczne
Robot przemysłowy
Robot usługowy
Robot badawczy
Dron / UAV
Wsparcie ROSKompatybilność z ekosystemem ROS / ROS 2
Official ROS 2 PackagePakiet dostępny w oficjalnym rejestrze ROS 2 przez rosdep / apt (packages.ros.org)
Możliwości systemu
Open source
Kod źródłowy dostępny publicznie pod licencją open-source — umożliwia audyt bezpieczeństwa, własne modyfikacje oraz integrację bez barier licencyjnych.
Real-time capable
Zaprojektowane z gwarancjami determinizmu czasowego — spełnia wymagania pętli sterowania, systemów bezpieczeństwa i zadań wymagających niskiej, przewidywalnej latencji.
⟨/⟩
Dostępne API
Oprogramowanie udostępnia programowalny interfejs (REST, gRPC, SDK lub biblioteki językowe) pozwalający na automatyzację i integrację z innymi systemami.
📦
Pre-built / binary
Dystrybuowane jako gotowe pakiety binarne, obrazy kontenerów lub instalatory — bez konieczności kompilacji ze źródeł.
Języki programowania
C++

C++ to język programowania szeroko wykorzystywany w robotyce, systemach embedded, middleware, sterowaniu i przetwarzaniu danych, szczególnie tam, gdzie istotna jest wydajność oraz bliska integracja ze sprzętem.

Python

Python to wysokopoziomowy język programowania szeroko stosowany w robotyce, AI, computer vision, automatyzacji, testach i szybkiej integracji komponentów sprzętowych oraz software'owych.

C

C to język programowania powszechnie wykorzystywany w firmware, sterownikach, mikrokontrolerach i systemach embedded, gdzie wymagana jest bezpośrednia kontrola nad zasobami sprzętowymi.

Wybierz pozycję, aby zobaczyć opis.
Systemy operacyjne
Ubuntu 22.04

Ubuntu 22.04 LTS to długoterminowo wspierana wersja systemu Linux wykorzystywana w robotyce, AI, systemach edge i środowiskach programistycznych. Stanowi popularną bazę dla nowszych stosów oprogramowania oraz dystrybucji ROS 2.

Windows

Windows to rodzina systemów operacyjnych Microsoft wykorzystywana w środowiskach desktopowych, developerskich i integracyjnych. W robotyce występuje głównie jako środowisko narzędziowe, konfiguracyjne lub developerskie.

macOS

macOS to system operacyjny Apple wykorzystywany głównie na stacjach roboczych i laptopach deweloperskich do budowy, testowania i integracji oprogramowania.

Debian

Debian to jedna z najbardziej stabilnych i powszechnie stosowanych dystrybucji Linux, wykorzystywana jako baza dla wielu systemów embedded, robotycznych i serwerowych.

JetPack Linux

JetPack Linux oznacza środowisko systemowe i software'owe dla platform NVIDIA Jetson, wykorzystywane do uruchamiania aplikacji AI, computer vision i robotyki edge. W praktyce bazuje na Linuxie i pakietach NVIDIA dla Jetson.

Wybierz pozycję, aby zobaczyć opis.
Minimalne wymagania sprzętowe
Minimalne wymagania sprzętowe
CPUMinimum: 2-core x86-64 ≥ 1,8 GHz lub ARMv8 64-bit. Rekomendowane: 4-core ≥ 2,5 GHz dla produkcyjnych deploymentów z wieloma nodes.
RAM (GB)4
GPUNiewymagane dla core ROS 2. Wymagane dla GPU-accelerated nodes (RViz2 z dużymi point clouds: dGPU lub iGPU ≥ Intel UHD 620; Isaac ROS perception: NVIDIA GPU z CUDA 11.4+).
Dysk (GB)15

Instalacja: `sudo apt install ros-iron-desktop` (Ubuntu 22.04) lub Docker image `osrf/ros:iron-desktop`. Pełna instalacja desktop zajmuje ~12 GB; minimalna ros-base ~2 GB. EOL distro — nowe instalacje nie zalecane, użyj Humble (LTS) lub Jazzy (LTS).

Pakowanie i dystrybucja
Menadżery pakietów
apt / deb

Menedżer pakietów Debian/Ubuntu – apt-get install.

Docker / Docker Hub

Platforma konteneryzacji Docker i publiczny rejestr obrazów Docker Hub (hub.docker.com). Kontenery Docker zapewniają izolację środowiska uruchomieniowego – oprogramowanie i wszystkie jego zależności spakowane w przenośny obraz działający identycznie na dowolnym hoście Linux z Docker Engine. Kluczowe zastosowania w robotyce: dystrybucja gotowych środowisk ROS 2 (oficjalne obrazy: ros:humble, ros:jazzy na Docker Hub, utrzymywane przez Open Robotics), NVIDIA NGC Container Registry (nvcr.io) z obrazami NVIDIA Isaac ROS zawierającymi prekompilowane pakiety GPU-accelerated dla Jetson, dystrybucja złożonych stosów oprogramowania z wieloma zależnościami bez ryzyka konfliktów, CI/CD pipeline'y testujące oprogramowanie robotyczne w izolowanym środowisku. Oficjalne obrazy ROS: 'docker pull ros:humble-ros-base' (minimalny), 'ros:humble-desktop' (pełny z RViz2). NVIDIA Isaac ROS: 'nvcr.io/nvidia/isaac/ros' z obsługą GPU na Jetson AGX Orin. Docker Compose umożliwia orkiestrację wielu kontenerów (robot controller + navigation stack + perception pipeline). Ograniczenia w robotyce: dostęp do hardware (GPIO, CAN, EtherCAT) wymaga konfiguracji '--device' lub '--privileged', real-time scheduling wymaga specjalnej konfiguracji host kernel, GUI (RViz2, Gazebo) wymaga przekazania X11 lub Wayland.

Source – CMake / ament_cmake

Dystrybucja wyłącznie przez kod źródłowy z systemem budowania CMake lub ament_cmake (ROS 2 extension CMake). Użytkownik pobiera kod źródłowy (git clone lub tarball) i kompiluje lokalnie przez: 'cmake -B build && cmake --build build' (CMake) lub 'colcon build' (ament_cmake w workspace ROS 2). Stosowana gdy: pakiet nie jest dostępny w żadnym rejestrze binarnym, wymagana jest custom konfiguracja kompilacji (specyficzne flagi kompilatora, opcje cmake), oprogramowanie targetuje niestandardową platformę sprzętową (exotic embedded SoC), deweloper chce modyfikować kod źródłowy. Typowy workflow w ROS 2: vcstool importuje źródła do workspace/src, colcon build kompiluje. Wymaga zainstalowania wszystkich build dependencies (compilery, biblioteki systemowe) – rosdep automatyzuje instalację dependencies. Najdłuższy czas instalacji (kompilacja może trwać dziesiątki minut na embedded hardware), ale maksymalna kontrola i konfigurowalność. Standard dla pakietów ROS 2 niedostępnych jeszcze w apt lub wymagających niestandardowej kompilacji.

rosdep / bloom

ROS dependency manager i release tool.

GitHub Releases / GitHub Actions Artifacts

Mechanizm dystrybucji oprogramowania przez GitHub Releases – binarne artefakty (skompilowane pliki wykonywalne, biblioteki, archiwia .tar.gz, .zip, pakiety .deb, .rpm, obrazy Docker) dołączane do tagowanych wydań GitHub. GitHub Actions Artifacts: tymczasowe artefakty budowania przechowywane przez ograniczony czas (90 dni domyślnie). Stosowane w robotyce dla: SDK robotów bez własnej infrastruktury dystrybucji (pobranie .deb lub tarball z GitHub Releases), gotowych binarnych buildów dla konkretnych platform (ROS 2 pre-built dla Raspberry Pi aarch64 przez GitHub Actions), narzędzi CLI i aplikacji standalone. GitHub Container Registry (ghcr.io): hosting obrazów Docker w ramach GitHub – alternatywa dla Docker Hub zintegrowana z GitHub Actions. Automatyzacja: GitHub Actions workflow budujący i publikujący release przy każdym tagu (np. 'on: push: tags: v*'). Ograniczenia: brak zarządzania zależnościami (użytkownik musi samodzielnie zainstalować dependencies), brak automatycznych aktualizacji, wymaga ręcznego pobierania nowych wersji (chyba że używany instalator lub package manager pobiera z GitHub Releases API).

Wybierz pozycję, aby zobaczyć opis.
Architektury CPU
x86_64 (AMD64)

64-bitowa architektura procesora wywodząca się z rodziny x86, opracowana przez AMD (jako AMD64) i zaadoptowana przez Intel (jako Intel 64 / EM64T). Dominująca architektura w komputerach osobistych, serwerach, stacjach roboczych i komputerach przemysłowych. W robotyce stosowana jako główna platforma obliczeniowa dla: stacji operatorskich i komputerów deweloperskich (Ubuntu 22.04/24.04 x86_64), serwerów fleet management i cloud robotics, symulatorów (Gazebo, Isaac Sim wymagają x86_64 z GPU NVIDIA dla pełnej wydajności), komputerów pokładowych robotów mobilnych wyższej klasy (Intel NUC, mini-PC przemysłowe jak Nuvo, OnLogic). Oficjalne wsparcie ROS 2 dla x86_64 jest tier-1 – wszystkie dystrybucje ROS 2 (Humble, Jazzy, Kilted) są w pełni wspierane i testowane. Pakiety apt dostępne przez packages.ros.org dla Ubuntu x86_64. Dominuje w środowiskach deweloperskich i symulacyjnych. Na robotach mobilnych i humanoidach x86_64 jest stosowane gdy wymagana jest wysoka moc obliczeniowa (np. Intel Core Ultra, AMD Ryzen Embedded) bez ograniczeń energetycznych typowych dla ARM. Przykłady hardware: Intel NUC 13 Pro, AMD Ryzen Embedded V2000, Advantech MIC-770.

ARM64 / AArch64

64-bitowa architektura ARM (Advanced RISC Machine) w wersji ARMv8-A i nowszych – dominująca architektura w embedded computing, robotyce mobilnej i edge AI. Dwie nazwy oznaczają to samo: ARM64 (nazwa stosowana przez Apple i w kontekście macOS/iOS), AArch64 (oficjalna nazwa architektury ARM, używana w Linuksie i ekosystemie embedded). Absolutnie dominująca architektura w nowoczesnej robotyce mobilnej i humanoidalnej: NVIDIA Jetson (Orin NX, AGX Orin – Cortex-A78AE), Raspberry Pi 4/5 (Cortex-A72/A76), Qualcomm Robotics RB5/RB6 (Kryo), Apple M1/M2/M3 (dla stacji deweloperskich macOS), procesory w smartfonach używanych jako moduły robotyczne. Oficjalne wsparcie ROS 2 tier-1 dla aarch64 od dystrybucji Humble – pakiety apt dostępne przez packages.ros.org dla Ubuntu 22.04/24.04 aarch64. Unitree SDK2 dostępne dla aarch64 (target: Jetson Orin NX w G1). Boston Dynamics Spot: Qualcomm aarch64. Zalety wobec x86_64: znacznie niższy pobór energii (TDP 5–65W vs 45–125W), lepsza wydajność na wat, wbudowane NPU/GPU dla edge AI, mniejszy footprint fizyczny. Ograniczenia: historycznie mniejsza dostępność prebuildowanych pakietów (szybko zmniejsza się), niektóre biblioteki x86-only nie są portowane.

NVIDIA Jetson – AArch64 (JetPack)

Specjalizowana platforma obliczeniowa NVIDIA Jetson oparta na architekturze AArch64 z zintegrowanym GPU NVIDIA (architektura Ampere w Orin, Maxwell/Pascal/Volta w starszych modułach) i akceleratorem DLA (Deep Learning Accelerator). JetPack SDK: kompletny stack software dla Jetson obejmujący L4T (Linux for Tegra – Ubuntu-based OS), CUDA, cuDNN, TensorRT, VPI (Vision Programming Interface), Multimedia API. Moduły Jetson Orin: AGX Orin (12-core Cortex-A78AE, Ampere GPU 2048 CUDA cores, 64 GB RAM, TDP 15–60W), Orin NX 16GB (8-core, 1024 CUDA cores, 16 GB RAM, TDP 10–25W – używany w Unitree G1), Orin Nano (6-core, 1024 CUDA cores, 8 GB RAM, TDP 7–15W). Isaac ROS: oficjalne GPU-accelerated pakiety ROS 2 dla Jetson, dystrybuowane przez NVIDIA NGC Container Registry. Wsparcie ROS 2: tier-1 dla aarch64 Ubuntu 22.04 (Humble) i Ubuntu 24.04 (Jazzy) na JetPack 5.x/6.x. Kluczowa platforma dla robotyki z wymaganiami AI: perception pipeline (stereo depth, object detection, pose estimation), SLAM, VLA inference na edge. Przykłady wdrożeń: Unitree G1 (Orin NX 16GB jako high-level compute), Boston Dynamics (wybrane produkty), drony autonomiczne (Skydio), roboty AMR wymagające edge AI.

ARMv7 / ARM32 (armhf)

32-bitowa architektura ARM w wersji ARMv7-A z rozszerzeniem Thumb-2 i sprzętową jednostką zmiennoprzecinkową (Hard Float – stąd oznaczenie armhf w dystrybucjach Debian/Ubuntu). Dominowała w embedded Linux i robotyce mobilnej przed upowszechnieniem się ARM64. Stosowana w: starszych Raspberry Pi (Pi 2 Model B: ARMv7, Pi 3 32-bit OS), BeagleBone Black (AM335x Cortex-A8), STM32MP1 (Cortex-A7 + Cortex-M4), starszych platformach robotycznych (TurtleBot 2, kobuki). Ograniczenia: maksymalnie 4 GB RAM adresowalnej, brak nowoczesnych rozszerzeń SIMD porównywalnych z AArch64 (NEON 64-bit vs NEON 128-bit w AArch64), malejące wsparcie w nowszych pakietach. ROS 2 Humble: armhf jest tier-3 (best-effort, bez gwarancji oficjalnych buildów). Większość nowoczesnych SDK robotycznych (Unitree SDK2, Isaac ROS) nie wspiera armhf. Relevantna dla: utrzymania starszych platform robotycznych (legacy support), bardzo ograniczone embedded SBC gdzie ARM64 niedostępne, mikrokontrolerów z Linux (Cortex-A klasy niskiej). Nowe projekty powinny targetować ARM64 zamiast ARMv7.

Wybierz pozycję, aby zobaczyć opis.
Trudność instalacji
PoziomUmiarkowana
Protokoły i interfejsy
Protokoły komunikacji
DDS (Data Distribution Service)

Standard middleware OMG (Object Management Group) oparty o model publish-subscribe, zaprojektowany dla systemów rozproszonych czasu rzeczywistego. Definiuje warstwę komunikacyjną DCPS (Data-Centric Publish-Subscribe) oraz protokół przewodowy RTPS (Real-Time Publish-Subscribe). Stosowany jako domyślna warstwa komunikacyjna w ROS 2 – każda implementacja ROS 2 opiera się na jednej z implementacji DDS (CycloneDDS, Fast DDS, Connext DDS). Obsługuje discovery, QoS, reliability, durability i liveliness.

Fast DDS (eProsima)

Otwartoźródłowa implementacja DDS firmy eProsima, napisana w C++. Była domyślną implementacją DDS w ROS 2 przed dystrybucją Humble. Obsługuje RTPS, shared memory transport, security (DDS-Security), XML profile configuration. Szeroko stosowana w systemach robotycznych i automotive. Licencja Apache 2.0.

CycloneDDS

Otwartoźródłowa implementacja standardu OMG DDS rozwijana przez Eclipse Foundation, napisana w C. Domyślna implementacja DDS w ROS 2 od dystrybucji Humble. Używana przez Unitree SDK2 jako warstwa transportowa. Obsługuje UDP multicast i unicast, QoS policies, shared memory transport (Iceoryx). Licencja Eclipse Public License 2.0 / Eclipse Distribution License 1.0.

RTPS (Real-Time Publish-Subscribe)

Protokół przewodowy warstwy transportowej DDS, zdefiniowany przez OMG. Opisuje format pakietów, mechanizm discovery (SPDP/SEDP), reliable delivery, fragmentację dużych wiadomości oraz QoS. Działa na UDP/IP (unicast i multicast). Wszystkie implementacje DDS zgodne z RTPS są ze sobą interoperacyjne na poziomie sieci – węzły ROS 2 używające CycloneDDS i Fast DDS mogą komunikować się bez mostków.

Zenoh

Protokół komunikacyjny i middleware następnej generacji rozwijany przez Eclipse Foundation (twórcy CycloneDDS). Łączy semantykę pub/sub, query/reply i pipeline w jednym protokole, obsługując środowiska od microcontrollerów (Zenoh-Pico) przez LAN po WAN i internet bez pośredniczącego brokera. Oferuje znacznie lepszą przepustowość i niższe opóźnienia niż DDS w środowiskach WAN.

ROS 2 Topics

Mechanizm asynchronicznej komunikacji publish-subscribe w ROS 2, zbudowany na warstwie DDS/RTPS. Węzły publikują wiadomości na nazwanych topicach (np. /joint_states, /cmd_vel, /camera/image_raw), a inne węzły subskrybują te topici bez wiedzy o nadawcy. Obsługuje QoS policies (reliability, durability, history, deadline, lifespan). Podstawowy mechanizm wymiany danych sensorycznych, stanu robota i komend sterowania w ekosystemie ROS 2.

ROS 2 Services

Mechanizm synchronicznej komunikacji request-response w ROS 2, zbudowany na warstwie DDS. Serwer rejestruje nazwany serwis i czeka na żądania, klient wysyła żądanie i blokuje się do czasu otrzymania odpowiedzi. Używany do operacji wymagających potwierdzenia: uruchomienie/zatrzymanie akcji, zapytania o stan, rekonfiguracja parametrów.

ROS 2 Actions

Mechanizm asynchronicznych zadań długotrwałych w ROS 2, rozszerzenie services o feedback i możliwość anulowania. Klient wysyła cel (goal), serwer akceptuje go i cyklicznie raportuje postęp (feedback), na końcu zwraca wynik (result). Stosowany do nawigacji (Nav2 NavigateToPose), manipulacji (MoveIt2 FollowJointTrajectory), chwytania obiektów.

Rosbridge (rosbridge_suite)

Protokół i serwer umożliwiający komunikację z ROS/ROS 2 przez WebSocket z użyciem JSON. Implementacja rosbridge_server wystawia WebSocket endpoint (domyślnie port 9090), przez który klienty niebędące węzłami ROS mogą publikować/subskrybować topici, wywoływać serwisy i akcje.

Shared Memory (POSIX / mmap)

Mechanizm IPC oparty na współdzielonym obszarze pamięci między procesami na tym samym hoście. Stosowany w robotyce jako ultra-low-latency transport dla dużych danych. Latencje poniżej 1 µs.

Wybierz pozycję, aby zobaczyć opis.
Interfejsy sprzętowe
Ethernet 1000BASE-T (Gigabit Ethernet)

Standard IEEE 802.3ab – Ethernet 1 Gbit/s przez skrętkę Cat5e/Cat6, złącze RJ-45. Dominujący interfejs sieciowy w robotyce: komunikacja SDK-robot (Unitree SDK2, Boston Dynamics API, UR e-Series), przesyłanie obrazów z kamer IP, integracja z ROS 2 przez DDS/RTPS.

Ethernet 10GBASE-T (10 Gigabit Ethernet)

Standard IEEE 802.3an – Ethernet 10 Gbit/s przez skrętkę Cat6a/Cat7, złącze RJ-45 lub SFP+. W robotyce stosowany w stacjach bazowych floty, serwerach edge computing i systemach wymagających przesyłu dużych map 3D.

USB 3.0 / 3.1 Gen 1

Universal Serial Bus 3.0 (przemianowany na USB 3.1 Gen 1) – standard o przepustowości do 5 Gbit/s (SuperSpeed). Powszechnie stosowany w robotyce do kamer głębi (Intel RealSense D435i, D455), kamer stereo i skanerów 3D wymagających wysokiego pasma dla strumieni depth + RGB. Zasilanie: 5V / 900 mA. Złącza: Type-A, Type-B, Micro-B, Type-C. NVIDIA Jetson AGX Orin posiada 4 porty USB 3.1 Gen 1.

PCIe 4.0

Peripheral Component Interconnect Express 4.0 – przepustowość 16 GT/s na tor: x16 = 31.5 GB/s (dwukrotność PCIe 3.0). Dostępny w NVIDIA Jetson AGX Orin (PCIe Gen4 x8 i x16 przez złącze M.2 Key-M i PCIe slot). Stosowany do podłączania GPU inference, szybkich NVMe SSD i kart capture dla kamer przemysłowych.

CAN 2.0A / 2.0B

Controller Area Network 2.0 – standardowy protokół CAN zdefiniowany przez Bosch (1991). CAN 2.0A obsługuje 11-bitowe identyfikatory ramek, CAN 2.0B (Extended) – 29-bitowe. Prędkości do 1 Mbit/s. Standard de facto w robotach kroczących i kołowych.

UART / RS-232

Universal Asynchronous Receiver-Transmitter w standardzie napięciowym RS-232 (±3V–±15V logika odwrócona). Standard fizycznej warstwy komunikacji szeregowej stosowany historycznie w robotyce przemysłowej. Typowe prędkości: 9600 – 115200 baud. Zasięg kabla do 15 m przy 9600 baud.

EtherCAT (Slave Interface)

Interfejs EtherCAT po stronie urządzenia slave – każdy slave zawiera dedykowany ASIC ESC (EtherCAT Slave Controller), np. ET1100 (Beckhoff), LAN9252 (Microchip). ESC przetwarza ramki Ethernet w locie (on-the-fly) bez buforowania – minimalna latencja ~300 ns na węzeł.

Wybierz pozycję, aby zobaczyć opis.
Klasy opóźnień
Hard Real-Time (1–5 ms)

Deterministyczna klasa latencji 1–5 ms z twardą gwarancją dotrzymania deadline'ów. Realizowane na RTOS lub Linux RT-PREEMPT z izolacją CPU. Typowe cykle: 1 ms (1 kHz) dla pętli prędkości silników, 2 ms (500 Hz) dla pętli pozycji stawów, 5 ms (200 Hz) dla pętli sił i momentów. Komunikacja przez EtherCAT, CAN FD. Zastosowania: pętle regulacji prędkości w manipulatorach przemysłowych, sterowanie stawami robotów humanoidalnych w trybie low-level.

Hard Real-Time (5–20 ms)

Deterministyczna klasa latencji 5–20 ms – twardy real-time dla pętli zewnętrznych sterowania robotycznego. Cykle 5–20 ms (50–200 Hz). Możliwy na Linux RT-PREEMPT bez pełnego RTOS. Zastosowania: pętla pozycji i impedancji w cobotach (Universal Robots e-Series), sterowanie trajectoriami w manipulatorach (ros2_control JointTrajectoryController przy 100 Hz), pętla równowagi w robotach humanoidalnych. Wystarczający dla większości zastosowań sterowania ruchem.

Soft Real-Time (20–100 ms)

Klasa miękkiego czasu rzeczywistego 20–100 ms – deadline'y wymagane statystycznie, sporadyczne przekroczenia akceptowalne. Realizowany na standardowym Linux z priorytetem SCHED_FIFO. Komunikacja przez Ethernet GbE, DDS/RTPS, ROS 2 topics. Zastosowania: nawigacja AMR (Nav2: 20–50 Hz), high-level sterowanie humanoidów (Unitree SDK2: 50 Hz), planowanie trajektorii (MoveIt 2 servo), integracja sensorów (LiDAR SLAM: 10–20 Hz). Wystarczający dla większości algorytmów nawigacyjnych i SLAM.

Wybierz pozycję, aby zobaczyć opis.
Typy wdrożenia
Lokalna stacja robocza

Local Workstation oznacza typ wdrożenia, w którym software działa na komputerze lokalnym użytkownika, dewelopera lub operatora, np. laptopie, desktopie lub stacji roboczej.

Edge

Edge oznacza typ wdrożenia, w którym oprogramowanie działa na lokalnym urządzeniu obliczeniowym, bramce, komputerze przemysłowym lub innym zasobie blisko robota i sensorów, bez konieczności przetwarzania w chmurze.

Konteneryzowany

Containerized oznacza typ wdrożenia, w którym oprogramowanie jest pakowane i uruchamiane w kontenerach, np. Docker lub innych technologiach konteneryzacji, co ułatwia przenoszenie, replikację i zarządzanie zależnościami.

Na robocie

On Robot oznacza typ wdrożenia, w którym oprogramowanie działa bezpośrednio na robocie lub na jego pokładowym module obliczeniowym, np. komputerze przemysłowym, SBC lub platformie edge AI.

Chmura

Cloud oznacza typ wdrożenia, w którym oprogramowanie działa w infrastrukturze chmurowej, np. jako usługa backendowa, narzędzie orkiestracyjne, system analityczny lub zdalna warstwa zarządzająca.

Hybrydowy

Hybrid oznacza typ wdrożenia łączący lokalne lub pokładowe uruchamianie komponentów z dodatkowymi usługami działającymi na edge lub w chmurze.

Wybierz pozycję, aby zobaczyć opis.
Wspierane symulatory
Gazebo Harmonic
Aktualna wersja LTS symulatora Gazebo nowej generacji – domyślny symulator dla ROS 2 Jazzy.
Gazebo Garden
Wersja pośrednia Gazebo (2022) między Fortress a Harmonic – EOL.
NVIDIA Isaac Sim
Zaawansowany fotorealistyczny symulator robotyczny NVIDIA oparty na Omniverse.
Webots
Open source symulator robotyczny EPFL z szeroką biblioteką modeli i tier-1 ROS 2.
MuJoCo
Wysoce wydajny symulator fizyki Google DeepMind – standard w badaniach RL dla robotyki.
Oficjalne obrazy Docker
ros:humble
Licencje
Apache-2.0Apache License 2.0v2.0

Rodzina licencji: Licencja permisywna

ModyfikacjaDystrybucjaUżytek komercyjnySublicencjonowanieUżytek prywatnyKompatybilna z ROSOSI zatwierdzonaFSF Free/LibreWymaga oznaczenia autorstwaPatent grant

Permissive licencja open source opracowana przez Apache Software Foundation. Zawiera jawne udzielenie praw patentowych przez kontrybutorów (patent grant) oraz klauzulę retaliation (utrata licencji przy pozwie patentowym). Wymaga zachowania tekstu licencji, NOTICE file i informacji o zmianach w modyfikowanych plikach.

Uwaga dla robotyki

Oficjalna licencja Open Robotics dla rdzenia ROS 2 i większości pakietów tier-1. Standard de facto dla oprogramowania robotycznego open source. Klauzula patentowa chroni użytkowników przed pozwami ze strony kontrybutorów – preferowana nad MIT w projektach korporacyjnych. Kompatybilna z GPL v3 (ale nie GPL v2).

Historia wersji
Iron EOLlis 2024

Koniec wsparcia — distro przeniesione do archived status. Repozytoria nadal dostępne, ale bez nowych patches.

Iron Patch Release 3 (final)wrz 2024

Ostatni patch przed EOL — security fixes (CVE-2024-32487 w log4cxx fallback), final stability fixes.

Iron Patch Release 2mar 2024

Fixy w Fast DDS shared-memory transport, Nav2 dependency updates, ros2cli refinements.

Iron Patch Release 1paź 2023

Bugfixes w rclcpp, fixy intra-process communication races, improvements w `ros2 launch`.

Iron Irwini Initial Releasemaj 2023

Pierwsza wersja stabilna — Type Adaptation API, Loaned Messages, rcl_logging_spdlog default.