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

Defining Custom Messages

Description: This tutorial will show you how to define your own custom message data types using the ROS Message Description Language.

Tutorial Level:

Next Tutorial: Writing a Tutorial

Generating Messages

Generating a message is easy. Simply place a .msg file inside the msg directory in a package. Please follow previous tutorial about creating .msg files (don't forget to choose build system type at the top of the page there).

Including or Importing Messages


Messages are put into a namespace that matches the name of the package. ie.

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


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


If you are using the new custom message defined in a different package, remember to add:

to manifest.xml:

<depend package="name_of_package_containing_custom_msg"/>

to package.xml:


The ROSNodeTutorialPython tutorial shows an example of the previously described talker and listener tutorials using a custom message, with implementations in C++ and Python.

Wiki: th/ROS/Tutorials/DefiningCustomMessages (last edited 2014-11-19 04:54:47 by AkkharaphongEKSIRI)