In our current setup, we have a laptop connected wirelessly to our robot, everything running ROS. The laptop does most of the processing and sends commands back to the robot, pretty standard stuff.
However, we have noticed that if we are recording all (or even some) of the data being sent by the robot (with rosbag record) while also doing the usual processing, the laptop slows down intermittently, negatively affecting the rate of control commands being sent out.
As a potential solution, we would like to use two laptops, one for data processing and control command generation, and the other one for data recording and maybe data visualization. This would also nicely split tasks between people, with the controller laptop operator focusing on running his algorithm an the data recording laptop operator making sure the experiments are running as designed.
However, I am concerned about the data being sent wirelessly being needlessly duplicated if it has to go to both laptops. The setup I envision has the two laptops connected (wired) to a network switch, along with our wireless radio (a Ubiquity Networks NanoStation) so everything is on the same subnet. On the other side of the wireless connection we have a Ubiquity Networks Rocket connected to a single PC also on their own subnet.
Is my concern warranted, will the data be sent twice if both laptops are subscribing to a topic? Some of the data are images from various cameras so double sending this would be very bad. Is there any way to resolve this problem other than having one of the laptops relay messages to the other (so the second laptop would only subscribe to relayed topics on the first laptop)?
Post score: 1