Message from ROS network dropped: message larger than buffer.

asked 2015-08-02 11:24:49 -0600

prrraveen gravatar image

updated 2015-08-03 02:03:27 -0600

tfoote gravatar image

I am sending jointTrajectory message to Ardunio over rosserial. It is generated by moveit commander command line tool. The message is of 80 bytes ( "sys.getsizeof(goal.trajectory)" in my python program returns 80 bytes)

But I get following error on rosserial terminal

[ERROR] [WallTime: 1438503253.569131] Message from ROS network dropped: message larger than buffer.

 I have increased the input and output buffer size to 1024 by following the answers http://answers.ros.org/question/20807...

http://wiki.ros.org/rosserial/Overvie...

I have rebuild the ardunio_client library in ardunio sketch dir using

rosrun rosserial_arduino make_libraries.py .

I am not able to figure out why a 80 byte message is dropping even though it is way within the limits.

Here are the changes I made in rosserial ros package

ros.h

#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega168__)
    /* downsize our buffers */
      typedef NodeHandle_<ArduinoHardware, 6, 6, 1024, 1024> NodeHandle;

    #elif defined(__AVR_ATmega328P__)

      typedef NodeHandle_<ArduinoHardware, 25, 25, 1024, 1024> NodeHandle;

    #else

node_handle.h

  /* Node Handle */
  template<class Hardware,
           int MAX_SUBSCRIBERS=25,
           int MAX_PUBLISHERS=25,
           int INPUT_SIZE=1024,
           int OUTPUT_SIZE=1024>

Could some give me a hint to fix this.I appreciate your time and expertise

edit retag flag offensive close merge delete

Comments

Hello Did you find a solution? I currently have the same problem you had ...

JulianR gravatar image JulianR  ( 2018-08-29 08:07:05 -0600 )edit