mag=1), n_basis=n_basis_2d, n_samples=n_samples) model = nengo.Network(seed=13) model.config[nengo.Ensemble].neuron_type = nengo.Direct( ) #TODO: temp, just use direct for debugging ps_neuron_type = nengo.LIF( ) #nengo.Direct()#nengo.LIF() # neuron type for posecells with model: # Node that handles ROS communication # in: best_x, best_y, best_th # out: vtrans, vrot, stim_x, stim_y, stim_th, energy if __name__ == '__main__': posecell_node = nengo.Node(NengoPosecellNetwork(), size_in=3, size_out=6) else: # ROS can't register signals within nengo_gui posecell_node = nengo.Node(NengoPosecellNetwork(disable_signals=True), size_in=3, size_out=6) # Splitting posecell network into x, y, and th components to reduce # computational burden. Some representational power is lost, but it is # hopefully good enough to still work. posecells_xy = nengo.Ensemble(n_neurons=n_neurons_xy, dimensions=fs2d.n_basis + 2, neuron_type=ps_neuron_type) posecells_xy.encoders = nengo.dists.Combined([ fs2d.project(
return x[0] * np.cos(x[1]) def y_component(x): # convert trans velocity into y component return x[0] * np.sin(x[1]) model = nengo.Network(seed=13) model.config[nengo.Ensemble].neuron_type = nengo.Direct() #TODO: temp, just use direct for debugging ps_neuron_type = nengo.LIF() # neuron type for posecells with model: # Node that handles ROS communication # in: best_x, best_y, best_th # out: vtrans, vrot, stim_x, stim_y, stim_th, energy if __name__ == '__main__': posecell_node = nengo.Node(NengoPosecellNetwork(), size_in=3, size_out=6) else: # ROS can't register signals within nengo_gui posecell_node = nengo.Node(NengoPosecellNetwork(disable_signals=True), size_in=3, size_out=6) # Splitting posecell network into x, y, and th components to reduce # computational burden. Some representational power is lost, but it is # hopefully good enough to still work. #posecells_x = nengo.Ensemble(n_neurons=n_neurons, dimensions=3, neuron_type=ps_neuron_type) posecells = nengo.Ensemble(n_neurons=n_neurons, dimensions=4, neuron_type=ps_neuron_type) #posecells_th = nengo.Ensemble(n_neurons=n_neurons, dimensions=3,neuron_type=ps_neuron_type) #added #posecells_xy=nengo.Ensemble(n_neurons=n_neurons, dimensions=3, neuron_type=ps_neuron_type) # Handles injected current stim = nengo.Ensemble(100, 2)