Robot Operating System
新規に自作したパッケージや、既存のパッケージの改良・修正を行なった場合、リポジトリにコミットしてリリースすることも可能である。ROSはリリースのためのツール「bloom」を提供しており、その使い方を含めたリリース手順は ROS Wiki で説明されている。
ハードウェアの抽象化、低レベルのデバイス制御、汎用的な機能の実装、プロセス間のメッセージ通信、パッケージ管理などを行うほか、ソフトウェアの開発や実行などのためのツールやライブラリを提供する。分散コンピューティングシステムとして設計され、ロボットに必要な様々な計算を複数のプロセスで並列的に行う。各プロセスは単独または複数のコンピュータ上で実行可能であり、処理結果を相互に送受信しながら、1つの大きなソフトウェアシステムとして動作する。ROSのソフトウェアは「コアユーティリティ」と「パッケージ」に分かれており、ユーザは使いたい機能のパッケージを選択してインストールすることで、ロボットに必要な各種機能を利用できる。パッケージは自作することが可能で、ROSはC++やPythonをはじめ、LispやJavaなど多数のプログラミング言語をサポートしている。
ROSを搭載したロボットは、移動ロボットやロボットアームのほか、ヒューマノイド、自動運転車や無人航空機(ドローン)、自律型無人潜水機などと様々である。学術研究を主な対象として開発が始まったROSだが、次第に産業用途にも利用範囲が広がり、ROSを搭載したロボットが製品化され市場に登場するようになっている。新たな利用領域に求められる機能を実装するため、ROSの次世代バージョンである「ROS 2」の開発・リリースも始まっている。