(訳注:最新の情報は原文を参照してください.)
ROS プラットフォームのコアとなる部分は可能な限りアーキテクチャ依存にならないようになっています.これはいくつかの異なるデータ通信方式(トピック・サービス・パラメータ サーバ)を提供しますが,それらの使用法や命名法について規定するようなことはありません.このアプローチにより,ROS は様々なアーキテクチャと統合することができますが,より巨大なシステムをROSに構築するためには,より上位の概念が必要となります.
common・common_msgs・geometryといった,いくつかのスタックが存在し,これらは ROS の使用とともに,以下で述べる上位概念を提供します.
座標系/座標変換
ja/tfパッケージは, 時間ごとの複数の座標系の位置情報の計算を行うROSベースの分散型フレームワークです.
アクションとタスク
ja/actionlib パッケージでは, ROS 内でプリエンプト型タスク(予約型タスク)のための一般的なトピックベースのインタフェースが定義されています.
メッセージ オントロジー
common_msgsスタックはロボットシステムの基本的なメッセージオントロジ(メッセージの在り方)を規定しています. それは何種類かのクラスのメッセージとして定義されており,以下が含まれています:
actionlib_msgs: actionsを表示するメッセージ.
diagnostic_msgs: 診断データを送出するメッセージ.
geometry_msgs: 一般的な基本位置情報を示すメッセージ.
nav_msgs: ナビゲーションのためのメッセージ.
sensor_msgs: センサデータを表示するメッセージ.
プラグイン
pluginlibはC++のコードにライブラリを動的にロードするためのライブラリを提供します.
フィルタ
filtersパッケージは連続したフィルタをデータに適用して処理するためのC++ライブラリを提供します.
ロボット モデル
urdfパッケージはロボットのモデルを表現するXMLフォーマットを定義し, C++のパーサも提供します.
チートシート
ROScheatsheet.pdfを確認してみましょう.