Robot Operating System
ROS 1.0のリリースと並行して、ウィローガレージ社はROSで制御することを前提としたロボット「PR2」を開発・発表した。PR2は2本のロボットアームを備えた自律移動型の研究用ロボットである。そして、ウィローガレージ社はPR2を利用したアプリケーションの開発コンテスト「PR2ベータプログラム」の公募を行なった。78の応募の中からアメリカ、ヨーロッパ、日本を中心とした10の大学機関と民間企業1社が採択され、特に優れた提案に対してはPR2が無償で提供された。2010年9月には、40万ドルでPR2の一般販売も開始されオープンソースコミュニティへの貢献者には12万ドルの割引というインセンティブも与えられた。PR2ベータプログラムが行われた2年間に、ROSで再利用可能なツールやアプリケーションが次々と開発され、全体で2,000以上のROSパッケージがリリースされた。PR2やROSを利用した研究成果を映像化してYouTubeなどに投稿するグループも現れ、メディアの注目を受けたり、そこからROSに興味を持つ研究者が現れたりする好循環が生まれた。これらの施策を通してROSの研究と他のロボット研究とのコラボレーションも進み、ROSの知名度が飛躍的に高められたと評される。
2010年11月には、入門者への敷居を下げてROSの普及を図るため、ロボットキット「TurtleBot」が開発された。TurtleBotは、iRobot社のCreateを利用した車輪式の移動ロボットであり、翌年からウィローガレージ社により発売されたほか、オープンソースハードウェアとして設計データが公開された。
ROSのトピック通信は、メッセージパッシングの一種である。メッセージを送る側をROSではパブリッシャ(publisher; 配信者の意)、受けとる側をサブスクライバ(Subscriber; 購読者の意)と呼ぶ。パブリッシャはノードの起動時に配信に必要な情報をマスタに登録する。サブスクライバもノード起動時に、自己の情報と購読したいメッセージをマスタに登録する。マスタはサブスクライバにパブリッシャのアドレスを渡すことで、サブスクライバはパブリッシャに接続しメッセージを受信する。トピック通信は、接続確立後に連続的にメッセージが送受信されるため、高頻度のデータ通信が必要なセンサ信号の送受信などに利用される。
ROSはノード間の通信方法として、単方向非同期通信方式の「トピック」、双方向同期通信方式の「サービス」、双方向非同期通信方式の「アクション」の3種の方式を備える。ROSの配信-購読型のメッセージ通信基盤は、ほぼ完全に独自開発されたものである。
ROSは、移動・マニピュレーション・知覚といった機能をロボットに実装する多様なライブラリ群を提供する。
ROSのソフトウェアライセンスは、オープンソースソフトウェアの1つであるBSDライセンスやApache 2.0ライセンスを採用している。これにより、商用および非商用での利用が可能であるほか、誰でもROSの修正・再利用・再配布ができ、多くのボランティアが開発・改良に参加している。