import nef import time import random from ca.nengo.math.impl import FourierFunction from ca.nengo.model.impl import FunctionInput from ca.nengo.model import Units from nengoros.modules.impl.vivae import VivaeNeuralModule as NeuralModule from nengoros.comm.nodeFactory import NodeGroup as NodeGroup from nengoros.comm.rosutils import RosUtils as RosUtils from nengoros.modules.impl.vivae.impl import SimulationControls as Controls import simplemodule import util from vivaeLauncher import oneAgent RosUtils.setAutorun(False) # this generates signal which turns the agent left class TurnGenerator(simplemodule.SimpleModule): # .......... 9 2 1 [all sensors, two speeds, turning duration] def init(self,inputdims,outputdims,numpars): self.inputdims = inputdims; self.outputdims = outputdims; self.numpars = numpars; self.l = 0.1; self.r = 0.38; self.duration = 0; self.maxdur = 30;
net=nef.Network('Random Turtle Control Demo') net.add_to_nengo() # here: delete old (toplevel) network and replace it with the newly CREATED one # some default imports copied from nef from ca.nengo.util import VisiblyMutableUtils import java import inspect import warnings # import my custom classes here: from nengoros.modules.impl import DefaultNeuralModule as NeuralModule from nengoros.comm.nodeFactory import NodeGroup as NodeGroup from nengoros.comm.rosutils import RosUtils as RosUtils ##################################################################### # setup the ROS utils (optional, takes effect only if ROS found) RosUtils.setAutorun(True) RosUtils.prefferJroscore(False) # define nodes I want to use turtlesim = "../testnodes/turtlesim/turtlesim_node" # turtle under this project act = "resender.turtle.Controller"; sense = "resender.turtle.PositionSensor"; # create group for turtle g = NodeGroup("zelvicka", True); # True menas that group is independent, can be pushed into namespace g.addNC(turtlesim, "zelva", "native"); g.addNC(act, "actuators", "java"); g.addNC(sense, "sensors", "java"); # create identical group for another turtle g2 = NodeGroup("zelvicka", True);
from ca.nengo.model import Units from nengoros.modules.impl.vivae import VivaeNeuralModule as NeuralModule from nengoros.comm.nodeFactory import NodeGroup as NodeGroup from nengoros.comm.rosutils import RosUtils as RosUtils from nengoros.modules.impl.vivae.impl import SimulationControls as Controls import simplemodule import util from vivaeLauncher import oneAgent from design.ea.matrix.hnn.simple import HNNWMatrixEA as EA from design.ea.matrix.hnn.simple import HNNInd as Ind import os from tools.io import AgentSaver as Saver from tools.io import AgentConfig as Config RosUtils.setAutorun(False) # this generates signal which turns the agent left class EventGenerator(simplemodule.SimpleModule): # .......... 9 2 1 [all sensors, two speeds, turning duration] def init(self, inputdims, outputdims, numpars): self.inputdims = inputdims self.outputdims = outputdims self.numpars = numpars self.lo = 0.1 # original one self.ro = 0.38 # original one self.duration = 0 self.maxdur = 30