question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Studio publisher does not connect to remote subscribers in ROS1

See original GitHub issue

Studio publisher does not connect to remote subscribers in ROS1 – in other words, if the ROS_MASTER_URI is not pointing to localhost, then messages fail to publish.

I’ve seen this behavior on our actual systems, and in this ticket I reproduce on a dummy setup. Of course it’s possible I have some configuration wrong somewhere, but I am able to publish via rostopic pub using a remote host for ROS_MASTER_URI.

  • Studio Version: 1.7.0
  • OS: Ubuntu
  • ROS1 live connection

Steps To Reproduce

First, verify publishing works when running all on one host (in this example, my host is called mimir):

  1. Start roscore
  2. Run rostopic echo /chatter
  3. Open Studio and connect to ROS1 with http://localhost:11311
  4. In studio, add a Publish panel and send a message on /chatter
  5. Verify the message is received by the rostopic echo process

Selection_999(431)

Then, try publishing when Studio and the ros master are on different hosts:

  1. On remote host, start roscore (in my example the remote host is called yeti)
  2. On remote host, run rostopic echo /chatter
  3. Open Studio and connect to ROS1 with http://yeti:11311
  4. In studio, add a Publish panel and send a message on /chatter

Expected Behavior

  • The message is received by the rostopic echo process on the remote host

Actual Behavior

  • No message is received

Selection_999(432)

I can’t find an explicit error message in any logs anywhere. I’ve also triple-checked all of my configuration so I don’t think it’s that, though I’d love to be proven wrong!

For example, I can use rostopic pub to send messages from my local to remote host:

Selection_999(433)

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:15 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
defunctzombiecommented, May 3, 2022

@jtbandes I’m gonna pick this up since I think its related to the other issue and I’ve got some cycles to put towards this.

1reaction
jessicaaustincommented, Apr 22, 2022

https://github.com/foxglove/studio/issues/3096 is similar in the sense that a subscriber isn’t getting messages from Studio. But in that case, the issue is it’s a C++ subscriber, in this case the issue is something about networking.

In that issue, @jhurliman described here how I can run a test using the https://github.com/foxglove/ros1 repo directly, to cut out Studio from the equation and simplify testing. I then took it one step further and added an example at https://github.com/jessicaaustin/ros_demo/tree/main/cpp_subscriber and replicate using docker only, to eliminate possible issues with my local setup. So next I’ll try to do the same thing for this issue, to make sure we’re all using the same ROS/linux setup to test with.

And if I can’t replicate this issue using the ros1 chatter test directly, but I can with Studio, that’s a useful data point in itself.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Subscriber node do not seems to register publisher on ...
The listener node will not subscribe to the topic the talker node is publishing on. rqt_graph confirmed no connection between two nodes.
Read more >
Combine Publisher and Subscriber in a Closed Loop System
In this ROS tutorial you will learn how to combine a publisher and a subscriber in the same node, so that you can...
Read more >
[ROS Q&A] 190 - How to subscribe with a C++ ...
In the post, you will learn how to create a C++ subscriber to a custom msg array published with Python publisher. This answers...
Read more >
Solitary messages published from ROS 1 publishers ...
Create a ROS 1 node with a publisher targeting the ROS 2 subscriber that does not latch and only publishes a single message...
Read more >
Publishing - RStudio Connect: User Guide
Configure the client with a package repository that is accessible via http(s) from the Connect server, such as CRAN or RStudio Package Manager....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found