This recent modification of NeuralModule class allows the Nengo simulator to connect multiple signal sources (Origins) into one Encoder, which then encodes data and sends as ROS messages on selected ROS topic.
Now, each Encoder has one default Nengo Termination, but new Terminations can be further added. The Encoder then computes weighted sum of signals on its Terminations and publishes the result as ROS messages.
Running the Demo
The demo script is located under `simulator-ui/nr-demo/basic/multitermination.py` and shows the communication with two MinMax ROS nodes. The first NeuralModule features Encoder with default Termination connected to one signal generator. The second one features three newly added Terminations with weighted inputs (default weight, custom weight and weight matrix) which are connected each to own signal generator.
Note that default Termination has the name which corresponds to the ROS topic (and name of Encoder) and newly added Terminations have auto-generated names.
Here is the resulting interactive simulation.