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

**ROS 2 Jazzy Jalisco** to dziewiąta stabilna dystrybucja ROS 2 i czwarty LTS w historii projektu (po Foxy, Humble; Iron nie był LTS). Wydany 23 maja 2024 r. przez Open Robotics, z **5-letnim cyklem wsparcia do 23 maja 2029 r.**, co czyni Jazzy główną platformą rozwoju ROS 2 na najbliższe lata.
**Kluczowe usprawnienia**: (1) **Multi-Threaded Executor improvements** — eliminacja wielu starvation bugs z poprzednich distros, lepsze handling priority inversion. (2) **`rmw_zenoh_cpp`** — nowy middleware backend oparty na Eclipse Zenoh, alternatywa dla DDS w scenariuszach z niestabilną siecią (WiFi, mesh networks, edge-to-cloud). (3) **Fast DDS 3.0** jako default — większe message sizes (do 100 MB out-of-the-box), lepszy SHM transport. (4) **`ros2 component standalone`** — kontener bez ros_environment dla minimalnej instalacji. (5) **REP-2018 'External Tooling Definition'** — formalizacja interfejsów do ros2cli plugins. (6) **`launch_ros` async API** — non-blocking startup dla complex bring-up procedures.
**Platforma**: Ubuntu 24.04 (Tier 1), RHEL 9 (Tier 1), Windows 10/11 (Tier 1), macOS 13+ (Tier 3). Architektura: amd64, arm64 (Jetson AGX Orin, Raspberry Pi 5, Apple Silicon native), armhf deprecated. Default DDS: Fast DDS 3.0; alternatywne: Cyclone DDS, Zenoh.
**Cykl życia**: Initial release 23 maja 2024, planned EOL 23 maja 2029 (5 lat). Ten LTS pokrywa Ubuntu 24.04 LTS (10 lat z Pro). Patch releases co ~6 miesięcy.
**Migracja**: z Iron → Jazzy: większość kodu kompiluje się bez zmian; nowe deprecated patterns to `rclcpp::Logger::set_level()` (zamiast manipulacji handlerami) i `rclcpp_action` z lifecycle-aware goal handles. Z Humble → Jazzy: główne zmiany w cmake (cmake_minimum_required 3.10 → 3.20), python typing improvements w rclpy.
**Adopcja Q1 2026**: Jazzy jest już głównym targetem dla nowych projektów (Open Source Robotics Foundation rekomenduje), pokrywa ~45% aktywnych instalacji ROS 2, Humble pozostaje ~40% (LTS), Iron <5%.
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 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 (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.
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.
Developer Tool to oprogramowanie przeznaczone do wspierania pracy deweloperskiej, w tym konfiguracji, debugowania, testowania, monitorowania, walidacji lub integracji systemów robotycznych i embedded.
Robot Control oznacza rolę oprogramowania odpowiedzialnego za sterowanie ruchem, wykonywanie komend, koordynację działania elementów wykonawczych oraz bezpośrednią logikę operacyjną robota.
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.
Developer Enablement oznacza rolę oprogramowania wspierającego deweloperów w integracji, debugowaniu, walidacji, konfiguracji, testowaniu i uruchamianiu systemów robotycznych oraz ich komponentów.
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.
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.
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.
Diagnostics & Monitoring oznacza rolę oprogramowania odpowiedzialnego za zbieranie telemetrii, monitoring stanu, wykrywanie błędów, diagnostykę pracy robota i analizę kondycji komponentów systemu.
Rodzina oprogramowania należącego do ekosystemu ROS 2 i powiązanych narzędzi robotycznych.
**Boston Dynamics Spot Release 4.0** (Q4 2024) — natywny support ROS 2 Jazzy w Spot SDK + GraphNav stack. **Agility Robotics Digit** używa Jazzy w fleet management warstwie (Amazon BFI1 deployment). **NASA VIPER** (zaplanowany lunar rover) — Jazzy jako baseline OS dla mission software. **Honda CI-MM2 (2025 model)** — first commercial Honda mobility na ROS 2 Jazzy. **Universal Robots PolyScope X (2025)** — backend na Jazzy dla URCap third-party plugins. **Microsoft Project AirSim 2.0** używa Jazzy bridge dla autonomous flight research. **Open Source Robotics Foundation Maintenance Releases** co kwartał stabilizują adoptcję w produkcyjnych systemach.
Q1 2026: ROS 2 Jazzy zainstalowany na ~80 000 aktywnych systemach (raportowanych do `ros-stats`). ROS Index zaindeksował ~6 500 packages na Jazzy (vs. ~7 000 na Humble po 3 latach). ROS Discourse 'jazzy-jalisco' tag: ~2 100 wątków. Discord ROSCon 2024 'jazzy' channel ~3 500 członków. Google Trends Jazzy 'ROS 2' przeszedł Iron w Q3 2024 i Humble w Q3 2025.

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

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.

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

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.

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ń.

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.

Pełnowymiarowy humanoidalny prototyp Xiaomi zaprezentowany 11 sierpnia 2022 r. — 177 cm wzrostu, 52 kg, 21 stopni swobody, z modułem widzenia głębi MiSense i silnikiem rozpoznawania mowy oraz emocji.

Robot przemysłowy Tutor Intelligence zaprojektowany do paletyzacji, depaletyzacji i case-pickingu w magazynach i fabrykach, dostępny w modelu Robotics-as-a-Service od 14 USD/h.
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 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 to język programowania powszechnie wykorzystywany w firmware, sterownikach, mikrokontrolerach i systemach embedded, gdzie wymagana jest bezpośrednia kontrola nad zasobami sprzętowymi.
Rust to język programowania systemowego zaprojektowany z myślą o bezpieczeństwie pamięci i wydajności. Coraz częściej wykorzystywany jest w systemach embedded, robotyce i warstwach komunikacyjnych.
Ubuntu 24.04 LTS 'Noble Numbat' — wspierane do kwietnia 2029. Host dla ROS 2 Jazzy.
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 to system operacyjny Apple wykorzystywany głównie na stacjach roboczych i laptopach deweloperskich do budowy, testowania i integracji oprogramowania.
Debian to jedna z najbardziej stabilnych i powszechnie stosowanych dystrybucji Linux, wykorzystywana jako baza dla wielu systemów embedded, robotycznych i serwerowych.
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.
Instalacja: `sudo apt install ros-jazzy-desktop` (Ubuntu 24.04) lub Docker `osrf/ros:jazzy-desktop`. Pełna instalacja desktop ~15 GB; minimalna ros-base ~2,5 GB. Wymaga Ubuntu 24.04 LTS (Tier 1) lub Docker na innych OS-ach.
Menedżer pakietów Debian/Ubuntu – apt-get install.
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.
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.
ROS dependency manager i release tool.
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).
Wielojęzykowy menedżer pakietów i środowisk wirtualnych (Anaconda, Miniconda) obsługujący pakiety Python, R, C/C++ i inne. Pakiety conda zawierają prekompilowane binaria dla wielu platform (linux-64, linux-aarch64, osx-arm64, win-64). mamba: szybki reimplementacja conda w C++ z dramatycznie szybszym resolverem zależności. Rejestry: conda-forge (community-maintained, największy), defaults (Anaconda Inc.), bioconda, nvidia (pakiety CUDA przez conda). Zastosowania w robotyce AI/ML: środowiska dla trenowania modeli (PyTorch, TensorFlow, JAX z obsługą CUDA przez conda-forge), narzędzia analizy danych z robotów (pandas, numpy, matplotlib), Jupyter notebooks dla eksploracji danych sensorycznych. RoboStack: projekt dystrybuujący pakiety ROS 2 przez conda-forge (ros-humble-desktop przez 'conda install -c conda-forge ros-humble-desktop') – umożliwia instalację ROS 2 na macOS i Windows bez VM. Conda environments pozwalają na równoległe instalacje różnych wersji ROS i bibliotek ML bez konfliktów. Stosowany przy integracji stacku robotycznego z narzędziami data science.
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.
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.
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.
Procesory Apple Silicon (M1, M2, M3, M4 i warianty Pro/Max/Ultra) oparte na architekturze AArch64 (ARMv8.5-A+), stosowane w MacBook, Mac mini, Mac Studio i Mac Pro od 2020 r. Platforma deweloperska rosnącego znaczenia w ekosystemie robotycznym – wielu deweloperów ROS 2 używa MacBooków z Apple Silicon. Wsparcie ROS 2: tier-3 (community supported) dla macOS, ROS 2 Humble i Jazzy można zainstalować przez: Homebrew ('brew install ros-humble' przez tap), RoboStack (conda-forge – najwygodniejsza metoda: 'conda install -c conda-forge ros-humble-desktop'), budowanie ze źródeł przez colcon. RoboStack/conda-forge jest rekomendowaną metodą instalacji ROS 2 na Apple Silicon macOS. Apple Silicon: unified memory architecture (CPU, GPU i Neural Engine współdzielą pamięć), Metal GPU API (brak CUDA – wymaga PyTorch z Metal Performance Shaders backend), Core ML / Apple Neural Engine dla inference. Ograniczenia: brak wsparcia CUDA (biblioteki NVIDIA CUDA-only nie działają natywnie), Rosetta 2 umożliwia uruchomienie x86_64 binary ale bez pełnej wydajności, niektóre pakiety ROS 2 wymagają patchowania dla macOS. Gazebo/Ignition: dostępne na macOS ARM64. Zastosowanie: deweloperzy piszący i testujący kod ROS 2, symulacje, narzędzia CLI – nie deployment na robot.
Platforma Raspberry Pi oparta na procesorach Broadcom (BCM) z architekturą AArch64: Raspberry Pi 4 Model B (BCM2711, quad-core Cortex-A72, do 8 GB RAM), Raspberry Pi 5 (BCM2712, quad-core Cortex-A76, do 8 GB RAM, 2–3× szybszy niż Pi 4), Raspberry Pi Compute Module 4/5 (wersje do integracji w custom hardware robotycznym). Raspberry Pi OS (64-bit) oparty na Debian Bookworm dla AArch64. Wsparcie ROS 2: tier-3 (community supported) dla Raspberry Pi OS, tier-1 dla Ubuntu 22.04/24.04 zainstalowanego na Raspberry Pi 4/5. Powszechnie stosowane w: edukacyjnych robotach mobilnych (TurtleBot 4 używa Raspberry Pi 4 jako komputer pokładowy), prototypach robotów AMR, robotach kroczących hobby (PicoBot, Hexapod na Pi), drone autopilots (ArduPilot na Pi), systemach wizyjnych (Pi Camera Module 3, HQ Camera przez MIPI CSI-2). Raspberry Pi 5 z PCIe 2.0 przez HAT+ connector umożliwia podłączenie M.2 NVMe SSD i akceleratorów AI (Hailo-8L – 13 TOPS). Ograniczenia wobec Jetson: brak dedykowanego GPU dla CUDA, brak wbudowanego NPU (poza Hailo zewnętrznym), 4K video processing bez sprzętowej akceleracji AI. Idealny dla: prototypowania, edukacji, robotów mobilnych niższej klasy, aplikacji niewymagających ciężkiego inference AI.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Lekki protokół komunikacyjny publish-subscribe oparty na TCP/IP, zaprojektowany dla urządzeń IoT i systemów o ograniczonych zasobach. Stosowany w robotyce fleetowej i cloud robotics do telemetrii, monitoringu stanu floty i zdalnego zarządzania robotami AMR. Broker centralny (np. Mosquitto, AWS IoT Core) zarządza routingiem wiadomości między wydawcami a subskrybentami. MQTT 5.0 wprowadza session expiry, payload format indicator i flow control.
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.
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.
Standard IEEE 802.3bz – Ethernet 2.5 Gbit/s przez skrętkę Cat5e/Cat6, złącze RJ-45. Stosowany w nowoczesnych robotach wymagających wyższego pasma niż 1 GbE przy zachowaniu kompatybilności z istniejącym okablowaniem Cat5e. Spotykany w modułach NVIDIA Jetson Orin NX i AGX Orin.
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.
USB4 – najnowszy standard USB oparty na protokole Thunderbolt 3, przepustowość do 40 Gbit/s. Obsługuje tunelowanie PCIe i DisplayPort przez pojedynczy kabel USB Type-C. W robotyce relevantny dla zewnętrznych GPU (eGPU) do inference, szybkich frame grabberów i transferu dużych datasetów między hostem a robotem. Wyłącznie złącze USB Type-C. Dostępność w modułach embedded rośnie od 2024 r.
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.
Peripheral Component Interconnect Express 5.0 – przepustowość 32 GT/s na tor: x16 = 63 GB/s. Pojawia się w najnowszych platformach x86 (Intel Core Ultra, AMD Ryzen 7000) stosowanych jako komputery pokładowe robotów najwyższej klasy.
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.
Controller Area Network Flexible Data-Rate – rozszerzenie CAN 2.0 zachowujące arbitraż przy 1 Mbit/s i zwiększające prędkość transmisji danych do 8 Mbit/s oraz rozmiar ramki do 64 bajtów. W robotyce humanoidalnej stosowany do szybkiej komunikacji między kontrolerem głównym a modułami stawowymi.
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.
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ł.
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.
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.
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.
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 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.
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.
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.
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.
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.
Rodzina licencji: Licencja permisywna
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.
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).
Planowane: rclcpp::AnyExecutor refactor, native Vulkan rendering w rviz2, improved DDS Discovery for large fleets (>500 nodes).
Security audit fixes, RMW transports bug fixes, integration z Gazebo Harmonic 8.x.
rclcpp performance improvements, rclpy typing additions, Apple Silicon native builds w Tier 2.
Stabilization release — fixy w rmw_zenoh adapter, ros2 launch enhancements, nav2 dependency synchronizacja.
Pierwsza wersja stabilna — Fast DDS 3.0, rmw_zenoh, multi-threaded executor improvements, Ubuntu 24.04 baseline.