
Technologia · 12 min czytania
ROS 2 w humanoidach: jak Figure, Agility i inni budują stack software'owy
ROS 2 to dziś de facto standard warstwy middleware w robotach humanoidalnych. Sprawdzamy, jak wygląda realny stack u Figure, Agility, 1X i Unitree — i gdzie kończy się ROS, a zaczyna własny kod.
Mateusz · 14 maja 2026

ROS 2 (Robot Operating System w wersji 2) jest w 2026 roku faktycznym standardem middleware w robotach humanoidalnych klasy komercyjnej — używa go Agility Robotics w Digicie, 1X w modelu Neo, Unitree w G1 i H1, a Figure oraz Tesla wykorzystują go w narzędziach deweloperskich i symulacji. ROS 2 dostarcza komunikację między węzłami (DDS), TF2 do transformacji układów współrzędnych, Nav2 do nawigacji i MoveIt 2 do planowania ruchu. Nie zastępuje jednak stosu sterowania niskopoziomowego ani modeli VLA — te powstają poza ROS-em i komunikują się z nim przez dedykowane bridge'e.
Dla inżyniera oznacza to konkretną architekturę: warstwa czasu rzeczywistego (EtherCAT, 1 kHz) po C++ obok jądra RT, warstwa percepcji i planowania w ROS 2 Humble lub Jazzy (~100–200 Hz), a nad tym model językowo-wizualny działający na GPU pokładowym z częstotliwością 5–10 Hz. Ten trójwarstwowy podział przewija się przez większość działających dziś humanoidów i to on decyduje o realnym wyborze narzędzi.
Czym właściwie jest ROS 2 i dlaczego wyparł ROS 1?
ROS 2 to zestaw bibliotek i konwencji do budowy oprogramowania robotów, oparty na warstwie komunikacyjnej DDS (Data Distribution Service). W przeciwieństwie do ROS 1, nie wymaga centralnego mastera, obsługuje QoS, działa na Windows, Linux i systemach wbudowanych oraz jest projektowany pod twarde wymagania czasu rzeczywistego.
Kluczowe różnice, które sprawiły, że przemysł przeszedł na ROS 2:
- Brak SPOF (single point of failure) — węzły odkrywają się przez DDS, master nie istnieje.
- QoS na poziomie topicu — możesz wymagać niezawodnej dostawy lub odrzucać stare próbki.
- Wsparcie dla Micro-ROS na mikrokontrolerach STM32 i NXP.
- Bezpieczeństwo (SROS 2) z szyfrowaniem i uwierzytelnianiem węzłów.
- Stabilne LTS-y: Humble Hawksbill (2022–2027) i Jazzy Jalisco (2024–2029).
W praktyce firmy budujące humanoidy startują dziś na Humble albo Jazzy — ROS 1 Noetic wygasa w maju 2025 i nikt nowego robota już na nim nie projektuje.
Jakie komponenty ROS 2 są używane w humanoidach najczęściej?
Nie każdy pakiet ROS 2 znajduje zastosowanie w robocie dwunożnym. Poniżej realny przekrój tego, co widać w publicznych repozytoriach i wystąpieniach z ROSCon 2025.
- rclcpp / rclpy — biblioteki klienckie w C++ i Pythonie, podstawa każdego węzła.
- tf2 — drzewo transformacji między kilkudziesięcioma układami (base_link, każdy przegub, kamera, IMU).
- MoveIt 2 — planowanie ruchu ramion i chwytaków, zwykle z solverem TRAC-IK lub BioIK.
- Nav2 — nawigacja mobilnej podstawy w trybie kołowym lub jako warstwa nad footstep plannerem.
- ros2_control — abstrakcja sterowników sprzętowych, hardware interface do EtherCAT.
- image_pipeline + depthai-ros — akwizycja z kamer RGB-D i stereo, kalibracja.
- rosbag2 — nagrywanie danych z pola do trenowania modeli VLA.
Jak wygląda realny stack u Agility Robotics w Digicie?
Agility jest dziś najbardziej otwartym producentem — ich Agility SDK jest publicznie dokumentowane, a integracja z ROS 2 działa przez dedykowany bridge. Digit V4 używa ROS 2 Humble do warstwy percepcji i zadań wysokiego poziomu, ale sterowanie chodem (bipedal locomotion) działa poza ROS-em, w dedykowanym kontrolerze MPC (Model Predictive Control) z częstotliwością 1 kHz.
Architektura, jaką Agility prezentowała na ROSCon 2024 i doprecyzowała w 2025, wygląda tak:
| Warstwa | Częstotliwość | Technologia | Zadanie |
|---|---|---|---|
| Low-level control | 1000 Hz | C++ na RT-Linux | MPC, whole-body control |
| State estimation | 500 Hz | C++ / EKF | Fuzja IMU + enkoderów + LiDAR |
| Perception | 30–100 Hz | ROS 2 Humble | Detekcja palet, ludzi, przeszkód |
| Task planning | 1–10 Hz | ROS 2 + Behavior Trees | Zadania: podnieś, przenieś, odłóż |
| Cloud fleet mgmt | on-demand | REST + gRPC | Arc — panel zarządzania flotą |
Deweloperzy zewnętrzni piszą pod Digita głównie w warstwie zadań przy użyciu Behavior Trees (BT.CPP) i standardowych akcji ROS 2. Warstwa lokomocji jest zamknięta — i to jest wzorzec, który powtarza się u każdego producenta.
Dlaczego lokomocja nie mieści się w ROS 2?
Ponieważ ROS 2 nie gwarantuje twardego czasu rzeczywistego na poziomie 1 kHz przy pełnej fuzji sensorycznej. DDS wprowadza jitter rzędu setek mikrosekund, garbage collector w Pythonie jest wykluczony, a nawet w C++ scheduler Linuxa bez PREEMPT_RT potrafi zaburzyć pętlę sterowania. Dlatego kontrolery chodu piszą się w C++ na jądrze z łatką RT lub — coraz częściej — na dedykowanym mikrokontrolerze przez Micro-ROS, z ROS 2 tylko do wymiany celów i telemetrii.
Jak robi to Figure, 1X i Unitree?
Figure AI publicznie nie deklaruje ROS 2 jako głównego middleware — ich model Helix (VLA uruchamiany lokalnie na dwóch GPU pokładowych) jest zintegrowany z własnym stackiem inspirowanym architekturami z Autopilota Tesli. ROS 2 pojawia się w Figure głównie w narzędziach do zbierania danych i w symulacji (Isaac Sim + ros2_bridge).
1X w modelu Neo Gamma używa ROS 2 do warstwy percepcji i telemetrii, a lokomocja i manipulacja miękka są obsługiwane przez model neuronowy trenowany end-to-end. Publiczne demo z Investor Day 2025 pokazywało dashboard oparty o Foxglove Studio — to praktycznie standard debugowania dla ROS 2.
Unitree z kolei dostarcza w G1 i H1 pełne SDK w C++ i Pythonie z opcjonalnym mostem do ROS 2 Humble (unitree_ros2). Dla środowiska akademickiego to najprostsza droga: kupujesz G1 za 13,9 tys. USD i w kilka godzin masz działającą demo Nav2.
- Agility — ROS 2 Humble + zamknięty MPC, publiczne SDK.
- Figure — własny stack, ROS 2 głównie w narzędziach.
- 1X — ROS 2 do percepcji, sieć neuronowa do sterowania.
- Unitree — SDK natywne + oficjalny bridge do ROS 2.
- Tesla — brak ROS w produkcji, ROS 2 wyłącznie w symulacji zewnętrznych partnerów.
Które dystrybucje ROS 2 wybrać w 2026?
Wybór dystrybucji nie jest neutralny — decyduje o długości wsparcia, dostępności pakietów i kompatybilności ze sterownikami sprzętowymi.
| Dystrybucja | Data wydania | Koniec wsparcia | Rekomendacja |
|---|---|---|---|
| Humble Hawksbill | 05/2022 | 05/2027 | Produkcja, stabilne środowisko |
| Iron Irwini | 05/2023 | 11/2024 | Nie używać, EOL |
| Jazzy Jalisco | 05/2024 | 05/2029 | Nowe projekty, wsparcie długie |
| Kilted Kaiju | 05/2025 | 12/2026 | Krótki cykl, tylko dev |
| Lyrical (planowana) | 05/2026 | 05/2031 | LTS, jeszcze nie stabilna |
Dla nowego projektu humanoida w 2026 rozsądny wybór to Jazzy — pakiety dojrzały, MoveIt 2 i Nav2 są w pełni wspierane, a wsparcie do 2029 pokrywa cykl komercjalizacji.
Jak wygląda pipeline danych do trenowania modeli VLA?
Modele Vision-Language-Action potrzebują ogromnych ilości nagrań teleoperowanych i autonomicznych. Pipeline w firmach takich jak Agility czy 1X wygląda podobnie:
- Robot nagrywa dane przez rosbag2 do formatu MCAP.
- Bagi trafiają do S3, gdzie są indeksowane po zadaniu i lokalizacji.
- Foxglove Studio służy do przeglądu, adnotacji i wycinania fragmentów.
- Dane wychodzą do frameworków treningowych (PyTorch, JAX) przez konwerter do LeRobot lub Open X-Embodiment.
- Wytrenowany model wraca do robota jako węzeł ROS 2 publikujący cele dla warstwy sterowania.
Format MCAP wypiera stary rosbag właśnie dlatego, że jest agnostyczny wobec ROS-a — te same bagi można przetwarzać w pipeline'ach niezwiązanych z ROS 2.
Jakie są największe pułapki ROS 2 w humanoidach?
Nie ma sensu udawać, że ROS 2 jest gotowym rozwiązaniem plug-and-play. Realne problemy, o których mówią inżynierowie Agility, PAL Robotics i Boston Dynamics:
- Domyślny DDS (Fast DDS) potrafi zapchać interfejs Wi-Fi przy wielu topicach z obrazami — trzeba stroić QoS i domain ID.
- Debug drzewa TF przy 40+ przegubach wymaga narzędzi zewnętrznych, rviz nie skaluje się dobrze.
- Micro-ROS na STM32 wymaga ręcznego zarządzania pamięcią i customowego agenta.
- Kombinacja ros2_control + EtherCAT nie ma jednego oficjalnego sterownika — każdy producent robi swój.
- Aktualizacje między dystrybucjami LTS nie są bezbolesne, mimo obietnicy ABI stability.
FAQ
Czy da się zbudować humanoida bez ROS 2?
Tak — Tesla i Figure w dużej mierze go omijają. Wymaga to jednak własnego middleware, własnych narzędzi wizualizacyjnych i własnego formatu danych. Dla zespołów mniejszych niż 200 inżynierów jest to nieopłacalne.
Czy ROS 2 działa w twardym czasie rzeczywistym?
Nie w pełni. Można uzyskać miękki RT z jitterem poniżej 1 ms przy PREEMPT_RT i executorze static single-threaded, ale twarde 1 kHz z gwarancją terminów wymaga wyjścia poza ROS 2.
Jakiego języka używać do węzłów?
C++ dla wszystkiego, co ma częstotliwość powyżej 50 Hz i wymaga stabilnego opóźnienia. Python do zadań wysokiego poziomu, prototypowania i integracji z modelami ML.
Czy MoveIt 2 nadaje się do manipulacji dwuramiennej?
Tak, od 2024 roku obsługuje bimanualne planowanie z solverem BioIK. Ograniczeniem jest brak natywnego wsparcia dla planowania whole-body z uwzględnieniem chodu.
Czy Foxglove zastąpi rviz?
W praktyce już to zrobił w większości nowych projektów. rviz2 pozostaje do lokalnego debugowania, Foxglove obsługuje pracę zdalną i nagrania.
Glosariusz
- DDS — Data Distribution Service, standard komunikacji publish/subscribe leżący pod ROS 2.
- MPC — Model Predictive Control, sterowanie predykcyjne oparte o model dynamiki robota.
- VLA — Vision-Language-Action, model neuronowy mapujący obraz i polecenie językowe na akcje robota.
- Micro-ROS — port ROS 2 na mikrokontrolery, komunikuje się z hostem przez agenta.
- Behavior Tree — drzewo zachowań, struktura sterująca zadaniami wyższego poziomu.
- MCAP — nowoczesny format nagrań, wypiera stary rosbag.
- PREEMPT_RT — łatka jądra Linux dodająca preempcyjność potrzebną do soft real-time.
TL;DR
- ROS 2 jest standardem middleware w humanoidach, ale nie w warstwie sterowania niskopoziomowego.
- Agility, 1X i Unitree używają ROS 2 oficjalnie; Figure i Tesla — głównie w narzędziach.
- Rekomendowana dystrybucja na 2026 to Jazzy Jalisco (wsparcie do 2029).
- Realny stack ma trzy warstwy: 1 kHz C++/RT, 30–100 Hz ROS 2, 5–10 Hz model VLA.
- MCAP + Foxglove wypierają stare narzędzia i tworzą pipeline danych do trenowania modeli.
