0
$\begingroup$

Rosanswers logo

Hi ROSAnswers Friends,

I have been developing my own Java based ROS Client, and I am receiving the following error: [ERROR] [1365734492.147908029, 3.512000000]: a header of over a gigabyte was predicted in tcpros. that seems highly unlikely, so I'll assume protocol synchronization is lost.

Below is the message I am attempting to process in the form of a Java byte array. The protocol finished the getTopic method via XMLRPC, and now is my Robot controllers attempt to obtain the following Topic via the returned TCPROS protocol message: public final static byte[] MESSAGE={(byte)0xd6,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x20,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x63,(byte)0x61,(byte)0x6c,(byte)0x6c,(byte)0x65,(byte)0x72,(byte)0x69,(byte)0x64,(byte)0x3d,(byte)0x2f,(byte)0x72,(byte)0x6d,(byte)0x64,(byte)0x6d,(byte)0x69,(byte)0x61,(byte)0x18,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x74,(byte)0x6f,(byte)0x70,(byte)0x69,(byte)0x63,(byte)0x3d,(byte)0x2f,(byte)0x63,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b,(byte)0x4e,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x6d,(byte)0x64,(byte)0x35,(byte)0x73,(byte)0x75,(byte)0x6d,(byte)0x3d,(byte)0x61,(byte)0x39,(byte)0x63,(byte)0x39,(byte)0x37,(byte)0x63,(byte)0x31,(byte)0x64,(byte)0x32,(byte)0x33,(byte)0x30,(byte)0x63,(byte)0x66,(byte)0x63,(byte)0x31,(byte)0x31,(byte)0x32,(byte)0x65,(byte)0x32,(byte)0x37,(byte)0x30,(byte)0x33,(byte)0x35,(byte)0x31,(byte)0x61,(byte)0x39,(byte)0x34,(byte)0x34,(byte)0x65,(byte)0x65,(byte)0x34,(byte)0x37,(byte)0x30,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x74,(byte)0x79,(byte)0x70,(byte)0x65,(byte)0x3d,(byte)0x72,(byte)0x6f,(byte)0x73,(byte)0x67,(byte)0x72,(byte)0x61,(byte)0x70,(byte)0x68,(byte)0x5f,(byte)0x6d,(byte)0x73,(byte)0x67,(byte)0x73,(byte)0x2f,(byte)0x43,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b};

Can anybody tell me what is wrong with the above message?

Thanks,

Aaron


Originally posted by unknown_entity1 on ROS Answers with karma: 104 on 2013-04-11

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The TCPROS protocol information on www.ros.org/wiki/ROS/TCPROS states the following required fields for a TCPROS Connection Header: callerid: name of subscriber topic: name of the topic the subscriber is connecting to md5sum: md5sum of the message type type: message type

Unfortunately, the /clock topic in the DRCSIM for Gazebo, also requires message_definition field, or ROS throws the [ERROR] [1365876629.072388151, 159.022000000]: a header of over a gigabyte was predicted in tcpros. that seems highly unlikely, so I'll assume protocol synchronization is lost.

Not sure if this is specific to DRCSIM, ROS, or Gazebo, but if it is ROS, the wiki page needs to be updated with the message_definition field as a required field, or countless people will spend hours and hours spinning their wheels when attempting to write a ROS Client from scratch as I am doing. I hope this information helps somebody else.

Thanks,

Aaron

