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(
예제 #2
0
    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)