rosserial data format

asked 2020-07-03 10:29:12 -0600

GUENNI gravatar image

updated 2020-07-03 11:52:35 -0600

gvdhoorn gravatar image

Hello everyone,

I try to understand the data format for transmitting data across a serial line between two nodes. I exchange data between a publisher node on a Linux system and a subscriber node on an arduino mega2560. Communication works if I send standard messages like a string. But sending trajectory messages fails. To examine the situation I watched the data packets on the serial line with a scope with data analyzer function.

There I could see that repeately sent time messages are correct according to the packet format, described in "Rosserial/Overview/Protocol". I could identify the message length and check the checksums. This worked also on sending a string message.

But when I sent a JointTrajectory message, there I could see the leading "FF" and "FE", but the length could not be correct. It changed in several recordings, even when I sended the same messages. For example: length_lowByte:13 and length_highByte:80. The real packet length was 137 bytes.

Is there more, or newer, documention about the packet format available?

edit retag flag offensive close merge delete