step = vehicleControl.getStep() footEdge = edge.replace("cyber", "footmain") wait = 0 load = [] for person, target in self.cyberCarLoad.get(vehicleID, []): if target == footEdge: statistics.personUnloaded(person, step) wait += WAIT_PER_PERSON else: load.append((person, target)) while self.personsWaitingAt.get(footEdge, []) and len(load) < vehicleControl.getCapacity(): person, target = self.personsWaitingAt[footEdge].pop(0) vehicleControl.leaveStop(person) statistics.personLoaded(person, step) load.append((person, target)) wait += WAIT_PER_PERSON vehicleControl.leaveStop(vehicleID, delay=wait) if edge == "cyberout" or edge == "cyberin": row = -1 else: row = int(edge[5]) if row < DOUBLE_ROWS - 1: vehicleControl.stopAt( vehicleID, "cyber%sto%s" % (row + 1, row + 2)) else: vehicleControl.stopAt(vehicleID, "cyberout") self.cyberCarLoad[vehicleID] = load if __name__ == "__main__": vehicleControl.init(SimpleManager())
wait = 0 load = [] for person, target in self.cyberCarLoad.get(vehicleID, []): if target == footEdge: statistics.personUnloaded(person, step) wait += WAIT_PER_PERSON else: load.append((person, target)) while self.personsWaitingAt.get( footEdge, []) and len(load) < vehicleControl.getCapacity(): person, target = self.personsWaitingAt[footEdge].pop(0) vehicleControl.leaveStop(person) statistics.personLoaded(person, step) load.append((person, target)) wait += WAIT_PER_PERSON vehicleControl.leaveStop(vehicleID, delay=wait) if edge == "cyberout" or edge == "cyberin": row = -1 else: row = int(edge[5]) if row < DOUBLE_ROWS - 1: vehicleControl.stopAt(vehicleID, "cyber%sto%s" % (row + 1, row + 2)) else: vehicleControl.stopAt(vehicleID, "cyberout") self.cyberCarLoad[vehicleID] = load if __name__ == "__main__": vehicleControl.init(SimpleManager())
SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/ Copyright (C) 2011-2017 DLR (http://www.dlr.de/) and contributors This file is part of SUMO. SUMO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. """ from __future__ import absolute_import from __future__ import print_function import os import sys import shutil import vehicleControl import simpleManager import agentManager # build/check network import createNet # perform simple scenario vehicleControl.init(simpleManager.SimpleManager(), True) # perform agent scenario vehicleControl.init(agentManager.AgentManager(), True) try: shutil.copy("all-the-results.txt", "../result2") except: print("Missing 'all-the-results.txt'")
self.cyberCars = [] def personArrived(self, personID, edge, target): if not personID in self.agents: person = PersonAgent(personID) self.agents[personID] = person person.startRequest(edge.replace("footmain", "cyber"), target.replace("footmain", "cyber"), self.cyberCars) def cyberCarArrived(self, vehicleID, edge): if vehicleID in self.agents: cyberCar = self.agents[vehicleID] else: cyberCar = CyberAgent(vehicleID) self.agents[vehicleID] = cyberCar self.cyberCars.append(cyberCar) cyberCar.setPosition(edge) def cyberCarBroken(self, vehicleID, edge): self.agents[vehicleID].reallocateTasks(self.cyberCars) def setNewTargets(self): for car in self.cyberCars: if not car.broken: car.checkBoarding() if __name__ == "__main__": vehicleControl.init(AgentManager())
@author Michael Behrisch @author Daniel Krajzewicz @date 2011-10-28 @version $Id$ This script is a test runner for the CityMobil scenario. SUMO, Simulation of Urban MObility; see http://sumo-sim.org/ Copyright (C) 2011-2014 DLR (http://www.dlr.de/) and contributors This file is part of SUMO. SUMO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. """ import os, sys import shutil import vehicleControl, simpleManager, agentManager # build/check network import createNet # perform simple scenario vehicleControl.init(simpleManager.SimpleManager(), True) # perform agent scenario vehicleControl.init(agentManager.AgentManager(), True) try: shutil.copy("all-the-results.txt", "../result2") except: print "Missing 'all-the-results.txt'"
self.agents = {} self.cyberCars = [] def personArrived(self, personID, edge, target): if not personID in self.agents: person = PersonAgent(personID) self.agents[personID] = person person.startRequest(edge.replace("footmain", "cyber"), target.replace("footmain", "cyber"), self.cyberCars) def cyberCarArrived(self, vehicleID, edge): if vehicleID in self.agents: cyberCar = self.agents[vehicleID] else: cyberCar = CyberAgent(vehicleID) self.agents[vehicleID] = cyberCar self.cyberCars.append(cyberCar) cyberCar.setPosition(edge) def cyberCarBroken(self, vehicleID, edge): self.agents[vehicleID].reallocateTasks(self.cyberCars) def setNewTargets(self): for car in self.cyberCars: if not car.broken: car.checkBoarding() if __name__ == "__main__": vehicleControl.init(AgentManager())