ROSはロボット開発を効率化する強力なツールです。オープンソースで提供され、モジュール開発が可能なため、開発費の削減や納期短縮に役立ちます。本コラムでは、ロボット開発に興味がある方へ向けて、ROSの概要やメリットについて解説します。
テクノプロ・デザイン社では、ROSを用いたロボット開発の支援を行っています。豊富な経験と実績を持つエンジニアが的確に対応します。ぜひご相談ください。

ロボット開発プラットフォーム「ROS」とは?

ロボット開発プラットフォーム「ROS」の概要
ROS(Robot Operating System)は、ロボットのソフトウェア開発を効率化するためのプラットフォームです。ロボット開発に必要とされるさまざまな機能が提供されているため、ROSを活用することで効率的なロボット開発が可能となります。
たとえば、ROSには次のような機能が実装されています。
・ロボットのモデルやセンサーデータを可視化するツール ・画像処理や物体認識に利用できるライブラリ | ・異なるコンポーネント間のデータ通信を可能にする仕組み
これらの機能によって、開発者がゼロからコードを書く工数を省けたり、異なる言語で書かれたモジュールを組み合わせたりできるようになり、効率的なロボット開発につながっています。
市場におけるロボット開発プラットフォーム「ROS」の成長予測
ROSは2010年に初めて公開され、2014年にはROS2が公開されています。そしてROSはこれまで右肩上がりに急成長を遂げています。
また、株式会社グローバルインフォメーションの「ROS (ロボットオペレーティングシステム) の世界市場 (~2028年)」では、ROSの2023年時点での市場規模や今後の予測は以下のように述べられています。
・ROS (ロボットオペレーティングシステム) の市場規模は、2023年の5億8,100万米ドルから、予測期間中は13.2%のCAGRで推移し、2028年には10億8,200万米ドルの規模に成長すると予測されています。 ・ロボットタイプ別で見ると、スカラロボットの部門が予測期間中に大きなCAGRで成長する見込みです。 ・また、協働ロボットの部門は予測期間中に非常に高いCAGRを示す見通しです。協働ロボットは安全性が高く、センサーやビジョンシステムなどと互換性があるため、近年採用が増加しています。 ・地域別では、アジア太平洋地域が予測期間中に最大のCAGRを示す見通しです。そのなかでもインドが最大のCAGRを記録すると予想されています。 |
今後もROSの需要高は続くと思われます。
ROSの構成

ROSは複数の要素から構成されています。ここでは4つの要素に分解し、各項目について解説します。
通信
ROSの中核をなすのが、ノード間の通信システムです。ノードとは、ROSで動作する個々のプログラムです。これらのノード間でデータをやり取りする際、ROSは「トピック」と呼ばれる仕組みを使用し相互にメッセージをやり取りします。
またROSは分散処理を前提としており、異なるコンピュータ上で実行される複数のノードが協調して処理を行えるようになっています。この通信システムにより、複雑なロボットシステムを機能単位に小さく分けて、柔軟に組み合わせることが可能になっているのです。
ツール群
ROSには以下のように、効率よくロボット開発を進めるためのさまざまなツールが用意されています。
・rqt:デバッグツール ・gazebo:物理エンジンを搭載するシミュレーター ・ROSlaunch:起動システム ・catkin、ament、colcon:ビルドシステム ・ROSbag:通信データ記録・再生するツール | ・rviz:情報を可視化するツール
たとえば「rviz」という3D可視化ツールを使えば、ロボットのセンサーデータやモデルを視覚的に確認することが可能です。「rqt」はさまざまなGUIツールを提供し、デバッグや開発の効率化をサポートします。
これらのツールを使用することでロボットの状態把握やデバッグ作業が容易になり、開発効率の向上に貢献できます。
また、テクノプロ・デザイン社ではUnityやUnreal Engine、Omniverseでの可視化にも取り組んでいます。ぜひご相談ください。

