トクイテンメルマガ 第10号

十年ひと昔

森の博士論文の審査委員の一人だった廣瀬通孝先生が講義か講演でなにか「一つの技術研究が限界となって諦めても、10年経ったらもう一度挑戦すると良い。他の技術が進んで、目標に対する技術的な制約が無くなって意外とうまく行くかもしれない。」といったことをおっしゃっていた記憶があります(記憶違いかもしれませんが…)。
前回のメルマガで、ロボット研究では同じような研究を何十年も続けているというお話を書きました。では10年前と今とで何か変わったでしょうか?実は様々な状況が変わったのですが、前回の深層学習に続いて今回はロボットのソフトウェア基盤について書いてみようと思います。

ロボットミドルウェア

ミドルウェアとは、実際のアプリケーションとWindowsやLinuxのようなOS(オペレーティングシステム)をつなぐ役割をはたすシステムで、ミドルウェアが適切に作られていると、同じアプリケーションのためのソフトを異なるOS上でも使用できるというメリットがあります。ロボット用ミドルウェアの代表的なシステムとしてはROS(Robot Operating System)OpenRTM(Open Robot Technology Middleware)などがオープンソース(ソフトウェアの記述そのもの)で提供されています。
世界的な事実上の標準となっているのはROSの方で、現在はROSのバージョン2の開発と普及も進められているという状況です。OpenRTMは、ROSよりも早く発表されたミドルウェアで、日本の経産省系の研究所である産業技術総合研究所(産総研)が中心となって開発と普及が進められています。英語のドキュメントが貧弱であったり、英語による普及活動が少なかったりと世界的にはあまり普及していない状況です。森の早稲田での所属はOpenRTMの普及を頑張っているので、ご興味のある方はお知らせください。
ミドルウェアを使うとOSに依らずにプログラムが開発ができたり、プログラム中でロボットの指定をシミュレータにするとシミュレーション上のロボットが動き、全く同じプログラムでロボットの指定を実際のロボット(のIPアドレス)にすると実機ロボットが動作するという形で開発を進めることができます。これにより、シミュレーション上で動作チェックやデバッグを十分にした後で、実際のロボットを動かすことができ、開発効率や安全性が向上しました。

ROSとロボット開発

ROSは2006年創業して2014年に廃業したウィローガレッジというアメリカの会社が中心となって開発していたソフトウェアで、オープンソース化されて、会社が消滅した後も有志により開発が進められています。現在ではROSを使った開発はスタンダードとなっていて、ロボットメーカーからもROSに対応したソフトウェアの部品が公開されて、ROSでの開発が進めやすくなっています。
約10年前の2010年にROSが外部公開されたことからも分かるように10年前は何もないといって良い状況でした。そこから、普及が進み今ではROSなしにロボットの研究開発はできないと言っても過言ではない状況です。これは、単にフレームワークが提供されるだけでなく、様々な大学の研究室や企業が、シミュレーションツール、センサーやロボットに対応したモジュール、ロボット用アルゴリズムなどをROS上で開発して公開し、公開されたソフトウェアを使ってさらに開発が進められるという好循環が起きたためです。
これにより、個人や単一の研究室・開発チームでは手に負えなかったロボット用アルゴリズムなどを手軽に試すことができるようになり、それらを組み合わせたさらに高度なロボットシステムの構築が可能となりました。一昔前には諦めざるをえなかったロボット開発が現在ではできるようになっているのです。
 
10年前には諦めていたような技術も、今ならもう一度挑戦する価値があります。今年のトクイテンの創業は良いタイミングかもしれません。

参考資料

公式ホームページ:ROS.org
OpenRTM-aist:openrtm.rog