0
$\begingroup$

Rosanswers logo

I am trying to build a data structure (cloud system) able to receive and send data and instructions from/to different kind of robots (e.g. drones,turtlebots). My idea is to create a node to which these robots can subscribe, and then depending on which topics they use to exchange information (e.g cmd_vel to move the turtlebot) this node can redirect the data from a source to a destination.The idea is to have a "universal" node, able to be a sort of common ground for all the agents that need to cooperate sharing information. Is this possible using simple ROS node/topic tools?The point is, how to identify a method to sort each agent depending on which topic and which messages they use to treat data?


Originally posted by Simone92 on ROS Answers with karma: 1 on 2018-11-06

Post score: 0


Original comments

Comment by PeteBlackerThe3rd on 2018-11-06:
I'm a bit confused as to what you're trying to achieve. Are you trying to build a single controller node that can command different types of robot? This wouldn't necessarily need any new data structures to be created.

Comment by Simone92 on 2018-11-08:
Yes my goal would be that, but the node should be able to address the data accordingly with the format used by each different robot. For instance, if i am using a turtlebot, the node should use the cmd_vel topic to send instruction, while if i am using a drone with MAVROS/MAVLink autopilot...

Comment by Simone92 on 2018-11-08:
...i will need different topics for the messages exchange. I know this could be achieved writing different python scripts and running them depending on which application i need to use, but i was wondering if the process could be made "automatic", in other words if the node can recognize by itself...

Comment by Simone92 on 2018-11-08:
...which method to use to send/collect the data depending on which kind of robot is requesting/posting them

$\endgroup$

2 Answers 2

1
$\begingroup$

Rosanswers logo

if i understand correctly you can use ros network and create a network in your main pc and other robot connect on ros master in main pc and they can subscribe or pubish data over network


Originally posted by Hamid Didari with karma: 1769 on 2018-11-06

This answer was NOT ACCEPTED on the original site

Post score: 1

$\endgroup$
1
$\begingroup$

Rosanswers logo

If I understand you correctly, you want to make a node which automatically 'detects' the number and type of robots connected to a ROS network. This node can then, knowing the type of the robots, publish on the correct topics to control them?

You can easily make a node which will subcribe/publish to different topics with different message types as needed, this is used in many nodes already.

Can you define exactly what type of information will be shared between the robots?

UPDATE:

Okay to share position information between a group of robots should be fairly straightforward. As long as the robots are estimating their positions in the same coordinate system / map. Most of the localisation systems I've seen in ROS publish the estimated location of a rover using the TF system, if you had a configuration parameter which listed the TF frames which correspond to the rover positions then each robot could use TF lookups to find the position of all the other robots. There is no need for any publishers, subscribers or custom types.


Originally posted by PeteBlackerThe3rd with karma: 9529 on 2018-11-08

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by Simone92 on 2018-11-13:
Yes the idea is that one, i have to share information about the position of each robots. More precisely, if i have two robots and robot1 is mapping some zone, i need robot2 to know where robot1 is and which zone it is mapping so that robot2 will avoid to go there to map the same zone...

Comment by Simone92 on 2018-11-13:
Once i got this point done, the idea is to move from rover-rover communication to drone-rover communication. The drone will use pixhawk as autopilot, while the rovers are turtlebot3 rovers.

Comment by PeteBlackerThe3rd on 2018-11-13:
No problem, I've updated my answer now. This should be simpler than you are thinking!

Comment by Simone92 on 2018-11-13:
Thank you very much, this should help

$\endgroup$

Your Answer

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