機能群(ライブラリ)
ROSにはロボット開発に必要な多くの機能がライブラリとして提供されています。ライブラリとは、よく使われる機能などをまとめたコードの集まりです。
たとえば以下のようなものがあります。
センサ・アクチュエータ | IMU、LiDAR、モータ、カメラ等 |
アプリケーション | SLAM、ナビゲーション、動作計画等 |
ROSのライブラリには、ナビゲーション、マッピング、画像処理、動作計画など、高度な機能が既に実装されており、基本的な機能を一から作る必要はありません。開発者はこれらのライブラリを活用することで、高度な機能の実装に集中できるようになります。
エコシステム
ROSの大きな特徴の一つが、活発なユーザーコミュニティによって形成されるエコシステムです。世界中の開発者が自作のパッケージやツールを公開しており、開発者同士による情報交換や新しいパッケージの共有が行われています。

問題解決のためのフォーラムも充実しており、開発中の疑問点を解決しやすい環境があります。公式ウェブサイトやWikiを通じて、詳細なドキュメントやチュートリアルも公式に提供されています。
このように最新技術や知見を取り入れやすく、開発効率の向上やイノベーションの促進につながりやすいエコシステムが形成されているのです。
ロボット開発におけるROSの特徴

ROSには、ロボット開発を効率化・標準化する上で重要な特徴がいくつかあります。産業用ロボットから研究用ロボット、自動運転車、ドローンまで、幅広い分野で活用されており、今後のロボット技術の発展に不可欠なツールといえるでしょう。
ここでは、その主要な特徴について説明します。
オープンソース
ROSはオープンソースソフトウェアとして公開されています。これにより誰でも無料でROSを使用し、改変し、再配布することが可能です。
オープンソースであることによって、次のような効果を得られています。
・新しいツールやライブラリが常に開発され、ROS利用者全体で活用できる ・開発者同士のコラボレーションにより、より先進的なプロジェクトが発生する可能性がある | ・世界中の開発者での共同プロジェクトを行える
このように、ROSはオープンソースであることで、コミュニティの成長と技術の進歩が促進されているのです。その結果、ROSの機能や品質の向上につながっています。
モジュール開発が可能
モジュール開発とは、ソフトウェアやシステムを機能ごとの小さな部品(モジュール)に分割して開発を行う手法のことです。ROSはモジュール化された構造を持っており、個々の機能を独立したノードとして開発することができるためモジュール開発が可能になります。
ロボット開発においてモジュール開発は相性の良い開発手法といえ、次のようなメリットがあります。
・一度開発したモジュールの転用、再利用化 ・モジュール毎のテスト実行によるバグ出し、修正の容易化 ・モジュール単位でのアップデートによるメンテナンス性向上 ・必要機能のみを組み合わせるカスタマイズ性の向上 | ・並行開発による効率化
モジュール開発は、大規模な開発や類似開発を繰り返す場合に効果を発揮します。ROSを用いたモジュール開発を取り入れることで、複雑なロボットシステムの開発や運用を効率化することが可能です。
ユーザーコミュニティの充実
ROSの大きな強みの一つが、活発なユーザーコミュニティの存在です。世界中の研究者や開発者がROSを利用しており、さまざまな知見や成果が共有されています。
ROSのコミュニティを通じて最新の技術情報を得たり、問題解決のヒントを見つけたりすることができるでしょう。コミュニティによって開発されたパッケージやツールを活用することで、開発の幅を広げることも可能です。
また、日本には「ROS Japan Users Group」というユーザーコミュニティが存在し、ROSに関する勉強会・講習会などが開催されています。
ロボット開発にROSを用いるメリット・デメリット

ROSを使用してロボット開発を行うことには多くのメリットとデメリットがあります。ここでは、その主要な内容について詳しく説明します。
ロボット開発にROSを用いるメリット
まずはROSのメリットに関して解説します。
開発費を削減できる

ROSを利用することで、ロボット開発にかかるコストを大幅に削減できます。ROSはオープンソースで提供される多くの機能やツールを無料で使用できるため、ソフトウェアライセンス料が不要です。このため、ゼロから開発する場合と比べて初期投資を抑えることができます。
また、ROSには多くの既存のライブラリやツールが用意されています。これらを活用することで一からコードを書く必要がなくなり、開発時間と労力を節約でき人件費の削減につながります。
加えて、市販されているセンサーやアクチュエータ類の多くがROSに対応済みです。センサーやアクチュエータを新たに開発せずとも、既存製品を組み込むことで対応できれば開発費の抑制につながります。
以上のように、ROSを活用することでロボット開発におけるさまざまな開発費用の削減が可能です。
納期を短縮できる

