Asynchronous Comunication: multiple transfer functions


#1

Hi there!
I am currently setting my experiment environment in the NRP. In particular I would like to exploit the spiNNaker asynchronous communication with the NRP in order to work with many robots per simulation.
The main problem I would like to solve right now is to publish several messages to several different Husky Robots (on the topics /husky_1/cmd_vel, /husky_2/cmd_vel and so on).
I am able to publish manually to each robot in the environment and also to a single one with an asynchronous transfer function tf_0.py triggered by one neuron, i.e. neuron_0.
But, if I try to add another async tf_1.py triggered by another neuron, i.e. neuron_1 the first one is still triggered by neuron_0, but the second one is not triggered at all. Furthermore, the husky (husky_0) robot that was moving before is not receiving any message.
Is it the right way to control multiple robots?
P.S. I have also tried to use several @nrp.MapRobotPublisher() but it seems like that even the declaration of the same is not working. Is it normal?

Thank you,
Gianluca


#2

Hi Gianluca,

I have two questions to help us understand the problem better.

  1. Do you use the async keyword?
  2. If you enable the developer tools in your browser (ctrl+shift+i in Chrome), do you see an error in the console tab? Any errors in the logs of the CLE when you try to apply your second TF?

Kind regards,
Manos


#3

I am not using any async keyword. Where should I use it?


#4

Hi,

I am just asking cause the async syntax is not available in the version of python that we use, and I thought that this might have been a problem, but since you don’t use it it is fine. Someone with more Spinnaker expertise will reply soon.

Regards,
Manos