用語解説 ロス

ROSとは

ROS(Robot Operating System)は、ロボットのソフトウェアを部品として組み合わせて作るためのオープンソースの開発基盤で、無料で使えます。仕組み、ROS 2 の使い方、費用の内訳、開発元、NVIDIA・Qualcomm の動きを解説します。

ROS(Robot Operating System)は、ロボットのソフトウェアを部品の組み合わせで作るためのオープンソースの開発基盤です。名前に「OS」と付いていますが、Windows や Linux のような OS ではありません。Linux などの上で動くミドルウェアとツールの集まりで、本体は無料で使えます。

ROS とは:何ができるのか

ROS では、センサーの読み取り、地図の作成、経路の計画、モーターの制御といった機能を「ノード」という独立したプログラムに分けます。ノード同士は、トピック(メッセージの配信と購読)やサービス(要求と応答)でデータをやり取りします。この形にしておくと、カメラのドライバーを別の製品のものに替えても、認識や制御のノードはそのまま使い続けられます。

いちばんの価値は、すぐ使える部品が多いことです。たとえばロボットアームの動作計画では「MoveIt」が定番のパッケージになっています。そのため、ゼロから書かなくて済む範囲が広くなります。

使い方:ROS 1 と ROS 2

いま新しく開発するなら ROS 2 を使います。旧世代の ROS 1 は、最後の版である Noetic のサポートがすでに終わっています。ROS 2 は通信部分に DDS という業界標準の仕組みを採用しました。複数台のロボットを動かす用途や、決められた時間内の応答(実時間性)が求められる用途を想定して、作り直されています。

ROS 2 は「ディストリビューション」と呼ばれる版ごとに配布されており、Humble や Jazzy のような長期サポート版があります。基本的な進め方は次のとおりです。Ubuntu などに ROS 2 を入れ、必要なパッケージを追加し、自分のノードを C++ か Python で書いてつなぎます。まずシミュレーターで動かし、それから実機に移すのが一般的です。

料金:ROS を使うといくらかかるのか

ROS 本体とコミュニティのパッケージはオープンソースなので、ライセンス料はかかりません(多くは Apache 2.0 や BSD 系のライセンスです)。お金がかかるのは、ロボットのハードウェア、GPU などの計算機、開発の人件費、それに外部の商用サポートを頼む場合です。商用サポートの価格は提供する会社ごとに違い、決まった相場の情報がないため、この記事では金額を書きません。

誰が作っているのか、競合は何か

ROS は米 Willow Garage で開発が始まりました。現在は Open Robotics(Open Source Robotics Foundation)を中心に、コミュニティで開発されています。

事業や投資の面で注目したいのは、半導体の大手が ROS の上に自社の価値を載せようとしていることです。NVIDIA は、ROS 上で動き GPU で処理を速くするパッケージ群「Isaac ROS」を出しています。最新の 5.0 では、AI エージェントが開発を手伝う「スキル」を加え、物体の姿勢を推定する FoundationPose を最大5.5倍速くしました。Qualcomm は、MoveIt を開発する米 PickNik の買収で合意しました。MoveIt はオープンソースのまま、他社のハードウェアにも引き続き対応し、Qualcomm のロボット向けプラットフォーム Dragonwing との統合を進めるとしています。

当サイトの見方(推測)では、ROS 自体と正面から競う有料製品があるわけではありません。ROS を共通の土台にして、その上の高速化や開発環境でチップメーカーが競い合う構図になりつつあります。

ROSに関する記事

2 件