ロボット開発でROSを上手く活用することで、開発納期を大幅に短縮することができます。ROSが提供する豊富なライブラリやツールを活用することでゼロからソフトウェアを構築する必要がなく、複雑な機能を比較的短時間で実装できるためです。
また、ROSはモジュール性が高いため、複数の開発者が並行して作業を進めることができます。並行作業によって開発のスピードアップが実現可能です。さらに、豊富なデバッグツールにより問題の早期発見と解決が可能になり、開発サイクルの短縮に貢献します。
このように、ROSはロボット開発を大幅に効率化し、納期短縮にも貢献できるプラットフォームです。
多様なロボット開発に応用が利く
汎用性の高さも、ROSの特徴の一つです。基本的な構造が共通しているため、一度ROSの使い方を習得すれば、異なる種類のロボット開発にも容易に応用が利きます。
たとえば産業用ロボットやサービスロボット、ドローンや自動運転車など、さまざまな種類のロボットやシステムの開発に応用可能です。研究用途から商用製品まで幅広く使用されているため、学術界と産業界の橋渡しにも役立ちます。

充実したコミュニティの存在も、ROSを用いたロボット開発の多様化を手助けしています。多様な開発に活用できる点も、ロボット開発にROSを活用する魅力の一つです。
ROSのデメリット
次にロボット開発にROSを用いるデメリットの解説です。
学習コストがかかる
ROSの習得には一定の時間と労力が必要です。ROSは分散アーキテクチャを採用しており、ノード、トピックなどの基本的な構成要素が相互にどのように機能するかを把握することに、初めは苦慮するためです。
特に初心者やプログラミングに不慣れな人にとっては、ROSの概念や操作方法を理解するのが難しい場合があります。
したがって、ROSをロボット開発に活用するためには十分な学習時間を確保することが重要です。
依存関係やバージョン管理が煩雑
ROSでは多くのパッケージやライブラリを使用するため、それらの依存関係の管理が複雑になることがあります。異なるバージョンのパッケージを組み合わせる場合、互換性の問題には特に留意が必要です。互換性の確認を怠ると、動作不良につながるリスクがあります。
このように、ROSを活用したロボット開発における管理コストの煩雑さは、開発プロセスを複雑にする可能性があるのです。
ハードウェアの選定に制約がある
ROSを使用する際には、特定のハードウェアが必要になることがあります。
センサーやアクチュエーターなどのハードウェアは、ROSと互換性のある機器を選ぶ必要があるためです。現在、市販品の多くのハードウェアがROS対応となっていますが、互換性の有無によっては、ハードウェア選定がロボット開発の自由度を制限する可能性もあります。
ROS1とROS2との違い

ROSには、従来のROS1と新しいROS2という2種類があります。ROS2はROS1の限界を克服し、より高度な要求に応えるために開発されました。ここでは、両者の主な違いについて説明します。
リアルタイム性

ROS2は、ROS1と比べてリアルタイム性が大幅に改善しています。
ROS1では、リアルタイム制御が必要な場合に制約があり、産業用ロボットなど厳密な時間制御が求められる用途には適していませんでした。一方でROS2では、設計からリアルタイム性を考慮しており、より厳密な時間制御が可能です。
リアルタイム性が改善したことにより、ROS2は産業用ロボットや自動運転車など、高い信頼性と応答性が求められる分野での利用が進んでいます。
プラットフォーム対応

ROS2は、ROS1よりも幅広いプラットフォームに対応しています。ROS1は主にLinux環境での使用を前提としていますが、ROS2はWindowsやmacOSなど、多様な環境で動作できます。
マルチプラットフォーム対応により、ROS2ではより幅広い分野でのロボット開発が可能になり、異なるプラットフォーム間での連携も容易になっています。
セキュリティ対応

