Robot Operating System (ROS) – otwartoźródłowa platforma programistyczna do tworzenia oprogramowania sterowania robotów. Jest zbiorem wielu bibliotek pozwalających na sterowanie i symulację pracy robota.

ROS choć nie jest systemem operacyjnym zapewnia komunikację między procesami i wsparcie dla nisko-poziomowej kontroli urządzeń. Opiera się na idei tworzenia (najczęściej w C++) współbieżnie działających węzłów reprezentujących pojedyncze procesy i będących w istocie programami o dużym stopniu autonomii. Wprowadza abstrakcję warstwy sprzętowej. Węzły komunikują się między sobą poprzez ciągłe asynchroniczne rozgłaszanie i nasłuchiwanie wiadomości o konkretnym typie i temacie. Umożliwia także rozgłaszanie serwisów, których wywołanie powoduje określenie przypisanych im czynności i zwrócenie odpowiedzi. Komunikację między procesami nadzoruje uruchamiany jako pierwszy węzeł nadrzędny będący częścią rosapi. Jego częścią jest także serwer parametrów umożliwiający przechowywanie wartości globalnie dostępnych dla pozostałych programów. Węzły rozgłaszające wiadomości nazywamy publisherami, a nasłuchujące subscribentami. Większość węzłów pełni obie te role jednocześnie. ROS powstał w laboratorium Willow Garage.