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.

Topics sharing with each other & other issues

See original GitHub issue

Hi,

  1. I have created a scenario in which there is one master controller (A) & two other robots (B & C). I want to send data from B to A & C to A, so for that I have establish a unicast network by turning send_mcast=false and listen_mcast:=false with robot_hosts name and also added host-name under ignore_hosts in B&C. After that on B & C, started a publisher node which publish its data on a /chatter topic & on A a listener is running which successfully reads data from both B & C, but when I started same listener on robot B , I was able to receive data from C as well,which we don’t want to. IMPORTANT ONE So can you guide how we can isolate B & C robot ,because soon there will be some topics which will be common in both B & C and we want they only communicate with master i.e A

I have Attached one image ,so that you can understand whats going on issue

  1. There is one more issue, we are using docker and created the above setup, without docker multicast works great but on docker, multicast failed to detect another fkie_masters which are on different host, they are under same WIFI network & communicating with each other via docker network overlay ,they got connected if we use robot_hosts & pass their host-names. (Ip_forward & icmp_echo_ignore_broadcasts are set as 1 & 0 along with hostnames of all robots in /etc/hosts)

So can you guide what we were missing ,why multicast failed to detect other hosts ,when running inside a docker.

  1. There is one issue in master_sync.py file , please refer below image for error, it occurred when were sending /tf data from 3 different robots to a single Master

issue 3 after debugging we found the content of warnings.items() were this, its missing _rtmd5sum

[((‘/tf’, ‘/play_1626337649605067242’, ‘http://192.168.1.12:32965/’), ‘local: tf2_msgs/TFMessage, remote: tf/tfMessage’)]

Thanks

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
atiderkocommented, Sep 3, 2021

No, unfortunately it’s not that simple. That still depends on the configuration of the robots. If a publisher and subscriber with the same name is created on all robots, they are registered with a ROS-Master on master. The result is that ROS ties all the topics together and everyone gets the message. Even though the robots cannot see each other. You then need at least additional filters for the master_sync on the master so that the robot’s subscribers are not registered on the master Roscore.

So from the visibility of the robots one cannot infer the data transfer. Much more important is the question: where are which topics are registered? The roscore then takes care of establishing the connection between the topics.

If you set listen_mcast=False, this master_discovery won’t see any other master_discovery. send_mcast is True by default, but if you set it to False, no other master_discovery will see this master_discovery.

-> the listen_mcast should be True on the master to see the robots.

0reactions
methylDragoncommented, Sep 2, 2021

Hi @marcus011 ,

  1. Thanks for the feedback!
  2. I’ll take a closer look when I have more time
  3. Short Answer: no mcast_port is used to start separate networks. This allows several groups to work in parallel without disturbing each other. Starting several master_discover and master_sync for one roscore can disrupt the local and the overall system. If you set send_mcast=true and listen_mcast=false the Master will see the robots but the robots not each other.

Just wanted to check then, does this mean that using point 3 here, messages from each robot won’t reach each robot, and the master can still send messages to each robot?

I.E. from Marcus’ original post, where:

  • B sends to master A
  • C sends to master A

If we set send_mcast=True and listen_mcast=False, will the master be able to send messages to all robots, and the robots send messages to the master, but not to each other (since the robots won’t see each other)?

Furthermore, should we be setting these parameters on the Master or on the robots? Or both?

Read more comments on GitHub >

github_iconTop Results From Across the Web

10 Fun Alternatives to Think-Pair-Share - We Are Teachers
10 Fun Alternatives to Think-Pair-Share · 1. Double Think-Pair-Share. This technique is great for collaborating and generating many ideas on a ...
Read more >
Guidelines for Discussing Difficult or High-Stakes Topics | CRLT
Divide the class into pairs. Instruct the students to share their responses with group members. Provide students with explicit directions, such ...
Read more >
Asked students to share ideas and experiences with others ...
Class and homework activities that require sharing ideas and experiences with others of different backgrounds facilitate educational outcomes that students ...
Read more >
Think-Pair-Share | Classroom Strategies - Reading Rockets
Think-pair-share (TPS) is a collaborative learning strategy where students work together to solve a problem or answer a question about an assigned reading....
Read more >
25 Real-World Discussion Topics for Learners to Explore ...
It all starts with constructive and lively discussions that let opinions be shared and voices be heard. The following real-world discussion topics for...
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