ROS 2 公式文書(英語) 日本語訳シリーズです。
本ブログの日本語翻訳版のトップページは以下のリンクを参照下さい。
※2019/05/08 現在のものです。
既存の「標準」メッセージとサービスの定義を可能な限り再利用することをお勧めしますが、特定のアプリケーション用に独自のカスタムメッセージやサービスを定義する必要がある場合が多くあると思われます。カスタムメッセージまたはサービスを定義するための最初のステップは、ROS インターフェース定義言語を使用して.msg
または.srv
ファイルを作成することです。慣例では、.msg
ファイルはmsg
というパッケージサブディレクトリに入れられ、.srv
ファイルはsrv
というパッケージサブディレクトリに入れられます(違う場所も指定はできますが、規則に従うことをお勧めします)。
カスタマイズした.msg
や.srv
ファイル、あるいはその両者を作成したら、定義の上にコードジェネレータを走らせるために、該当するパッケージ内のCMakelists.txt
ファイルにコードを追加する必要があります。本件に関するより詳細なチュートリアルの代わりに、例としてpendulum_msgsパッケージを調べてください。そのパッケージの CMakeLists.txt ファイルで、関連する CMake 呼び出しを確認できます。
これをビルドするには、package.xml
のフォーマットを 3 にする必要があります。これは、member_of_group
コマンドにフォーマット 3 が必要なためです。ROS 2 の create package
は、デフォルトのフォーマット 2 で package.xml
を生成します。