Note: This tutorial assumes that you have completed the previous tutorials: ROS tutorials.
(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

カスタムメッセージを定義する

Description: このチュートリアルでは、ROSMessage Description Languageを用いて独自のカスタムメッセージを定義する方法をお見せします。

Tutorial Level:

Next Tutorial: Writing a Tutorial

メッセージを生成する

メッセージを生成するのは簡単です。単に、パッケージのなかのmsgディレクトリのなかに.msgファイルを置くだけです。previous tutorial about creating .msg filesにしたがってください。(ビルドタイプをページの上部で選択するのを忘れないでください。)

メッセージをエクスポートする

他のパッケージをアクセスできないとき、メッセージはあまり便利ではありません。プログラミング言語のなかにははっきりとメッセージがエクスポートされていることが必要なものもあります。

C++

もしCTurtleかそれよりあとのROSのバージョンを使っているのなら、このステップは必要ありません。

<export>
  <cpp cflags="-I${prefix}/msg/cpp"/>
</export>

サービスをインクルード/インポート

C++

パッケージの名前に合致する名前空間にメッセージはおかれます。すなわち、

   1 #include <std_msgs/String.h>
   2 
   3 std_msgs::String msg;

Python

   1 from std_msgs.msg import String
   2 
   3 msg = String()

依存関係

もし、異なるパッケージに定義されている新しいカスタムメッセージを使う場合、付け加えるのを忘れないでください。:

to manifest.xml:

<depend package="name_of_package_containing_custom_msg"/>

package.xmlへ:

<build_depend>name_of_package_containing_custom_msg</build_depend>
<run_depend>name_of_package_containing_custom_msg</run_depend>

ROSNodeTutorialPythonチュートリアルは、C++とPythonによる、カスタムメッセージを使用した以前紹介したtalkerとlistenerの例をお見せします。

Wiki: ja/ROS/Tutorials/DefiningCustomMessages (last edited 2015-10-19 15:23:15 by Nakajima Yusuke)