def print_config(directory, outdir): from reprep import Report get_vehicles_config().load(directory) def write_report(r): out = os.path.join(outdir, '%s.html' % r.nid) rd = os.path.join(outdir, 'images') logger.info('Writing to %r' % out) r.to_html(out, resources_dir=rd) worlds = get_conftools_worlds() r = Report('worlds') create_generic_table(r, 'VehiclesConfig', worlds, ['desc', 'code']) write_report(r) dynamics = get_conftools_dynamics() r = Report('dynamics') create_generic_table(r, 'VehiclesConfig', dynamics, ['desc', 'code']) write_report(r) sensors = get_conftools_sensors() r = Report('sensors') create_generic_table(r, 'VehiclesConfig', sensors, ['desc', 'code']) write_report(r) vehicles = get_conftools_vehicles() r = Report('vehicles') create_generic_table(r, 'VehiclesConfig', vehicles, ['desc', 'dynamics', 'id_dynamics', 'sensors']) write_report(r)
def fps_main(): if True: import contracts contracts.disable_all() # import contracts # contracts.disable_all() usage = """ # vehicles = ['d_SE2_rb_v-rf180', 'd_SE2_rb_v-cam180'] # vehicles = ['d_SE2_rb_v-rf180'] # vehicles += ['d_SE2_rb_v-cam180'] # vehicles += ['d_SE2_rb_v-fs_05_12x12'] id_world = 'box10' id_world = 'StocSources_w10_n20_s1' d_SE2_rb_v-cam_f360_n180_s """ parser = OptionParser(usage=usage) parser.add_option("-w", "--world", default='StocSources_w10_n20_s1', help="World") parser.add_option("-v", "--vehicle", default=['d_SE2_rb_v-fs_05_12x12'], action='append', help="Vehicles to simulate") (options, _) = parser.parse_args() get_vehicles_config().load() id_world = options.world world = VehiclesConfig.worlds.instance(id_world) # @UndefinedVariable stats = [] Stat = namedtuple('Stat', 'id_vehicle id_world fps') def stat2str(s): return "v: %-25s w: %-25s %5dfps" % (s.id_vehicle, s.id_world, s.fps) # vehicles = list(VehiclesConfig.vehicles.keys()) # print vehicles vehicles = options.vehicle T = 200 # T = 100000 dt = 0.05 for id_vehicle in vehicles: instance = VehiclesConfig.vehicles.instance # @UndefinedVariable vehicle = instance(id_vehicle) print('vehicle: %s' % id_vehicle) sim = VehicleSimulation(vehicle, world) fps = check_simulation(sim, num_instants=T, dt=dt) stats.append(Stat(id_vehicle=id_vehicle, id_world=id_world, fps=fps)) print(stat2str(stats[-1])) print('---- Sorted:') stats.sort(key=lambda x: (-x.fps)) for s in stats: print(stat2str(s))