Topics sharing with each other & other issues
See original GitHub issueHi,
- 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
- 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.
- 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
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:
- Created 2 years ago
- Comments:8 (4 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
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.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:
If we set
send_mcast
=True andlisten_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?