ROS 2

Robot Operating System 2

ロボット向けのオープンソース開発基盤。通信層に業界標準のDDSを採用し、分散的なノード発見、標準プロトコルDDSI-RTPS、遅延や信頼性を設定できるQoSを備える。ROS 1にあった中央マスタへの依存がなく、通信の単一障害点が存在しない点が構造上の大きな違いである。

詳細

概要

ロボットソフトウェアの開発基盤であり、複数のプロセス(ノード)が publish/subscribe 方式で通信する構成をとる。ROS 2はその通信層を独自実装ではなく、Object Management Group(OMG)が仕様を管理する DDS(Data Distribution Service)の上に構築した点が設計上の中核である。

技術的な要点

DDSが提供するのは、分散的なノード発見の仕組み、publish/subscribe の通信プロトコル(DDSI-RTPS。ROS 1のTCPROS/UDPROSを置き換える)、IDLに基づくメッセージ定義とシリアライズ、そして遅延・信頼性・順序保証などを設定できるQoSである。発見処理が完全に分散しているため、ROS 1のように中央のマスタノードを必要とせず、システムの一部が通信するために不可欠となる単一障害点がない。DDS自体は複数企業のミドルウェアが共通仕様に収束して成立した標準であり、艦艇や航空、金融基盤などミッションクリティカルな領域での実績を持つ。仕様が文書化され複数のベンダ実装が存在するため、独自の通信層を自前で維持する必要がなくなった。

産業での位置づけ

研究用途にとどまらず製品開発でも採用される。通信の信頼性設定、セキュリティ、実時間性が要求される産業用途で使えるかどうかが設計時の主要な検討事項であり、DDSベンダの選定がシステム要件に直結する。