def __init__(self, src_path_map): self._map_obj = MapBuilder(src_path_map) self._z_hit = 50 #5 self._z_short = 10 #1 self._z_max = .1 #.1 self._z_rand = 200 #3 self._sigma_hit = 100 self._lambda_short = .02 self._max_range = 1000 self._min_probability = 0.95 self._subsampling = 10 # self._norm_wts = 1.0 / (self._z_hit + self._z_short + self._z_max + self._z_rand) self._norm_wts = 1.0
# main from MapBuilder import MapBuilder from qlearner import QLearner from universe import Universe from Criterions import get_cost_based_on_fuel, get_cost_based_on_time, get_cost_based_on_mixture if __name__ == "__main__": universe = Universe(MapBuilder()) qlearners = [ QLearner(universe.get_initial_state(), get_cost_based_on_fuel, universe.move_request, universe.get_terminal_state(), 1, 0.9, universe.next_state), QLearner(universe.get_initial_state(), get_cost_based_on_time, universe.move_request, universe.get_terminal_state(), 1, 0.9, universe.next_state), QLearner(universe.get_initial_state(), get_cost_based_on_mixture, universe.move_request, universe.get_terminal_state(), 1, 0.9, universe.next_state) ] num_of_epochs = 1000 for epoch_num in range(num_of_epochs): for qlearner in qlearners: while qlearner._state != universe.get_terminal_state(): qlearner.move() qlearner.reset(universe.get_initial_state()) print("Energy:", qlearners[0]._Q, end='\n\n') print("Time:", qlearners[1]._Q, end='\n\n')
os.remove(new_file) params = local_folder + '/params.ini' folder_params = local_folder + '/' + folder_name + '/params.ini' shutil.copy(params, folder_params) configurator.set('organized', True) if configurator.config['map'] == False: for run in sorted(glob.glob(local_folder + '/*/')): if os.path.isdir(run): print run base = run.split('/')[-2] temp_vid = base + '2.avi' args = parse_args(run, temp_vid) mb = MapBuilder(args, 1, 600, 0.5, 0.1) output = run + '/' + base + '_bg.npz' if not os.path.isfile(output): mb.buildMap(['no-trees']) mb.exportData(output) output = run + '/' + base + '_ground.npz' if not os.path.isfile(output): mb.buildMap(['no-trees', 'ground']) mb.exportData(output) configurator.set('map', True) if configurator.config['multilane'] == False: for run in sorted(glob.glob(local_folder + '/*/')):
cam_num = args['cam_num'] video_file = args['video'] video_reader = VideoReader(video_file) params = args['params'] cam = params['cam'][cam_num] gps_reader_mark1 = GPSReader(args['gps_mark1']) gps_data_mark1 = gps_reader_mark1.getNumericData() gps_reader_mark2 = GPSReader(args['gps_mark2']) gps_data_mark2 = gps_reader_mark2.getNumericData() imu_transforms_mark1 = IMUTransforms(gps_data_mark1) imu_transforms_mark2 = IMUTransforms(gps_data_mark2) gps_times_mark1 = utc_from_gps_log_all(gps_data_mark1) gps_times_mark2 = utc_from_gps_log_all(gps_data_mark2) builder = MapBuilder(args, 0, 999999, 0.1, 0.05) # parameter server thr = ThreadedServer(port) thr.setDaemon(True) thr.start() time.sleep(1) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto('PARAMETER_REQUEST:' + str(port) + '\n', ('localhost', 2929)) while not paramInit: time.sleep(1) print int(sys.argv[3]) video_reader.setFrame(int(sys.argv[3])) (success, orig) = video_reader.getNextFrame() while True:
cam_num = args['cam_num'] video_file = args['video'] video_reader = VideoReader(video_file) params = args['params'] cam = params['cam'][cam_num] gps_reader_mark1 = GPSReader(args['gps_mark1']) gps_data_mark1 = gps_reader_mark1.getNumericData() gps_reader_mark2 = GPSReader(args['gps_mark2']) gps_data_mark2 = gps_reader_mark2.getNumericData() imu_transforms_mark1 = IMUTransforms(gps_data_mark1) imu_transforms_mark2 = IMUTransforms(gps_data_mark2) gps_times_mark1 = utc_from_gps_log_all(gps_data_mark1) gps_times_mark2 = utc_from_gps_log_all(gps_data_mark2) builder = MapBuilder(args, 0, 999999, 0.1, 0.05) # parameter server thr = ThreadedServer(port) thr.setDaemon(True) thr.start() time.sleep(1) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto('PARAMETER_REQUEST:'+str(port)+'\n', ('localhost', 2929)) while not paramInit: time.sleep(1) print int(sys.argv[3]) video_reader.setFrame(int(sys.argv[3])) (success, orig) = video_reader.getNextFrame() while True:
# results_L = results_L[20:-1] # -------------------------------MAIN SCRIPT---------------------------------- # -----------------initialize variables------------------- alpha1 = 0 alpha2 = 0 alpha3 = 0 # increasing these two variables appears to make the particles move farther alpha4 = 0 mot = MotionModel(alpha1, alpha2, alpha3, alpha4) M = 1000 # number of particles map = MapBuilder('../map/wean.dat') mapList = map.getMap() mapInit(mapList) sensorModel = SensorModel('../map/wean.dat') resampler = Resampling() # ------------initialize particles throughout map-------- # generate list of locations with '0' value counter = 0 goodLocs_x = [] goodLocs_y = [] for i in range(0, 800): for j in range(0, 800): if mapList[i][j] == 0: counter = counter + 1
os.remove(new_file) params = local_folder + '/params.ini' folder_params = local_folder + '/' + folder_name + '/params.ini' shutil.copy(params, folder_params) configurator.set('organized', True) if configurator.config['map'] == False: for run in sorted(glob.glob(local_folder + '/*/')): if os.path.isdir(run): print run base = run.split('/')[-2] temp_vid = base + '604.zip' args = parse_args(run, temp_vid) mb = MapBuilder(args, 1, 600, 0.5, 0.1) output = run + '/' + base + '_bg.npz' if not os.path.isfile(output): mb.buildMap(['no-trees']) mb.exportData(output) output = run + '/' + base + '_ground.npz' if not os.path.isfile(output): mb.buildMap(['no-trees', 'ground']) mb.exportData(output) configurator.set('map', True) if configurator.config['multilane'] == False: for run in sorted(glob.glob(local_folder + '/*/')):