ROSアーキテクチャ(3)-ファイルシステム

ROSアーキテクチャ(3)-ファイルシステム

概要概要

ご存知のとおり、ROSはオペレーティングシステムに似ており、すべてのファイルは特定のルールに従って編成され、さまざまな機能を持つファイルはさまざまなフォルダーに配置されます。パッケージ:パッケージは、ROSノード、ライブラリ、構成ファイルなどを含むROSソフトウェアの基本単位です。パッケージマニフェスト:各関数パッケージには、package.xmlという名前の関数パッケージマニフェストが含まれています。これは、作成者情報、ライセンス情報、依存オプション、コンパイルフラグなど、関数パッケージの基本情報を記録するために使用されます。メタパッケージ:新しいバージョンのROSでは、元の関数パッケージ(Stack)の概念が「メタパッケージ」にアップグレードされています。主な機能は、同じ目的で複数の関数パッケージを編成することです。たとえば、ROSナビゲーションメタ関数パッケージには、モデリング、ポジショニング、ナビゲーションなどの複数の関数パッケージが含まれます。メタ関数パッケージリスト:メタ関数パッケージリストには、実行時に依存するか、いくつかの参照タグを宣言する必要がある関数パッケージが含まれている場合があります。メッセージタイプ:メッセージは、ROSノード間で公開/サブスクライブされる通信情報です。ROSが提供するメッセージタイプを使用するか、.msgファイルを使用して汎用パッケージのmsgフォルダーにある必要なメッセージタイプをカスタマイズできます。サービスタイプ:サービスタイプは、ROSクライアント/サーバー通信モデルでの要求および応答データタイプを定義します。ROSシステムによって提供されるサービスタイプを使用するか、.srvファイルを使用してのsrvフォルダーで定義することができます。関数パッケージ。コード:関数パッケージノードのソースコードを配置するために使用されるフォルダー。






1.機能パック

これらのフォルダの主な機能は次のとおりです。
1)config:ユーザーが作成した関数パッケージに構成ファイルを配置します。ファイル名は異なる場合があります。
2)インクルード:使用する必要のあるヘッダーファイルを関数パッケージに配置します。
3)スクリプト:直接実行できるPythonスクリプトを配置します。
4)src:コンパイルする必要のあるC ++コードを配置します。
5)起動:すべてのスタートアップファイルを関数パッケージに配置します。
6)msg:汎用パッケージのカスタマイズされたメッセージタイプを配置します。
7)srv:汎用パッケージのカスタマイズされたサービスタイプを配置します。
8)アクション:汎用パッケージのカスタムアクション命令を配置します。
9)CMakeLists.txt:コンパイラが関数パッケージをコンパイルするためのルール。
10)package.xml:関数パッケージリスト。
ファンクションパッケージの名前、バージョン番号、情報の説明、作成者情報、およびライセンス情報は、ファンクションパッケージリストから明確に確認できます。さらに、<build_depend> </ build_depend>タグは、関数パッケージ内のコードコンパイルが依存する他の関数パッケージを定義し、<run_depend> </ run_depend>タグは、関数パッケージ内の実行可能プログラムが依存する他の関数を定義します。実行時。機能パッケージ。ROS機能パッケージを開発する過程で、この情報は機能パッケージの特定の内容に従って変更する必要があります。
ROSは、関数パッケージの作成、コンパイル、変更、および操作のための一連のコマンドを設計しました。

2.メタファンクションパッケージ

メタ関数パッケージは、package.xmlメタ関数パッケージマニフェストファイルのみを含む特別な関数パッケージです。その主な機能は、関数パッケージのコレクションの概念と同様に、複数の関数パッケージを論理的に独立した関数パッケージに統合することです。
メタ関数パッケージマニフェストのpackage.xmlファイルは関数パッケージのpackage.xmlファイルに似ていますが、次のように参照タグを含める必要があります。

<export>
    <metapackage/>
</export>

さらに、メタ関数パッケージリストでは、コンパイルプロセスが依存する他の関数パッケージを宣言するために<build_depend>タグは必要ありませんが、関数パッケージが依存する他の関数パッケージを宣言するために<run_depend>タグを使用するだけで済みます。ランタイム。
ナビゲーションメタ関数パッケージを例にとると、次のコマンドを使用して、メタ関数パッケージ内のpackage.xmlファイルの内容を確認できます。

$ roscd navigation
$ gedit package.xml

おすすめ

転載: blog.csdn.net/weixin_45661757/article/details/110520968