public CoverageFitness() { dist_trav=0.0; coll_count=0; grid=null; accum = 0.0; stop_accum=0.0; }
public CoverageFitness() { dist_trav = 0.0; coll_count = 0; grid = null; accum = 0.0; stop_accum = 0.0; }
void IBehaviorCharacterization.update(SimulatorExperiment exp) { grid = ((GridCollision)((MultiAgentExperiment)exp).collisionManager).grid; dim = grid.coarseness; if (exp.timeSteps <=1) { for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); grid.grid[x, y].viewed = 0.0f; grid.grid[x, y].idleness = 0.0f; grid.grid[x, y].avg_idle=0.0f; } } } //if(!(Experiment.timeSteps % 5 ==0)) //{ // grid.decay_viewed(0.3); // return; //} for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); if ((exp.environment.AOIRectangle.Contains(gx, gy))) { if (grid.grid[x, y].viewed>=0.95f) { grid.grid[x, y].idleness = 0.0f; } else { if (grid.grid[x, y].idleness<255) grid.grid[x, y].idleness += 1.0f; grid.grid[x,y].avg_idle += grid.grid[x, y].idleness; } //accum += } } } }
void IBehaviorCharacterization.update(SimulatorExperiment exp) { grid = ((GridCollision)((MultiAgentExperiment)exp).collisionManager).grid; dim = grid.coarseness; if (exp.timeSteps <= 1) { for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); grid.grid[x, y].viewed = 0.0f; grid.grid[x, y].idleness = 0.0f; grid.grid[x, y].avg_idle = 0.0f; } } } //if(!(Experiment.timeSteps % 5 ==0)) //{ // grid.decay_viewed(0.3); // return; //} for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); if ((exp.environment.AOIRectangle.Contains(gx, gy))) { if (grid.grid[x, y].viewed >= 0.95f) { grid.grid[x, y].idleness = 0.0f; } else { if (grid.grid[x, y].idleness < 255) { grid.grid[x, y].idleness += 1.0f; } grid.grid[x, y].avg_idle += grid.grid[x, y].idleness; } //accum += } } } }
void IFitnessFunction.update(SimulatorExperiment Experiment, Environment environment, instance_pack ip) { grid = ((GridCollision)(ip.collisionManager)).grid; if (!(ip.timeSteps % (int)(1 / Experiment.timestep) == 0)) { return; } int dim = grid.coarseness; for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); if ((environment.AOIRectangle.Contains(gx, gy))) { accum += grid.grid[x, y].viewed; stop_accum += grid.grid[x, y].viewed2; } } } foreach (Robot r in ip.robots) { if (!r.autopilot) { foreach (ISensor s in r.sensors) { if (s is SignalSensor) { SignalSensor ss = (SignalSensor)s; double val = ss.get_value(); val += 0.05; if (val > 1.0) { val = 1.0; } ss.setSignal(val); } } } } grid.decay_viewed(0); //grid.decay_viewed(.95); }
public override void Initialize(Environment e, SimulatorExperiment _exp, List <Robot> _rbts) { rbts = _rbts; env = e; exp = _exp; if (_exp is MultiAgentExperiment) { agentCollide = ((MultiAgentExperiment)_exp).agentsCollide; agentVisible = ((MultiAgentExperiment)_exp).agentsVisible; } grid = new collision_grid(e, coarseness); foreach (Wall w in env.walls) { grid.insert_into_grid(w); } }
public override void Initialize (Environment e,SimulatorExperiment _exp,List<Robot> _rbts) { rbts=_rbts; env=e; exp=_exp; if (_exp is MultiAgentExperiment) { agentCollide = ((MultiAgentExperiment)_exp).agentsCollide; agentVisible = ((MultiAgentExperiment)_exp).agentsVisible; } grid = new collision_grid(e,coarseness); foreach (Wall w in env.walls) { grid.insert_into_grid(w); } }
void IFitnessFunction.update(SimulatorExperiment Experiment, Environment environment) { if (!(Experiment.timeSteps % (int)(1 / Experiment.timestep) == 0)) { //grid.decay_viewed(0); return; } if (!allLeft) { bool allOut = true; for (int j = 0; j < Experiment.robots.Count; j++) { if (!environment.AOIRectangle.Contains((int)Experiment.robots[j].location.x, (int)Experiment.robots[j].location.y)) { allOut = false; break; } } if (allOut) { allLeft = true; } } grid = ((GridCollision)((MultiAgentExperiment)Experiment).collisionManager).grid; int dim = grid.coarseness; for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); if ((environment.AOIRectangle.Contains(gx, gy))) { accum += grid.grid[x, y].viewed; } } } //grid.decay_viewed(.9); }
void IFitnessFunction.update(SimulatorExperiment Experiment, Environment environment,instance_pack ip) { grid = ((GridCollision)(ip.collisionManager)).grid; if (!(ip.timeSteps % (int)(1 / Experiment.timestep) == 0)) { return; } int dim = grid.coarseness; for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); if ((environment.AOIRectangle.Contains(gx, gy))) { accum += grid.grid[x, y].viewed; stop_accum+= grid.grid[x,y].viewed2; } } } foreach(Robot r in ip.robots) { if (!r.autopilot) { foreach(ISensor s in r.sensors) if(s is SignalSensor) { SignalSensor ss = (SignalSensor)s; double val = ss.get_value(); val+=0.05; if(val>1.0) val=1.0; ss.setSignal(val); } } } grid.decay_viewed(0); //grid.decay_viewed(.95); }
public EscapeAndCoverageFitness() { grid = null; accum = 0.0; }
void IFitnessFunction.update(SimulatorExperiment Experiment, Environment environment) { if (!(Experiment.timeSteps % (int)(1 / Experiment.timestep) == 0)) { //grid.decay_viewed(0); return; } if(!allLeft) { bool allOut = true; for (int j = 0; j < Experiment.robots.Count; j++) { if(!environment.AOIRectangle.Contains((int)Experiment.robots[j].location.x,(int)Experiment.robots[j].location.y)) { allOut = false; break; } } if(allOut) allLeft = true; } grid = ((GridCollision)((MultiAgentExperiment)Experiment).collisionManager).grid; int dim = grid.coarseness; for (int x = 0; x < dim; x++) { for (int y = 0; y < dim; y++) { int gx = (int)((double)x * grid.gridx) + (int)(grid.gridx / 2.0); int gy = (int)((double)y * grid.gridy) + (int)(grid.gridy / 2.0); if ((environment.AOIRectangle.Contains(gx, gy))) accum += grid.grid[x, y].viewed; } } //grid.decay_viewed(.9); }
public EscapeAndCoverageFitness() { grid=null; accum = 0.0; }