def run_ratio(ratio, radii, tracking, coverage=0.1, T=120, dt=1, fname=None): '''Runs the specified target-robot ratio for the specified environment radii''' # Run simulation for each radius observations = [] for i, R in enumerate(radii): m_max, n_max = 10, 20 if ratio <= 1: m = m_max n = int(ratio * m_max) else: n = n_max m = int(n_max / ratio) print '\tSim {} of {}: n = {}, m = {}'.format(i + 1, len(radii), n, m) sim = Simulation(m, n, T, dt, R, tracking=tracking) sim.run(vis='', fname=fname) observations.append(sim.average_observations(normalize=True)) return radii, observations
def main(): # Read arguments args = parser().parse_args() seed(args.seed) # Run once if not args.run_all: sim = Simulation(args.m, args.n, args.t, args.dt, args.r, tracking=args.tracking) sim.run(vis=args.visualization, fname=args.output_file) print 'observations = {}'.format( sim.average_observations(normalize=True)) # Run ratios else: ratios = [1 / 5., 1 / 2., 1, 4, 10] run_ratios(ratios, tracking=args.tracking, fname=args.output_file)