Ask Your Question

Revision history [back]

From the ROS wiki:

Standard ROS Messages including common message types representing primitive data types and other basic message constructs, such as multiarrays.

...

std_msgs contains wrappers for ROS primitive types, which are documented in the msg specification. It also contains the Empty type, which is useful for sending an empty signal. However, these types do not convey semantic meaning about their contents: every message simply has a field called "data". Therefore, while the messages in this package can be useful for quick prototyping, they are not intended for "long-term" usage.

As such, they are simply not intended to have a header. Headers are added for all the messages with semantic meaning where this makes sense. This goes especially for sensor_msgs, as it is obvious a sensor reading needs to contain the header.

You can and should create your own message with semantic meaning that can hold whatever your require. See also this related discussion on discourse that just popped up recently.