単なる“ロボット用OS”ではない「ROS(Robot Operating System)」の概要と新世代の「ROS 2.0」:超速解説 ROS(2/3 ページ)
PCやスマホ以外に目を向けると、OS(Operating System)の豊富さに驚かされる。ROS(Robot Operating System)もそうしたOSの1つだ。新世代の「ROS 2.0」も登場したROSについて、その概要を解説する。
分散制御に長じた制御の必要性
ロボットの制御には分散制御方式が適していると説明したが、問題は既存の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
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.
関連記事
- 「五輪」と「介護」が拡大するコミュニケーションロボット需要
会話に身ぶり手ぶりを交え「実用に耐える」コミュニケーションロボットの国内市場は、2020年に90億円に迫る勢い。案内や接客に続き、介護施設での需要が成長を呼ぶきっかけに。矢野経済研究所調べ。 - 吉野家の食器洗浄を支援する協働ロボット、自動仕分けで78%の工数削減を目指す
ライフロボティクスは、同社の多関節型協働ロボット「CORO(コロ)」が吉野家の店舗における食器洗浄工程に導入されたことを発表。食器洗浄作業にかかる工数を約78%削減することを目指す。 - 米国で実績持つ自律搬送ロボット、NECが国内販売
NECネッツエスアイは米Saviokeの搬送ロボット「Relay」に関して、日本国内での販売契約を締結した。2017年上半期中の提供開始を予定している。 - ロボットの企業利用をトータルサポートする研究・検証設備を開設
伊藤忠テクノソリューションズは、ロボットの企業利用を研究する検証設備「RoBo-LAB」を開設し、ロボット導入を検討している顧客に向けた検証サービスの提供開始を発表した。 - 失語症リハビリにPepperアプリ、ロボットの長所生かし粘り強い訓練
失語症者に対するリハビリにおいて、Pepperアプリを用いた訓練で有意な改善が見られたという。言語訓練用アプリ「ActVoice for Pepper」を開発するロボキュアが発表した。