Robocikowo>ROBOCIKOWO
Gazebo Classic

Symulacja · Symulacja i cyfrowe bliźniaki

Gazebo Classic

Gazebo 11 EOL·Open Source Robotics Foundation

Przestarzały Open source Dostępne API
KATEGORIASymulacja · Symulacja i cyfrowe bliźniaki
GOTOWOŚĆTRL 9
SKALA ADOPCJIWycofywany – wsparcie legacy
LICENCJEApache-2.0
PIERWSZE WYDANIE2020

Gazebo Classic to oryginalny, monolityczny symulator robotów stworzony w 2002 r. na Uniwersytecie Południowej Kalifornii (USC) przez Andrew Howarda i Nathana Koeniga, później rozwijany przez Willow Garage i Open Source Robotics Foundation (OSRF / Open Robotics). Przez prawie dwie dekady stanowił de facto standard symulacji w ekosystemie ROS 1 — z gotowymi światami, pluginami i modelami robotów (TurtleBot, PR2, Husky, Quadrotor, DARPA Atlas).

Gazebo Classic używa silników fizyki ODE (domyślnie), Bullet, Simbody i DART, renderingu OGRE 1.9, oraz architektury klient-serwer z transportem opartym o ZeroMQ i bibliotekę ignition-transport. Wsparcie dla wszystkich popularnych sensorów: kamery RGB/depth, IMU, GPS, LiDAR 2D/3D, force-torque. Integracja z ROS 1 przez pakiet gazebo_ros_pkgs, z ROS 2 przez gazebo_ros2_control (do dystrybucji Foxy włącznie).

We wrześniu 2025 r. OSRF oficjalnie zakończyło wsparcie Gazebo 11 Classic — kończąc rozwój linii. Wszystkie nowe projekty powinny używać Gazebo Harmonic (gz-sim) z nowej generacji. Gazebo Classic pozostaje używane w dziesiątkach tysięcy istniejących repozytoriów akademickich i edukacyjnych.

Typ i role
Typy oprogramowania
Symulacja

Simulation obejmuje oprogramowanie używane do modelowania, testowania i walidacji zachowań robotów, sensorów, środowisk oraz algorytmów bez konieczności użycia fizycznego sprzętu.

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
Symulacja i cyfrowe bliźniakiNarzędzia deweloperskie
Role w ekosystemie robotycznym
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.

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.

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.

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.

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.

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

Rodzina oprogramowania symulacyjnego związanego z Gazebo i jego integracjami.

Dojrzałość i adopcja
9 / 9
Sprawdzone w warunkach operacyjnych
BadaniaPrototypProdukcja
Skala adopcjiWycofywany – wsparcie legacy
Status utrzymaniaKoniec życia
Pierwsze wydanie2020
Wdrożenia

DARPA Robotics Challenge (2013–2015) — symulator dla Atlas, Valkyrie, HUBO i innych. Toyota HSR, PAL TIAGo, Willow Garage PR2, Clearpath Husky/Jackal, TurtleBot 2/3. ROS-Industrial Consortium, IEEE Robotics Olympiad.

Społeczność

answers.gazebosim.org z tysiącami pytań, ROS Discourse > 50k użytkowników korzystających z gazebo_ros_pkgs, ROSCon prezentacje 2013–2024. Główne repo github.com/osrf/gazebo ~1.3k★.

Wsparcie ROSKompatybilność z ekosystemem ROS / ROS 2
Official ROS 1 PackagePakiet dostępny w oficjalnym rejestrze ROS 1 (packages.ros.org)
Official ROS 2 PackagePakiet dostępny w oficjalnym rejestrze ROS 2 przez rosdep / apt (packages.ros.org)
ROS 2 Gazebo / Ignition PluginPlugin do symulatora Gazebo (Classic lub Ignition/Harmonic) z integracją ROS 2
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.

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

