def _run_openscenario(self): """ Run a scenario based on OpenSCENARIO """ # Load the scenario configurations provided in the config file if not os.path.isfile(self._args.openscenario): print("File does not exist") self._cleanup() return False if not self._args.openscenarioparams: dirname = os.path.dirname(self._args.openscenario) filename = os.path.basename(self._args.openscenario).split('.')[0] csv_path = os.path.join(dirname + '/' + filename + '.csv') if os.path.isfile(csv_path): df = pd.read_csv(csv_path) row = np.random.randint(len(df.index)) column_names = df.columns values = df.iloc[row] self._args.openscenarioparams = dict() for column, value in zip(column_names, values): self._args.openscenarioparams[column] = value config = OpenScenarioConfiguration(self._args.openscenario, self._args.openscenarioparams, self.client) result = self._load_and_run_scenario(config) self._cleanup() return result
def test_all_xosc(self): """ Load all examples OpenSCENARIO files """ all_test_files = glob.glob('**/srunner/examples/*.xosc', recursive=True) for filename in all_test_files: client = carla.Client() config = OpenScenarioConfiguration(filename, client, {}) self.assertTrue(config is not None) CarlaDataProvider.set_client(client) ego_vehicles = [] for vehicle in config.ego_vehicles: ego_vehicles.append( CarlaDataProvider.request_new_actor( vehicle.model, vehicle.transform, vehicle.rolename, color=vehicle.color, actor_category=vehicle.category)) scenario = OpenScenario(world=client.get_world(), ego_vehicles=ego_vehicles, config=config, config_file=filename, timeout=100000) self.assertTrue(scenario is not None) CarlaDataProvider.cleanup()
def _run_openscenario(self, args): """ Run a scenario based on OpenSCENARIO """ # Load the scenario configurations provided in the config file if not os.path.isfile(args.openscenario): print("File does not exist") self._cleanup() return config = OpenScenarioConfiguration(args.openscenario) self._load_and_run_scenario(args, config) self._cleanup(ego=(not args.waitForEgo))
def _run_openscenario(self): """ Run a scenario based on OpenSCENARIO """ # Load the scenario configurations provided in the config file if not os.path.isfile(self._args.openscenario): print("File does not exist") self._cleanup() return False config = OpenScenarioConfiguration(self._args.openscenario, self.client) result = self._load_and_run_scenario(config) self._cleanup() return result
def _run_openscenario(self): """ Run a scenario based on OpenSCENARIO """ # Load the scenario configurations provided in the config file if not os.path.isfile(self._args.openscenario): print("File does not exist") self._cleanup() return False openscenario_params = dict() if self._args.openscenarioparams is not None: for entry in self._args.openscenarioparams.split(','): [key, val] = [m.strip() for m in entry.split(':')] openscenario_params[key] = val config = OpenScenarioConfiguration(self._args.openscenario, self.client, openscenario_params) result = self._load_and_run_scenario(config) self._cleanup() return result