ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

TCPROS message of over gigabyte error, byte array attached for analysis

asked 2013-04-11 19:10:51 -0600

unknown_entity1 gravatar image

updated 2014-04-20 14:09:46 -0600

ngrennan gravatar image

Hi ROSAnswers Friends,

I have been developing my own Java based ROS Client, and I am receiving the following error: 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

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2013-04-13 08:34:32 -0600

unknown_entity1 gravatar image

updated 2013-04-25 04:55:46 -0600

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 ... (more)

edit flag offensive delete link more
0

answered 2013-04-24 11:17:27 -0600

mozer gravatar image

Hi Aaron, Were you able to resolve or pin down this issue? We've started observing it too.

But I don't really understand your Answer above.

yours, Maurice (MIT DRC Team)

edit flag offensive delete link more

Comments

Hi Maurice, The problem was no message_definition header field. Attached is a byte array that will resolve the error. Unfortunately, I did not get TCPROS to reply but I went on to UDPROS implementation thinking the response will be something simple. See above answer for @Maurice

unknown_entity1 gravatar image unknown_entity1  ( 2013-04-25 04:30:29 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2013-04-11 19:10:51 -0600

Seen: 1,830 times

Last updated: Apr 25 '13