Ubuntu 20.04 LTS to długoterminowo wspierana wersja systemu Linux, szeroko wykorzystywana w robotyce, systemach embedded, AI i środowiskach developerskich. Jest popularna m.in. w środowiskach ROS oraz na platformach obliczeniowych takich jak NVIDIA Jetson.

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.

Debian

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

Wybierz pozycję, aby zobaczyć opis.
Minimalne wymagania sprzętowe
Minimalne wymagania sprzętowe
CPUCzterordzeniowy x86-64 ≥ 2 GHz (np. Intel i5-8xxx / AMD Ryzen 5)
RAM (GB)8
GPUDedykowana karta NVIDIA / AMD z OpenGL 3.3 — wymagana do realistycznego renderingu sensorów wizualnych
Dysk (GB)10

Ubuntu 20.04 zalecane jako gospodarz. Wsparcie zakończone we wrześniu 2025.

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

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

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.

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.

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.

Wybierz pozycję, aby zobaczyć opis.
Trudność instalacji
PoziomUmiarkowana
Protokoły i interfejsy
Protokoły komunikacji
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.

ZeroMQ (ØMQ)

Biblioteka asynchronicznej komunikacji sieciowej oferująca wysokopoziomowe wzorce komunikacyjne (pub-sub, push-pull, req-rep, dealer-router) bez centralnego brokera. Stosowana jako lekka alternatywa dla ROS.

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.

Ethernet / TCP-IP

Standardowy protokół sieciowy IEEE 802.3 z TCP/IP jako warstwą transportową. Stosowany jako główny interfejs komunikacji między komputerem nadrzędnym (host PC) a robotem w SDK takich jak Unitree SDK2, Boston Dynamics API, Universal Robots URScript. Nie zapewnia deterministyczności (best-effort delivery).

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.

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.

Wybierz pozycję, aby zobaczyć opis.
Klasy opóźnień
Soft Real-Time (100–500 ms)

Klasa miękkiego czasu rzeczywistego 100–500 ms – odpowiedź w granicach setek milisekund wymagana dla płynnej pracy, ale przekroczenia nie powodują awarii. Zastosowania: task planning (Nav2 planner: 100–300 ms), rozpoznawanie gestów i mowy dla HRI, przetwarzanie obrazów (YOLO na GPU: 20–100 ms), feedback wizualny. Większość oprogramowania komercyjnego dla AMR i robotów usługowych operuje w tej klasie.

Zmienna (workload-dependent)

Klasa latencji zmiennej, silnie zależnej od obciążenia systemu i złożoności zadania. Brak deterministyczności – latencja może się różnić rzędami wielkości. Typowa dla systemów AI: VLA (czas zależy od złożoności sceny), LLM-based task planners (zależy od długości kontekstu), object detection z dynamicznym rozmiarem obrazu, SLAM z adaptacyjną rozdzielczością. Wymaga architektury tolerującej zmienność (async, kolejki, graceful degradation).

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.

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.

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.

Wybierz pozycję, aby zobaczyć opis.
Wspierane symulatory
Gazebo Classic (Gazebo 11)
Oryginalna wersja symulatora Gazebo – legacy, EOL 2025.
Oficjalne obrazy Docker
ros/gazeboosrf/ros:humble-desktop-full
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
Gazebo 11 EOLwrz 2025

Oficjalny koniec wsparcia OSRF dla Classic, migracja zalecana na Gazebo Harmonic.

Gazebo 11.14sie 2024

Ostatnie znaczące fixy, przygotowanie do EOL.

Gazebo 11.10mar 2022

Aktualizacja stabilności, ostatni release w branch 11.x głównie z fixami.

Gazebo 11sty 2020

Finalna wersja Classic; Python 3, kompatybilność z ROS Noetic.

Gazebo 9 (LTS)sty 2018

Ostatnie LTS przed Gazebo 11; wspierane do stycznia 2023 z ROS Melodic.