ROS 2
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/10 22:02 UTC 版)
「Robot Operating System」の記事における「ROS 2」の解説
ROSは、もともと以下の前提のもと設計された。 単一のロボットであること ワークステーションクラスの計算資源が利用できること リアルタイム処理は不要であること 十分高速で安定したネットワーク接続環境であること 学術分野を主とした研究用アプリケーションであること 規制や禁止事項がなく、最大限の柔軟性があること これらは、2007年の開発開始時に設定されたものであり、その後のROSコミュニティの発展により、その利用範囲は製造・農業・商業分野に広がり、ROSを搭載したロボットが製品化されるようになった。利用分野の拡大によって、ROSに以下のような新たな要望が寄せられるようになった。 複数ロボットの同時制御 組み込みシステム用の小型コンピュータのサポート リアルタイム制御への対応 貧弱なWi-fi環境などの不安定なネットワークへの対応 製品利用への対応 また、ROSでは配信-購読型のメッセージ通信基盤を独自開発していたが、その後の技術の発展により、Zeroconf、Protocol Buffers、Data Distribution Service (DDS) といったROSの要件に合ったオープンソースの通信ミドルウェア等が登場した。ROSの開発者らは、ROSの次世代化のあり方を検討した結果、既存のROSを問題なく利用しているユーザへの影響を抑えるため、既存のROSと切り離して次世代バージョン「ROS 2」を開発することとなった。 既存のROS (ROS 1) で独自実装だった通信ライブラリは、ROS 2ではData Distribution Service (DDS) に置き換えられた。DDSの採用により実現したセキュア通信、Quality of Service (QoS) 通信、リアルタイム通信、ノード間の相互発見機能はROS 2の特徴とされる。これによりメッセージ通信のリアルタイム性が向上し、ハードウェアとOSがリアルタイム性を持つものであれば、ROSの標準機能でリアルタイム制御を実現できるようになったほか、単一障害点となりうる「roscore」(マスタ)を必要としないノード間ネットワークを形成可能となった。これらの新機能に対応してROS 2ではAPIが新規設計されたが、 ROS 1との間で相互にメッセージ通信を行うためのブリッジプログラムも用意されており、両者の相互運用も可能である。このほか、ROS 2 ではビルドシステムもアップグレードされ、catkinをベースに「ament」が開発された。 ROS 2は2015年から段階的にアルファ版、ベータ版が公開された。そして、2017年12月に最初のリリース版「Ardent Apalone」が公開され、2018年7月には新バージョン「Bouncy Bolson」が公開された。「Bouncy Bolson」の時点でROS 2は、Ubuntu (16.04, 18.04)、macOS Sierra、Windows 10で利用できる。ROS 2のドキュメントは GitHub 上で公開されており、インストール方法を解説したページも用意されている
※この「ROS 2」の解説は、「Robot Operating System」の解説の一部です。
「ROS 2」を含む「Robot Operating System」の記事については、「Robot Operating System」の概要を参照ください。
- ROS 2のページへのリンク