예제 #1
0
  def test_uniform_vehicle_distribution_default_params(self):
    scenario_generation = UniformVehicleDistribution(num_scenarios=2, random_seed=0)
    scenario_generation.dump_scenario_list("test.scenario")

    scenario_loader = ScenarioGeneration()
    scenario_loader.load_scenario_list("test.scenario")

    self.assertEqual(len(scenario_loader._scenario_list), 2)
    self.assertEqual(len(scenario_loader._scenario_list[0]._agent_list), len(scenario_generation._scenario_list[0]._agent_list))
# Copyright (c) 2019 fortiss GmbH
#
# This software is released under the MIT License.
# https://opensource.org/licenses/MIT

from modules.runtime.scenario.scenario_generation.uniform_vehicle_distribution import UniformVehicleDistribution
from modules.runtime.commons.parameters import ParameterServer
import time
import os

param_server = ParameterServer()

scenario_generation = UniformVehicleDistribution(num_scenarios=3,
                                                 random_seed=0,
                                                 params=param_server)

scenario_generation.dump_scenario_list("test.bark_scenarios")
예제 #3
0
param_server = ParameterServer(
    filename=os.path.join("examples/params/", scenario_param_file))

scenario_generation = UniformVehicleDistribution(num_scenarios=3,
                                                 random_seed=0,
                                                 params=param_server)
scenario_generation.params.save(
    os.path.join(scenario_dump_folder, scenario_param_file))

viewer = PygameViewer(params=param_server, use_world_bounds=True)
sim_step_time = param_server["simulation"]["step_time",
                                           "Step-time used in simulation",
                                           0.05]
sim_real_time_factor = param_server["simulation"][
    "real_time_factor", "execution in real-time or faster", 1]

for _ in range(0, 2):  # run 5 scenarios in a row, repeating after 3
    scenario, idx = scenario_generation.get_next_scenario()
    world_state = scenario.get_world_state()
    print("Running scenario {} of {}".format(
        idx, scenario_generation.num_scenarios))
    for _ in range(0, 10):  # run each scenario for 3 steps
        world_state.step(sim_step_time)
        viewer.drawWorld(world_state)
        viewer.show(block=False)
        time.sleep(sim_step_time / sim_real_time_factor)

scenario_generation.dump_scenario_list(
    os.path.join(
        scenario_dump_folder,
        "{}.bark_scenarios".format(os.path.splitext(scenario_param_file)[0])))
예제 #4
0
import os

scenario_param_file ="highway_merging.json" # must be within examples params folder

param_server = ParameterServer(filename= os.path.join("examples/params/",scenario_param_file))

scenario_generation = UniformVehicleDistribution(num_scenarios=3, random_seed=0, params=param_server)


viewer = PygameViewer(params=param_server, x_range=[-50,50], y_range=[-20,80], use_world_bounds=True)

sim_step_time = param_server["simulation"]["step_time",
                                        "Step-time used in simulation",
                                        0.2]
sim_real_time_factor = param_server["simulation"]["real_time_factor",
                                                "execution in real-time or faster", 1]


scenario, idx = scenario_generation.get_next_scenario()
world_state = scenario.get_world_state()

print("Running scenario {} of {}".format(idx, scenario_generation.num_scenarios))
for _ in range(0, 100): # run each scenario for 3 steps
    world_state.do_planning(sim_step_time)
    viewer.drawWorld(world_state)
    time.sleep(sim_step_time/sim_real_time_factor)
    world_state.do_execution(sim_step_time)


scenario_generation.dump_scenario_list(os.path.join("examples/scenarios/","{}_dump.bark_scenarios".format(os.path.splitext(scenario_param_file)[0])))