プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

ROSの入門

  • 2018年5月5日
  • 2018年5月29日
  • ROS
  • 76view
  • 0件
ROS

ソースに触れるというより、考え方的な。

ROSとは

ROS (Robot Operating System)はソフトウェア開発者のロボット・アプリケーション作成を支援するライブラリとツールを提供しています. 具体的には, ハードウェア抽象化, デバイスドライバ,ライブラリ,視覚化ツール, メッセージ通信,パッケージ管理などが提供され・・・

公式は上記のようにややこしいのでもっと砕いて書く。

ROSとは、LinuxディストリビューションのUbuntu上で動くロボットOSのこと。
OSといっても、ミドルウェア的な存在。

なぜROSを使うのかというと、ロボットOSというだけに、ロボットアプリケーションに特化したものになっているから。
ロボットを作るためにどこが特化しているといいかというと、分散型の制御システムという点。
様々な処理を同時に行う必要があるロボットにおいて、処理で遅れが発生するのは許されない。
それを解消するのがROSであり、いろいろ便利な機能が詰まっている。

ROSはロボットに限らず、認知・判断・操作を瞬時に行う必要がある自動運転技術などでも使われる。

ROSの構成

ROSでは機能の最小単位をノードと呼ぶ。
ノードを合わせてソフトウェアを組み、分散システムを構成する。

各ノードでの情報のやりとりにはトピックという単位を用いる。
トピックは提供する側(Publisher)と購読する側(Subscriber)によって管理される。

パッケージ
一つのパッケージに複数のノードを置いて管理することができる。
同じパッケージ内にlaunchファイルを配置することで、ノードの一括起動などもできる。