0

我正在尝试修改 Grid Scenario 模板。更改 Horizo​​ntal_lanes 和 vertical_lanes 时,代码可以正常工作。

问题是我无法将车辆放置在其他车道上。每次修改 grid.py 时,我都会遇到不同类型的错误。

有没有更通用的网格场景或其他东西?

谢谢你。

4

2 回答 2

1

我目前正在做同样的事情。

您必须考虑的第一件事是红绿灯的相位大小会发生变化。因此,您必须更改交通灯计划(字符串序列)以及green_wave_env.py(查找对函数的每次调用set_state())。否则你会得到一个错误,说相位大小和“在线”程序有问题。

我能够将汽车添加到第二条车道。为此,您只需修改对vehicles.add()in的调用green_wave.py。我添加了选项lane_change_paramslane_change_controller.

在那之前它是好的,但现在我收到警告,因为车辆每次想要改变车道时都会发生碰撞。希望这会有用!

vehicles.add(
veh_id='idm',
acceleration_controller=(SimCarFollowingController, {}),
car_following_params=SumoCarFollowingParams(
    minGap=2.5,
    max_speed=V_ENTER,
    speed_mode="all_checks",
),
lane_change_params=SumoLaneChangeParams(
    lane_change_mode="strategic",
    model="LC2013",
),
lane_change_controller=(StaticLaneChanger, {}),
routing_controller=(MinicityRouter, {}),
num_vehicles=tot_cars)
于 2019-08-12T19:09:37.167 回答
0

我们在待办事项列表中添加了以下问题:https ://github.com/flow-project/flow/issues/682

但是,您应该可以修改基本示例以将车辆添加到额外的车道。要增加车道数,您需要将vertical_lanes 和horizo​​ntal_lanes 设置为大于1 的值。但是,红绿灯的基本环境不适合多于1 条车道,因此您必须修改红绿灯指令以使这行得通。目前,环境对它进行了相当硬的编码,因为每条车道只有一个红绿灯,因此您肯定需要进行更改才能扩展它。如果你确实延长它,请打开一个 PR!同时,您可以跟踪我链接的问题的进度。

尤金

于 2019-08-12T12:50:58.190 回答