スポンサー広告
※ご注意:古い情報が含まれる場合があります

本サイトの記事には、過去の技術情報や設定手順が含まれています。現在の環境では動作しない可能性もありますので、ご利用の際はご注意ください。

ROSとROS2の違い:誕生の背景から実務レベルの進化まで

はじめに

ここ数年になりましたが、ROS2に取り組んでいます。私の場合は初めからROS2に取り組みましたが、ROS(Robot Operating System)(ROS1)は、ロボット開発の世界を大きく変えたミドルウェアです。しかしROSは研究用途に強い一方で、産業用途・商用ロボットで使うには限界がありました。その限界を解決する形で進化したのがROS2です。ここでは、ROSからROS2の流れを整理してみます。

1. ROS誕生の背景(2007〜2010年)

ROSはロボット開発基盤を統一したいという研究者の強いニーズから生まれました。
当時は研究室ごとに独自のソフトウェアを作っており、再利用性が低く、センサー制御もバラバラでした。この問題を解決するために、Willow Garageを中心にROSが開発されました。

ROSが提供した主な価値:

  • トピック/サービスによるモジュール分割
  • 再利用可能なパッケージ文化(SLAM、Navigationなど)
  • センサドライバ(LiDAR、カメラ)がすぐ動く
  • PythonやC++で簡単にノードを書ける設計

この結果、ROSは世界中の研究機関で「ロボット開発の標準プラットフォーム」として広まりました。

2. ROSの限界

研究には優れていましたが、実務用途では以下の課題がありました:

  • リアルタイム性が弱い(TCPROS通信で遅延が出やすい)
  • ROS Master依存で分散システムに弱い
  • セキュリティ不足(暗号化や認証が標準でない)
  • Windows / RTOS / 組込み対応が弱い
  • 商用ロボットの安全要件を満たしにくい

これらの弱点により、ROSをそのまま製品に使うことは難しい状況でした。

3. ROS2誕生の背景(2014〜)

ROSの限界を解決し、産業用途でも使えるロボット基盤を作るという目的でROS2のプロジェクトがスタートしました。Intel、Amazon Robotics、Apex.AIなどの企業も参加し、「商用レベルのロボットソフト基盤」として再設計されました。

ROS2は自動運転や産業制御でも使われるDDS(Data Distribution Service)を採用。
これによりリアルタイム性、信頼性、分散システムの設計が大幅に強化されています。

4. ROS2が解決したこと(ROS1からの進化)

  • DDSベースでリアルタイム通信に対応
    QoSで信頼性・優先度・再送の制御が可能
  • Master不要の完全分散システム
    マルチロボット運用に強く、耐障害性も向上
  • セキュリティ標準搭載(SROS2)
    暗号化・認証・アクセス制御など商用要件に対応
  • Windows / macOS / RTOS / マイコンに対応
    Micro-ROSでSTM32など組込みCPUでも動作可能
  • 高品質パッケージが増加
    Navigation2、SLAM Toolbox、MoveIt2など成熟

5. 実務での違い(ROS vs ROS2)

観点 ROS ROS2
通信 TCPROS中心 DDSでリアルタイム、QoS調整
アーキテクチャ Master必須 完全分散
セキュリティ 非標準 SROS2により標準
OS対応 Linux中心 Windows / macOS / RTOS対応
組込み 困難 Micro-ROS
商用利用 制限多い 十分可能

6. ROS2が「実務レベル」になった理由

  • 企業が本格参加(NVIDIA, Amazon, SoftBank等)
  • SLAM Toolbox, Nav2 など主要パッケージが安定
  • LTSリリース(Foxy → Humble → Iron → Jazzy)が成熟
  • サービスロボット・AGVなど実製品への採用が増加

まとめ:ROSは研究、ROS2は産業へ

ROSは研究・教育用途で非常に優れた基盤でしたが、ROS2は産業・商用ロボットの要件を満たすために再設計された、次世代のロボット基盤です。研究用のROS、実務用のROS2という住み分けが、今のロボット開発の現状をよく表しています。

スポンサー広告・参考書籍

改訂新版 ROS 2ではじめよう 次世代ロボットプログラミング

ロボットアプリケーション開発のための基礎から実践まで


Amazonで見る