0
$\begingroup$

Rosanswers logo

Hey, I am looking for a way to set up a configuration with multiple robots that connects to one base. This base is broadcasting data that's needed by all robots. I was thinking about setting roscore on base but it's not possible due to unstable network (robots have to stay alive even without online base).

I was thinking about setting roscore on all robots but then I am not able to publish the data to whatever number of robots. Can you guide me to solve this problem?


Originally posted by ArkadiuszN on ROS Answers with karma: 19 on 2018-01-30

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

This is speculative, but you could take a look at a multi-master setup. multimaster_fkie is one example.

Another option is to use ROS 2. It's underlying network stack is better suited for the kind of conditions you describe.


Edit:

I was thinking about multimaster_fkie, is it immune to connection problems?

No, it's not immune. But at least all nodes registered with the local master will be able to continue communicating if/when your robot goes out of reach of your base.

I will read about ROS2 and if I can somehow move all my code to it.

you don't need to. Look into the ros1_bridge node.


Edit2:

ros1_bridge looks promising. As I understand I would to setup ros2core on the base and then connect everything and setup bridges on every robot, right?

Yes, that is one possible setup. It'll probably take some fiddling to get working correctly though.


Originally posted by gvdhoorn with karma: 86574 on 2018-01-30

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by ArkadiuszN on 2018-01-30:
I was thinking about multimaster_fkie, is it immune to connection problems? I will read about ROS2 and if I can somehow move all my code to it.

Comment by ArkadiuszN on 2018-01-30:
ros1_bridge looks promising. As I understand I would to setup ros2core on the base and then connect everything and setup bridges on every robot, right?

Comment by ArkadiuszN on 2018-01-30:
Ok, thank you! I would like to mark it as answer :)

$\endgroup$

Your Answer

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