ROSってなぁに? 公開から8周年を記念して調べてみたよ

ROSって聞いたことありますか?
ロボットに関わる人は必ず知っておきたいOSS/ミドルウェアです。

何ができるかって?8周年記念のモンタージュ動画がとてもわかりやすいです。

つまり、なんでもできるのですかね?
まずは公式サイトの説明を見てみましょう。

ROS (Robot Operating System)はソフトウェア開発者のロボット・アプリケーション作成を支援するライブラリとツールを提供しています。 具体的には, ハードウェア抽象化, デバイスドライバ,ライブラリ,視覚化ツール, メッセージ通信,パッケージ管理などが提供されています。 ROSはオープンソースの一つ, BSDライセンスにより, ライセンス化されています。

むむむ、ちょっとよく分からないぞ!
調べてみると実際にはセンサー類などから得た情報でマッピングをするSLAM技術や自動運転、

ロボットの3Dデータと連動させた動きの制御など

ロボットで行いたい操作を作っていく上で必要なライブラリ集のようなものだそうな。

ROS(ロボット・オペレーティング・システム)なんて言っているのでAppleのOSXとかWindowsを想像してしまいますが、OSではないんですね。あらややこしい!

実は更にややこしいのが、実際に使おうとする場合LinuxのUbuntuがメインなんです。
そう、推奨環境はMac🙅でもなくWindows🙅でもなくUbuntuさんなのです!
『ならVirtual Boxとかでいいじゃん〜』と思う方もいると思いますが、仮想環境にUbuntuのOSインストールしても最終的にはドライバーとか処理速度の関係で実機が多分必要になります。

ややこしすぎるよ、もう!

さぁ拒絶反応を刷り込んだうえで、ROSの良さをご紹介していきましょう〜。

歴史


ROS-history
今回の記事タイトルにもある通りROSは8周年を迎えました。 最初はSTAIR (the STanford Artificial Intelligence Robot)と呼ぼうとしていたそうな。 SwitchyardというライブラリをSTAIRで扱うことでロボットが独立して動くようにしていたとか。

そして2009年に日本で開催されたロボット国際論文発表会のICRA(International Conference on Robotics and Automation)で初めてROSとして発表されました。
原論文はこちら: https://www.willowgarage.com/sites/default/files/icraoss09-ROS.pdf
現在では様々な論文で2,000以上もの引用をされており、毎年50%以上増えているんだそうな。
歴史的にみるとROSはアカデミックでの地位をかなり確立してきているみたいですね!

個人的にアメリカでロボットの博士課程に進んでいる友人に聞いた所、ROS以外に主だったミドルウェアがないそうで。ROSで試してみたから、その先を自分でプログラミングする流れなんですって。
以前書いた“マサチューセッツ工科大学でロボット研究してる3人だけど何か質問ある?”という記事でも似たようなことを述べている方がいましたね。

ユーザー数とか数字的な情報


そんなアカデミックで地位を確立しているROSですが、実際のデータはもっと熱気のあるものになっています。

1ヶ月のうちに900万ものROSのパッケージがダウンロードされていて、数10万人のアクティブユーザー達が毎日20件以上のコミットしていて、年間に1,000万行のコードを作り出しています。
ROSなら分からないことがあっても大丈夫!11,000人もの人達が常にフォーラムの質問に答えてくれているそうです。

2015年には約180億円以上の投資がROSを利用したベンチャー企業達にされました。

各国のアクセスランキングはこんな感じだそうです。(2015年7月分)
2位に中国が入っているところを見ると、産業的には今後も熱い分野になりそうですねぇ。
ros-visitors

正式対応されたロボットもかなり増えてきたみたいです。
ros-graph

本当に様々な場所で広く使われているROS


ROS-robots

産業用のロボットアームからペッパーくんや、ルンバにだって!
DARPAロボティクスチャレンジやNASAのRobonautや宇宙ステーションにもおいても活用されています。
もはや「Robots powered by ROS」と言っても過言ではないくらいコミュニティが成長しつづけているんだそうな。ひぇー。

さらにさらに!
2016年にはROS 2.0がリリースされる予定だそうで。
これはもうロボット元年になるかもしれない勢いですね。 素晴らしいぃー!