ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Sharing a matrix/graph, maybe with the parameter server?

asked 2013-03-20 01:44:17 -0600

Claudio gravatar image

For a range of experiments I need to be able to define the adjacency matrix for the various robots to define a connected graph.

What is the best way to have such a graph/matrix be available to all the robots?

edit retag flag offensive close merge delete

Comments

Is that constant throughout a run or does it change over time?

dornhege gravatar image dornhege  ( 2013-03-20 01:51:48 -0600 )edit

For the moment it's a connection graph, so constant. But out of curiosity I'd like to hear of possible solutions for time-varying matrices too.

Claudio gravatar image Claudio  ( 2013-03-20 04:13:49 -0600 )edit

Christian please allow me to bring your attention back to this question, I'd really like any kind of pointer or idea.

Claudio gravatar image Claudio  ( 2013-03-25 07:04:35 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2013-03-31 15:42:12 -0600

dornhege gravatar image

I can't imaging anything graph specific, so I would chose the standard ROS tools. For a constant entity the parameter server seems fitting. You could define the adjacency for each node as a list. In all cases this will require a node list that can be indexed.

For anything more advanced a custom message might be better. This can be saved and replayed on a latched topic. If the graph is not too big, you might want to use a bagy (i.e. rostopic echo output) so that the matrix is human readable/editable.

The advantage of a message would be that it is probably easier to add custom values to nodes and edges (like covariances, costs, etc.).

If the matrix is quite full and large, you might just want to define the adjacency matrix (e.g. as row-first indices), like so:

Node[] nodes
uint32 adjacency

For sparse or smaller matrices a separate Edge definition seems easier:

Node[] nodes
Edge[] edges

Edge.msg

uint32 from
uint32 to
other stuff...
edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-03-20 01:44:17 -0600

Seen: 283 times

Last updated: Mar 31 '13