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

Kircheis's profile - activity

2014-03-20 17:54:55 -0500 received badge  Famous Question (source)
2013-11-01 03:38:01 -0500 received badge  Popular Question (source)
2013-11-01 03:38:01 -0500 received badge  Notable Question (source)
2013-09-25 05:21:51 -0500 received badge  Famous Question (source)
2013-08-27 00:06:32 -0500 commented question Sending subsequent messages in rosjava leads to message loss [solved]

So i found a solution. If you use the standard "addMessageListener" method for a subscriber than the internal queue size will be set to 1 (see for example DefaultSubscriber.java). Luckily you can set it yourself with the second "addMessageListener" method which offers a limit parameter. A simple int for the queue size.

2013-08-23 04:27:07 -0500 asked a question Sending subsequent messages in rosjava leads to message loss [solved]

Hi!

I encountered some problems with the ROSJava listener. I have a very simple node in ROS that sends two subsequent messages through the same publisher/topic. When i'm looking at the topic through "rostopic echo" all messages are send in their order and none is lost. But the ROSJava Listener only gets the first message and occasionally the second. Some of the messages appear to be lost. When i'm putting manually some time in between the two publish attempts the listener starts receiving all messages in order and none is lost.

Heres a log example. Thats what i'm getting on the topic:

data: 1: Message_1
---
data: 1: Message_2
---
data: 2: Message_1
---
data: 2: Message_2
---
data: 3: Message_1
---
data: 3: Message_2
---
data: 4: Message_1
---
data: 4: Message_2
---
data: 5: Message_1
---
data: 5: Message_2
---
data: 6: Message_1
---
data: 6: Message_2
---
data: 7: Message_1
---
data: 7: Message_2
---
data: 8: Message_1
---
data: 8: Message_2
---
data: 9: Message_1
---
data: 9: Message_2
---
data: 10: Message_1
---
data: 10: Message_2
---
data: 11: Message_1
---
data: 11: Message_2
---
data: 12: Message_1
---
data: 12: Message_2
---
data: 13: Message_1
---
data: 13: Message_2
---
data: 14: Message_1
---
data: 14: Message_2
---
data: 15: Message_1
---
data: 15: Message_2
---
data: 16: Message_1
---
data: 16: Message_2
---
data: 17: Message_1
---
data: 17: Message_2
---
data: 18: Message_1
---
data: 18: Message_2
---
data: 19: Message_1
---
data: 19: Message_2
---
data: 20: Message_1
---
data: 20: Message_2
---
data: 21: Message_1
---
data: 21: Message_2
---
data: 22: Message_1
---
data: 22: Message_2
---
data: 23: Message_1
---
data: 23: Message_2
---
data: 24: Message_1
---
data: 24: Message_2
---
data: 25: Message_1
---
data: 25: Message_2
---
data: 26: Message_1
---
data: 26: Message_2
---
data: 27: Message_1
---
data: 27: Message_2
---
data: 28: Message_1
---
data: 28: Message_2
---
data: 29: Message_1
---
data: 29: Message_2

And heres what the listener gets:

INFO: I heard: "1: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "2: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "2: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "3: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "4: Message_1"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "4: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "5: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "6: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "7: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "8: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "9: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node.RosoutLogger info
INFO: I heard: "10: Message_2"
Aug 23, 2013 1:04:57 PM org.ros.internal.node ...
(more)
2013-06-04 17:29:44 -0500 received badge  Notable Question (source)
2013-05-08 01:43:47 -0500 received badge  Popular Question (source)
2013-05-07 21:17:19 -0500 received badge  Supporter (source)
2013-05-07 21:17:13 -0500 received badge  Scholar (source)
2013-03-14 00:32:50 -0500 received badge  Editor (source)
2013-03-06 20:24:24 -0500 asked a question Instantiating rosjava messages faster for PointClouds

Hi!

Is there a way to generate/instantiate messages faster in rosjava (newest rev)? From my knowledge i have to use a messageFactory.

Point32 p = messageFactory.newFromType(Point32._TYPE);

The problem is that it's too slow if you have to have generate a lot of Points32 for a PointCloud message. I narrowed it down to this bottleneck.

I tested it with my older rosjava builds (December 2011) and there you instantiate messages directly and i don't have any speed problems.

EDIT1: I have seen that PointCloud2 offers an byte array which should solve the problem.