ロボットの制御には分散制御方式が適していると説明したが、問題は既存のRTOSや組み込みLinuxが、必ずしもこうした分散制御方式をうまく扱えないことだ。従来モデルをそのまま利用すると、分散したプロセッサ間はネットワーク経由での接続となりオーバーヘッドも大きい。同期を取るメカニズムも十分とはいえない。
既存の枠組みで言えば、むしろHPC(ハイパフォーマンスコンピューティング)向けの複数ノード/並列コンピューティング実装手段であるMPI(Message Passing Interface)の方が求めている機能に近い。しかし、こちらはもともとがHPC向けということもあり、そのままロボット制御に使うにはやはり無理がある。こうした背景もあって、ロボット向けOSが生まれてきた。
「ロボット開発」に関するさらに詳しい情報をお求めの方は、MONOistに掲載された記事を再編集した無料電子ブックレット『あのロボットが私のハードウェア予算を食っている!』をぜひご覧ください。「未知の地形を滑らかに歩かせる」を例に、エンベデッドシステム化するロボットについて考えます。 ⇒ダウンロードはこちら
国内だと、電子技術総合研究所(現在の産総研)で1998年から開発が始まった「ART-Linux」であろう。2013年3月末で産総研における開発と保守は終了しているが、現在もオープンソースの形で公開されており、誰でもこれを入手してシステムを構築できる。
最近ではPepperに搭載された仏アルデバランの「NAOqi」も有名である。あるいは冒頭に出てきたクラタスに採用されている「V-Sido OS」。こちらはアスラテックより提供されるが、そもそもV-Sido OSの開発者である吉崎航氏がクラタス開発者の1人であり、V-Sido OSなしにはクラタスは構築できなかった。
産業向けとしては、日本ロボット工業会が2002年に提唱した「ORiN」(Open Robot/Resource interface for the Network)が、その後はORiN協議会によってメンテナンスされている。OSではないが「RT-middleware」(Robot Technology middleware)と呼ばれるロボット制御用のミドルウェア用の規格も提唱され、これはOMGにより標準規格化もなされた。
RT-middlewareは産総研による「OpenRTM-aist」の他、NET Framework上で動作する「OpenRTM.NET」やAndroidに対応した「RTM on Android」など各種プラットフォーム向けに移植されている。
こうした動きは日本だけはない。「YARP」(Yet Another Robot Platform)や「The Orocos Project」などはOSというよりミドルウェアだが、ロボット制御に必要なものがまとまったライブラリ群+αである。また、Arduinoでロボット制御を行う「ROBOTC」といったものまである。ただ、そうした中で一番有名なのが、冒頭に紹介したROSである。
ROSはもともと、SAIL(Stanford Artificial Intelligence Laboratory:スタンフォード人工知能研究所)が「STAIR」(STanford AI Robot)というロボットを開発するために開発したものである。
このSTAIRの開発にはWillow Garageという会社が協力しており、ROSの開発は同社が主体となっていた。その後、Willow Garageは2012年にOSRF(Open Source Robotics Foundation)を設立してROSの管理を移管。以後はこのOSRFがオープンソースでROSの開発とメンテナンスを行っている。
このROSそのものは基本的にUbuntuの上で動作する。対応するハードウェアは非常に多く(一覧はこちらを見てもらうのが早い)、加えて自分で作成したロボットをROSで制御する、というケースも多い。そして、ROSの特徴の1つはソフトウェアライブラリの多さである。一覧はこちらから見ることができるが、現時点での推奨リリースであるKinetic Kameに対応したものだけでこれだけある。
ROSそのものも順次更新されており、2010年1月に初公開されたROS 1.0以降、Box Turtle、C Turtle、Diamondback……とアップデートされている。執筆時点での最新は2017年5月にリリースされたLunar Loggerheadであるが、その前のKinetic Kameが安定しており、2021年までのサポート(Lunar Loggerheadは2018年まで)があることから、現在はKinetic Kameの利用が推奨されている。
Copyright © ITmedia, Inc. All Rights Reserved.
豊富なホワイトペーパーの中から、製品・サービス導入の検討に役立つ技術情報や導入事例などを簡単に入手できます。