ROS2では、セキュリティ面での改善が図られています。
ROS1では通信の暗号化やアクセス制御が十分ではなく、特に産業用途や商用製品での使用に課題がありました。これに対してROS2では、通信の暗号化やノード間の認証機能など、より高度なセキュリティ機能が実装されています。
セキュリティ対応の改善によって、ROS2では安全性が重要視される産業用途や、個人情報を扱うサービスロボットなどでの利用が可能になりました。
ROSを用いて開発されたロボットの事例

ROSは多くの企業や研究機関で採用されており、さまざまな分野でROSを用いたロボットが開発されています。ここでは、具体的な開発事例を2つ紹介します。
日本通運株式会社
【概要】
当社は、AMRを導入する際の課題の解決と、より現状に近いピッキング作業を実現するための仕組みの構築に向け、AMRの性能向上、ピッキング業務における必要な機能の追加など、物流に関するノウハウをRapyuta Roboticsと共有し、順次実験を繰り返しながら準備を進めてきたことで、導入目的であるピッキング作業の効率化・生産性向上、作業者の負荷軽減を図るなどの効果が得られることが確認されました。
また、改良を重ねたことで簡易な操作性・見やすい画面表示となり、作業の可視化も実装されたことから、誰でも簡単に作業を行える環境が整備され、作業者への業務教育の時間短縮など、間接的な効果も図られます。
【AMRの主な改善内容】
AMR本体の変更点 | Ver2(今回導入のAMR) | Ver1(2019年実証実験時のAMR) |
サイズ | W600×L600×H1,350 | W488×L564×H1,236 |
可搬重量 | 45㎏ | 30㎏ |
平均走行速度 | 0.8m/s ※最大1.4m/sまで可能 | 0.4m/s |
1充電稼働可能時間 | 8時間 | 2.5時間 |
最小通路幅 | 900㎜ | 900㎜ |
ナビゲーション・障害物検知 | LIDAR+3Dカメラ | LIDAR |
引用:日通、倉庫向け協働型ピッキングソリューションの本稼働を開始|NIPPON EXPRESS ホールディングス
アマゾン
アマゾンでは、物流施設以外で使用するロボットの取り組みも進めており、その一つとして、配達ロボット「アマゾン・スカウト」(Amazon Scout)を開発しています。アマゾン・スカウトは、米シアトルにあるアマゾンの研究所で開発された自律移動型ロボットで、サイズは小型のクーラーボックス程度で、歩行者やペット、障害物などをロボット自ら回避しながら、歩道を走行します。
アマゾン・スカウトのベースとなっているのが、ロボットベンチャーの米ディスパッチ(Dispatch)が開発した配達ロボット「Carry」(キャリー)です。ディスパッチは、マサチューセッツ工科大学、スタンフォード大学、ペンシルベニア大学、プリンストン大学のロボット工学ならびにAIの専門家が設立したベンチャー企業で、アマゾンが2017年に買収しました。
アマゾンでは、米ワシントン州スノホミッシュ郡の一部エリアにおいて2019年1月から、カリフォルニア州アーバイン地域において2019年8月からアマゾン・スカウトの配達実証を開始。数千回のロボット配送を実施し、ロボットの移動性能やさまざまな天候への耐久性を確認しました。
2019年までは実証的な意味合いが強い取り組みでしたが、新型コロナウイルス拡大に伴うインターネット通販需要の高まりを受け、配達員の人手不足が大きな問題となる中、2020年からは商品配送を補完する役割を担っており、現在はジョージア州アトランタとテネシー州フランクリンの一部エリアでもアマゾン・スカウトによる配達を実施しています。アマゾンでは2040年までにCO2の実質排出量をゼロにする目標を掲げており、その一環として、配達時の電気自動車の活用などとともに、ロボットの活用にも積極的に取り組んでいく方針です。
引用:物流網のロボット化を進めるアマゾン|Rentec Insight
まとめ
ROSの特徴やロボット開発で活用するメリット、ROS1とROS2の違いを紹介しました。ロボット開発にROSを上手く活用することで、開発費の削減や納期短縮など、さまざまなメリットを得られます。
また、ROS2の登場により、ROSを活用したロボット開発は今後も発展していくでしょう。
ROSを用いたロボット開発を検討される際は、テクノプロ・デザイン社へご相談ください。豊富な経験と実績を持つエンジニアが的確な支援をいたします。
