def createSafeZone(self, foo): self.geom = loader.loadModel( 'phase_14/models/neighborhoods/cogtropolis.egg') self.geom.reparentTo(hidden) for i in range(2): bldgSectionNode = render.attachNewNode('bldgSection' + str(i)) bldgSectionNode.setPos(self.bldgSectionData[i][0]) bldgSectionNode.setHpr(self.bldgSectionData[i][1]) for point in self.bldgPoints: bldg = loader.loadModel( 'phase_14/models/props/cogtropolis_big_building_1.egg') bldg.reparentTo(bldgSectionNode) bldg.setPos(point) self.buildingSectionNodes.append(bldgSectionNode) for data in self.tLightData: node = render.attachNewNode('tlight-intersection-holder') node.setPos(data[0]) node.setHpr(data[1]) light = TrafficLight.TrafficLight() light.reparentTo(node) light.startFlashing() light2 = TrafficLight.TrafficLight(1) light2.reparentTo(node) light2.startFlashing() self.trafficLightNodes.append(node) self.trafficLights.append(light) self.trafficLights.append(light2) self.fog = Fog('CogTropolis-fog') self.fog.setColor(0.3, 0.3, 0.3) self.fog.setExpDensity(0.0075) self.geom.flattenMedium() gsg = base.win.getGsg() if gsg: self.geom.prepareScene(gsg)
def initializeTrafficLight(self): self.trali = TrafficLight.TrafficLight(self.incoming, self.outgoing)
def main(): args = parseArguments() with open('config.json') as json_config_file: data = json.load(json_config_file) print( "Simulation process of {name} starts!\nInitializing with configs ...". format(**data)) rng_seed = data["rng_seed"] main_scene = Scene(args.total_events, args.simulation_time, rng_seed) # setting up input for vehicle_generate() initial_time_stamps, poisson = main_scene.poisson_generate_timestamps() num_trial = len(initial_time_stamps) car_type = np.zeros(shape=(num_trial, )) which_lane = np.zeros(shape=(num_trial, )) car_direction = np.zeros(shape=(num_trial, )) car_id = np.arange(0, num_trial) for i in range(num_trial): car_type[i] = randint(0, 2) which_lane[i] = randint(0, 5) car_direction[i] = randint(0, 2) global_q = main_scene.vehicle_generate(initial_time_stamps, car_type, car_direction, which_lane, car_id) trafficLight = tl.TrafficLight(10, 3, 10) # greenTime,yellowTime,redTime main_server = sr.server(trafficLight, global_q) updated_global_q = main_server.run() all_lane_q = {} all_lane_q_final = [] all_lane_q_id = {} all_lane_q_id_final = [] for i in range(len(updated_global_q)): lane_q = [] lane_q_id = [] for j in range(len(updated_global_q[i])): lane_q.append(updated_global_q[i][j].arrival_time + updated_global_q[i][j].waiteTime) all_lane_q_final.append(updated_global_q[i][j].arrival_time + updated_global_q[i][j].waiteTime) lane_q_id.append(updated_global_q[i][j].ID) all_lane_q_id_final.append(updated_global_q[i][j].ID) all_lane_q[i] = lane_q all_lane_q_id[i] = lane_q_id init_all_lane_q = {} init_all_lane_q_final = [] init_all_lane_q_id = {} init_all_lane_q_id_final = [] for i in range(len(global_q)): lane_q = [] lane_q_id = [] for j in range(len(global_q[i])): lane_q.append(global_q[i][j].arrival_time) init_all_lane_q_final.append(global_q[i][j].arrival_time) lane_q_id.append(global_q[i][j].ID) init_all_lane_q_id_final.append(global_q[i][j].ID) init_all_lane_q[i] = lane_q init_all_lane_q_id[i] = lane_q_id main_scene.pedestrain_generate() # save_timestamps_plot(initial_time_stamps, [i for i in range(len(initial_time_stamps))], 'Initial_Timestamps') # save_poisson_hist_plot(poisson, 'Events_Poisson') # save_timestamps_plot(all_lane_q[0],all_lane_q_id[0],'Final_lane_0_Timestamps') # save_timestamps_plot(all_lane_q[1],all_lane_q_id[1], 'Final_lane_1_Timestamps') # save_timestamps_plot(all_lane_q[2], all_lane_q_id[2],'Final_lane_2_Timestamps') # save_timestamps_plot(all_lane_q[3], all_lane_q_id[3],'Final_lane_3_Timestamps') # save_timestamps_plot(all_lane_q[4], all_lane_q_id[4],'Final_lane_4_Timestamps') # save_timestamps_plot(all_lane_q[5], all_lane_q_id[5],'Final_lane_5_Timestamps') # save_timestamps_plot(all_lane_q_final,all_lane_q_id_final, 'Final_all_lanes_Timestamps') # save_timestamps_plot(init_all_lane_q[0],init_all_lane_q_id[0],'Initial_lane_0_Timestamps') # save_timestamps_plot(init_all_lane_q[1],init_all_lane_q_id[1], 'Initial_lane_1_Timestamps') # save_timestamps_plot(init_all_lane_q[2], init_all_lane_q_id[2],'Initial_lane_2_Timestamps') # save_timestamps_plot(init_all_lane_q[3], init_all_lane_q_id[3],'Initial_lane_3_Timestamps') # save_timestamps_plot(init_all_lane_q[4], init_all_lane_q_id[4],'Initial_lane_4_Timestamps') # save_timestamps_plot(init_all_lane_q[5], init_all_lane_q_id[5],'Initial_lane_5_Timestamps') # compare_timestamps_plot(initial_time_stamps, [i for i in range(len(initial_time_stamps))],all_lane_q_final,all_lane_q_id_final, 'Comparison_all_lanes_Timestamps') # compare_timestamps_plot(init_all_lane_q[0],init_all_lane_q_id[0],all_lane_q[0],all_lane_q_id[0], 'Comparison_lane_0_Timestamps') # compare_timestamps_plot(init_all_lane_q[1],init_all_lane_q_id[1],all_lane_q[1],all_lane_q_id[1], 'Comparison_lane_1_Timestamps') # compare_timestamps_plot(init_all_lane_q[2],init_all_lane_q_id[2],all_lane_q[2],all_lane_q_id[2], 'Comparison_lane_2_Timestamps') # compare_timestamps_plot(init_all_lane_q[3],init_all_lane_q_id[3],all_lane_q[3],all_lane_q_id[3], 'Comparison_lane_3_Timestamps') # compare_timestamps_plot(init_all_lane_q[4],init_all_lane_q_id[4],all_lane_q[4],all_lane_q_id[4], 'Comparison_lane_4_Timestamps') # compare_timestamps_plot(init_all_lane_q[5],init_all_lane_q_id[5],all_lane_q[5],all_lane_q_id[5], 'Comparison_lane_5_Timestamps') return
def createLight(self, a, b, c, d, e, f, g, h, C): self.tLight = TrafficLight(a, b, c, d, e, f, g, h, C)
autoModule = p.def2(name="2") zodoModule.start() liderModule.start() autoModule.start() previous = 0 TrafficLight = False # False일때는 빨간불찾기모드 // True는 파란불찾기 모드 // 처음엔 일단 직전으로시작하므로 일단은 빨간불부터 찾아야한다. t1 = time.time() while (True): if t2 == None: ret, src = cap.read() # src는 프레임임(원본이미지) ret2, src2 = cap2.read( ) # piCam is cap2 we gonna use this to trafficLight src = cv2.resize(src, (640, 360)) # 가로640 세로 360 src2 = cv2.resize(src2, (640, 360)) # 가로640 세로 360 TrafficLight = TL.TrafficLight(ret2, src2, TrafficLight) if customControlServer.OnOff == True: if (TrafficLight == True or lider.liderflag == 1): stopflag = 1 else: stopflag = 0 t2 = time.time() if t2 - t1 >= 0.01: #==============setlocation부========================================== [lines, lines_img] = AUTO.writeline(src, ret) [result, ListLowerZero, ListUpperZero] = AUTO.editline(lines, lines_img) if result[0] == 1: t1 = time.time() - 0.2 t2 = time.time() xt = result[1]
def main(): args = parseArguments() with open('config.json') as json_config_file: data = json.load(json_config_file) print( "Simulation process of {name} starts!\nInitializing with configs ...". format(**data)) rng_seed = data["rng_seed"] main_scene = Scene(args.total_events, args.simulation_time, args.total_people, rng_seed) # setting up input for vehicle_generate() initial_time_stamps, poisson = main_scene.poisson_generate_timestamps() initial_time_stamps_people, poisson = main_scene.poisson_generate_timestamps_people( ) np.random.seed(main_scene.rng_seed) num_trial = len(initial_time_stamps) car_type = np.zeros(shape=(num_trial, )) which_lane = np.zeros(shape=(num_trial, )) car_direction = np.zeros(shape=(num_trial, )) car_id = np.arange(0, num_trial) for i in range(num_trial): car_type[i] = np.random.randint(3, size=1) which_lane[i] = np.random.randint(6, size=1) if (which_lane[i] == 4 or which_lane[i] == 3): car_direction[i] = np.random.randint(2, size=1) elif (which_lane[i] == 1 or which_lane[i] == 2): car_direction[i] = 0 elif (which_lane[i] == 0 or which_lane[i] == 5): dir = np.random.randint(2, size=1) if (dir == 0): car_direction[i] = 0 else: car_direction[i] = dir + 1 # setting up input for pedestrian zss initial_time_stamps_p = initial_time_stamps_people # print("car time stamp") # print(len(initial_time_stamps)) # print(initial_time_stamps) # print("people time stamp") # print(len(initial_time_stamps_p)) # print(initial_time_stamps_p) num_trial_p = len(initial_time_stamps_p) pedestrian_origin = np.zeros(shape=(num_trial_p, )) pedestrian_destination = np.zeros(shape=(num_trial_p, )) pedestrian_id = np.arange(0, num_trial_p) for i in range(num_trial_p): pedestrian_id[i] = i pedestrian_origin[i] = np.random.randint(low=1, high=4, size=1) pedestrian_destination[i] = np.random.randint(low=1, high=4, size=1) if (pedestrian_origin[i] == pedestrian_destination[i]): pedestrian_origin[i] = 5 - pedestrian_origin[i] # zss global_p_list = main_scene.pedestrian_generate(initial_time_stamps_p, pedestrian_id, pedestrian_origin, pedestrian_destination) global_q = main_scene.vehicle_generate(initial_time_stamps, car_type, car_direction, which_lane, car_id) trafficLight = tl.TrafficLight([0, 20], [20, 23], [23, 61]) # greenTime,yellowTime,redTime main_server = sr.server(trafficLight, global_q, global_p_list, args.simulation_time) updated_global_v_q, updated_global_p_q = main_server.run() # Create Plots output_plot = True all_lane_q = {} all_lane_q_final = [] all_lane_q_id = {} all_lane_q_id_final = [] for i in range(len(updated_global_v_q)): lane_q = [] lane_q_id = [] for j in range(len(updated_global_v_q[i])): lane_q.append(updated_global_v_q[i][j].timeStamp[-1]) all_lane_q_final.append(updated_global_v_q[i][j].timeStamp[-1]) lane_q_id.append(updated_global_v_q[i][j].ID) all_lane_q_id_final.append(updated_global_v_q[i][j].ID) all_lane_q[i] = lane_q all_lane_q_id[i] = lane_q_id init_all_lane_q = {} init_all_lane_q_final = [] init_all_lane_q_id = {} init_all_lane_q_id_final = [] for i in range(len(updated_global_v_q)): lane_q = [] lane_q_id = [] for j in range(len(updated_global_v_q[i])): lane_q.append(updated_global_v_q[i][j].timeStamp[0]) init_all_lane_q_final.append(updated_global_v_q[i][j].timeStamp[0]) lane_q_id.append(updated_global_v_q[i][j].ID) init_all_lane_q_id_final.append(updated_global_v_q[i][j].ID) init_all_lane_q[i] = lane_q init_all_lane_q_id[i] = lane_q_id if output_plot: save_timestamps_plot(initial_time_stamps, [i for i in range(len(initial_time_stamps))], 'Initial_Timestamps') save_poisson_hist_plot(poisson, 'Events_Poisson') save_timestamps_plot(all_lane_q[0], all_lane_q_id[0], 'Final_lane_0_Timestamps') save_timestamps_plot(all_lane_q[1], all_lane_q_id[1], 'Final_lane_1_Timestamps') save_timestamps_plot(all_lane_q[2], all_lane_q_id[2], 'Final_lane_2_Timestamps') save_timestamps_plot(all_lane_q[3], all_lane_q_id[3], 'Final_lane_3_Timestamps') save_timestamps_plot(all_lane_q[4], all_lane_q_id[4], 'Final_lane_4_Timestamps') save_timestamps_plot(all_lane_q[5], all_lane_q_id[5], 'Final_lane_5_Timestamps') save_timestamps_plot(all_lane_q_final, all_lane_q_id_final, 'Final_all_lanes_Timestamps') save_timestamps_plot(init_all_lane_q[0], init_all_lane_q_id[0], 'Initial_lane_0_Timestamps') save_timestamps_plot(init_all_lane_q[1], init_all_lane_q_id[1], 'Initial_lane_1_Timestamps') save_timestamps_plot(init_all_lane_q[2], init_all_lane_q_id[2], 'Initial_lane_2_Timestamps') save_timestamps_plot(init_all_lane_q[3], init_all_lane_q_id[3], 'Initial_lane_3_Timestamps') save_timestamps_plot(init_all_lane_q[4], init_all_lane_q_id[4], 'Initial_lane_4_Timestamps') save_timestamps_plot(init_all_lane_q[5], init_all_lane_q_id[5], 'Initial_lane_5_Timestamps') compare_timestamps_plot(initial_time_stamps, [i for i in range(len(initial_time_stamps))], all_lane_q_final, all_lane_q_id_final, 'Comparison_all_lanes_Timestamps') compare_timestamps_plot(init_all_lane_q[0], init_all_lane_q_id[0], all_lane_q[0], all_lane_q_id[0], 'Comparison_lane_0_Timestamps') compare_timestamps_plot(init_all_lane_q[1], init_all_lane_q_id[1], all_lane_q[1], all_lane_q_id[1], 'Comparison_lane_1_Timestamps') compare_timestamps_plot(init_all_lane_q[2], init_all_lane_q_id[2], all_lane_q[2], all_lane_q_id[2], 'Comparison_lane_2_Timestamps') compare_timestamps_plot(init_all_lane_q[3], init_all_lane_q_id[3], all_lane_q[3], all_lane_q_id[3], 'Comparison_lane_3_Timestamps') compare_timestamps_plot(init_all_lane_q[4], init_all_lane_q_id[4], all_lane_q[4], all_lane_q_id[4], 'Comparison_lane_4_Timestamps') compare_timestamps_plot(init_all_lane_q[5], init_all_lane_q_id[5], all_lane_q[5], all_lane_q_id[5], 'Comparison_lane_5_Timestamps')