3

在 flow tutorial_8 上,我尝试了另一个场景:SimpleGridScenario 我已经检查了 grid.py,并遵循了参数规则。我的原始程序是:

from flow.envs import Env
from gym.spaces.box import Box
from gym.spaces.tuple_space import Tuple
from flow.controllers import IDMController, ContinuousRouter,GridRouter
from flow.core.experiment import Experiment
from flow.core.params import SumoParams, EnvParams, \
    InitialConfig, NetParams
from flow.core.params import VehicleParams
from flow.scenarios.loop import LoopScenario, ADDITIONAL_NET_PARAMS
from flow.scenarios.grid import SimpleGridScenario
from flow.scenarios import SimpleGridScenario
import numpy as np
from flow.envs import myEnv


ADDITIONAL_ENV_PARAMS={
    "max_accel":1,
    "max_decel":1,
}
sumo_params = SumoParams(sim_step=0.1,render=True)

vehicles=VehicleParams()
vehicles.add(
    veh_id="idm",
    acceleration_controller=(IDMController,{}),
    routing_controller=(GridRouter,{}),
    num_vehicles=22
)


env_params = EnvParams(additional_params=ADDITIONAL_ENV_PARAMS)

additional_net_params = ADDITIONAL_NET_PARAMS.copy()
net_params = NetParams(additional_params=additional_net_params)

initial_config = InitialConfig(bunching=20)

scenario = SimpleGridScenario(
    name = 'grid',
    vehicles = vehicles,
    net_params = NetParams(
        additional_params={
            'grid_array':{
                'row_num':3,
                'col_num':2,
                'inner_length':500,
                'short_length':500,
                'long_length':500,
                'cars_top':20,
                'cars_bot':20,
                'cars_left':20,
                'cars_right':20,        
            },
            'horizontal_lanes':1,
            'vertical_lanes':1,
            'speed_limit':{
                'vertical':35,
                'horizontal':35         
            }
        },
        no_internal_links=False
    ),
    initial_config = initial_config 
)


env = myEnv(env_params, sumo_params, scenario)


exp = Experiment(env)

_ = exp.run(1, 1500)

然后我跑了,有一个错误,错误日志是:</p>

(flow) dnl@dnl-Iiyama:~/flow$ python Tutorial_9_1.py 
Loading configuration... done.
Success.
Loading configuration... done.
Error in edge length with key bot3_2
Error in edge length with key bot3_2
Traceback (most recent call last):
  File "Tutorial_9_1.py", line 72, in <module>
    _ = exp.run(1, 1500)
  File "/home/dnl/flow/flow/core/experiment.py", line 118, in run
    state = self.env.reset()
  File "/home/dnl/flow/flow/envs/base_env.py", line 483, in reset
    speed=speed)
  File "/home/dnl/flow/flow/core/kernel/vehicle/traci.py", line 990, in add
    [i for i in range(num_routes)], size=1, p=frac)[0])
  File "mtrand.pyx", line 1126, in mtrand.RandomState.choice
ValueError: a must be non-empty

我想为什么我错了?我尝试测试另一个场景,期望 LoopScenario。但它不起作用请帮助。

4

0 回答 0