如何在地平线时间检查单个交叉路口的车号?

时间:2019-07-16 04:48:50

标签: python sumo flow-project

我正在与sumo&rllib合作,我想获取数据(十字路口的车号)以让rllib代理学习,如何检查编号以及如何将数据导入rllib。

1 个答案:

答案 0 :(得分:0)

如果您进入scenarios/base_scenario.py,在specify_routes的文档字符串中,将看到有关如何指定随机路径的示例:

      >>> def specify_routes(self, net_params):
      >>>     return {
      >>>         "top": [
      >>>             (["top", "left", "bottom", "right_0"], 0.9),
      >>>             (["top", "left", "bottom", "right_1"], 0.1)
      >>>         ],
      >>>         "left": [
      >>>             (["left", "bottom", "right_0", "top"], 0.3),
      >>>             (["left", "bottom", "right_1", "top"], 0.7)
      >>>         ],
      >>>         "bottom": [
      >>>             (["bottom", "right_0", "top", "left"], 0.5),
      >>>             (["bottom", "right_1", "top", "left"], 0.5)
      >>>         ]
      >>>     }

通过这种方式,车辆将以不确定的方式选择路线,您可以根据需要将其设置为随机。

(这是一项新功能,如果您在文档字符串中没有此示例,请确保从主服务器那里获取)


要使车辆到达网格中的交叉点,请查看k_closest_to_intersection中的函数envs/green_wave_env.py。然后,您可以在环境的get_state函数中使用此函数,例如与RLlib通信。