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
示例#2
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:
示例#6
0
# 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 + '/*/')):