@Maurice - public final static byte[] CLOCK_MESSAGE={(byte)0x26,(byte)0xb1,(byte)0x70,(byte)0x23,(byte)0x20,(byte)0x72,(byte)0x6f,(byte)0x73,(byte)0x6c,(byte)0x69,(byte)0x62,(byte)0x2f,(byte)0x43,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b,(byte)0x20,(byte)0x69,(byte)0x73,(byte)0x20,(byte)0x75,(byte)0x73,(byte)0x65,(byte)0x64,(byte)0x20,(byte)0x66,(byte)0x6f,(byte)0x72,(byte)0x20,(byte)0x70,(byte)0x75,(byte)0x62,(byte)0x6c,(byte)0x69,(byte)0x73,(byte)0x68,(byte)0x69,(byte)0x6e,(byte)0x67,(byte)0x20,(byte)0x73,(byte)0x69,(byte)0x6d,(byte)0x75,(byte)0x6c,(byte)0x61,(byte)0x74,(byte)0x65,(byte)0x64,(byte)0x20,(byte)0x74,(byte)0x69,(byte)0x6d,(byte)0x65,(byte)0x20,(byte)0x69,(byte)0x6e,(byte)0x20,(byte)0x52,(byte)0x4f,(byte)0x53,(byte)0x2e,(byte)0x20,(byte)0x0a,(byte)0x23,(byte)0x20,(byte)0x54,(byte)0x68,(byte)0x69,(byte)0x73,(byte)0x20,(byte)0x6d,(byte)0x65,(byte)0x73,(byte)0x73,(byte)0x61,(byte)0x67,(byte)0x65,(byte)0x20,(byte)0x73,(byte)0x69,(byte)0x6d,(byte)0x70,(byte)0x6c,(byte)0x79,(byte)0x20,(byte)0x63,(byte)0x6f,(byte)0x6d,(byte)0x6d,(byte)0x75,(byte)0x6e,(byte)0x69,(byte)0x63,(byte)0x61,(byte)0x74,(byte)0x65,(byte)0x73,(byte)0x20,(byte)0x74,(byte)0x68,(byte)0x65,(byte)0x20,(byte)0x63,(byte)0x75,(byte)0x72,(byte)0x72,(byte)0x65,(byte)0x6e,(byte)0x74,(byte)0x20,(byte)0x74,(byte)0x69,(byte)0x6d,(byte)0x65,(byte)0x2e,(byte)0x0a,(byte)0x23,(byte)0x20,(byte)0x46,(byte)0x6f,(byte)0x72,(byte)0x20,(byte)0x6d,(byte)0x6f,(byte)0x72,(byte)0x65,(byte)0x20,(byte)0x69,(byte)0x6e,(byte)0x66,(byte)0x6f,(byte)0x72,(byte)0x6d,(byte)0x61,(byte)0x74,(byte)0x69,(byte)0x6f,(byte)0x6e,(byte)0x2c,(byte)0x20,(byte)0x73,(byte)0x65,(byte)0x65,(byte)0x20,(byte)0x68,(byte)0x74,(byte)0x74,(byte)0x70,(byte)0x3a,(byte)0x2f,(byte)0x2f,(byte)0x77,(byte)0x77,(byte)0x77,(byte)0x2e,(byte)0x72,(byte)0x6f,(byte)0x73,(byte)0x2e,(byte)0x6f,(byte)0x72,(byte)0x67,(byte)0x2f,(byte)0x77,(byte)0x69,(byte)0x6b,(byte)0x69,(byte)0x2f,(byte)0x43,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b,(byte)0x0a,(byte)0x74,(byte)0x69,(byte)0x6d,(byte)0x65,(byte)0x20,(byte)0x63,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b,(byte)0x0a,(byte)0x20,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x63,(byte)0x61,(byte)0x6c,(byte)0x6c,(byte)0x65,(byte)0x72,(byte)0x69,(byte)0x64,(byte)0x3d,(byte)0x2f,(byte)0x72,(byte)0x6d,(byte)0x64,(byte)0x6d,(byte)0x69,(byte)0x61,(byte)0x1a,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x74,(byte)0x63,(byte)0x70,(byte)0x5f,(byte)0x6e,(byte)0x6f,(byte)0x64,(byte)0x65,(byte)0x6c,(byte)0x61,(byte)0x79,(byte)0x3d,(byte)0x30,(byte)0x4e,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x6d,(byte)0x64,(byte)0x35,(byte)0x73,(byte)0x75,(byte)0x6d,(byte)0x3d,(byte)0x61,(byte)0x39,(byte)0x63,(byte)0x39,(byte)0x37,(byte)0x63,(byte)0x31,(byte)0x64,(byte)0x32,(byte)0x33,(byte)0x30,(byte)0x63,(byte)0x66,(byte)0x63,(byte)0x31,(byte)0x31,(byte)0x32,(byte)0x65,(byte)0x32,(byte)0x37,(byte)0x30,(byte)0x33,(byte)0x35,(byte)0x31,(byte)0x61,(byte)0x39,(byte)0x34,(byte)0x34,(byte)0x65,(byte)0x65,(byte)0x34,(byte)0x37,(byte)0x18,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x74,(byte)0x6f,(byte)0x70,(byte)0x69,(byte)0x63,(byte)0x3d,(byte)0x2f,(byte)0x63,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b,(byte)0x30,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x74,(byte)0x79,(byte)0x70,(byte)0x65,(byte)0x3d,(byte)0x72,(byte)0x6f,(byte)0x73,(byte)0x67,(byte)0x72,(byte)0x61,(byte)0x70,(byte)0x68,(byte)0x5f,(byte)0x6d,(byte)0x73,(byte)0x67,(byte)0x73,(byte)0x2f,(byte)0x43,(byte)0x6c,(byte)0x6f,(byte)0x63,(byte)0x6b,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00};

Or to make it simpler here is the actual text that makes the message definitions (You will need to pad the header fields with length information and message header length) keep in mind if it used to work, but it broke recently chances are the newest release may have a new md5, and message_definition.


Originally posted by unknown_entity1 with karma: 104 on 2013-04-13

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.