0
$\begingroup$

Rosanswers logo

My ROS client is having issues connecting Publishers to topics. Subscribers work flawlessly, and then Publishers get setUp, start listening on a Socket. The only ROS topic that is attempting to subscribe to a topic is /rosout, which calls requestTopic on rosout, receives the connection information, and then never attempts to connect to the Publishers. Can anybody assist me in trying to figure out why ROS is not attempting to connect to the Topic Publishers?

Thanks for your assistance!

Aaron image description Response to comment: Yes, I am implementing my own TCPROS/UDPROS client in Java. The client is running locally. This is on turtlesim, all subscribers subscribe to /turtle1/color_sensor, /rosout, /rosout_agg, /turtle1/pose. Then the Publishers are initialized, and on the same topics call registerPublisher on each topic. ROS automatically calls requestTopic at startup on /rosout even without calling registerPublisher on /rosout (why?, this required writing specialized startup code due to how the initialization is started...), lastly, after the /rosout is responded to the subscriber requestTopic the subscriber is not connecting to the Publisher via TCPROS. I've attached a screenshot of rqt_graph, to add further confusion to the question...


Originally posted by unknown_entity1 on ROS Answers with karma: 104 on 2014-03-30

Post score: 1


Original comments

Comment by dornhege on 2014-03-30:
Are you implementing your own tcpros interface? If yes, what exactly are you doing. If no, what code/node setup do you use in ROS that doesn't work. Are you running locally or over the network?

Comment by unknown_entity1 on 2014-03-31:
@dornhege - I've replied to your comment below the original question, and included a screenshot of rqt_graph for further information.

Comment by dornhege on 2014-03-31:
I'm don't know the ros internals to make something out of that. Are you aware that there is a rosjava implementation?

Comment by unknown_entity1 on 2014-03-31:
I am aware there is a ROSJava implementation. Unfortunately, it does not meet the requirements of the system my group is building;)

Comment by Mehdi. on 2014-03-31:
You might consider installing Rosbridge and contacting it from java using websockets. All you need to do is to include websockets in your java project. An example of rosbridge can be found on this website (here implemented on javascript): http://rosbridge.org/doku.php?id=rosbridge_v2.0_example_commands

Comment by unknown_entity1 on 2014-04-01:
Thanks Mehdi, I appreciate your suggestion, and, rosbridge does not meet the requirements of the system my group is building. Our client will be highly efficient, very flexible, and work out of the box in autonomous robots, built by other robots, without the need for people in the middle.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Last night I ran rqt_console in an attempt to obtain logging information to see what was happening. A funny thing happened;) /rosout_agg Publisher instantly connected. This confirms that my client's Publishers are now working, and the issue I was encountering was with the /turtlesim behavior. I fully expect that when I configure my client to Publish to /cmd_vel that it will start working. Thanks for you input, and glad this one resolved itself.

Sincerely,

Aaron


Originally posted by unknown_entity1 with karma: 104 on 2014-04-01

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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