@Ashkan 我看到了你对那个问题的回答(How to write Get_state() return based in multi-agent based on agent-id?)
你给出了一些示例代码: def get_state(self):
agent_state_dict = {}
i = 0
for intersection, edges in self.scenario.get_node_mapping():
i = i + 1
agent_id = self.agent_name_prefix + str(i) # self.agent_name_prefix is defined as string "intersection"
speeds = []
dist_to_intersec = []
traffic_light_states = []
..... code .....
# construct the state (observation) for each agent
observation = np.array(
np.concatenate([
speeds, dist_to_intersec, traffic_light_states
# each intersection is an agent, so we will make a dictionary that maps form "self.agent_name_prefix+'i'" to the state of that agent.
agent_state_dict.update({agent_id: observation})
return agent_state_dict
我对您的代码有一些疑问:
- 在'for'循环中,你使用了一次交集和边,没有其他的交集和边的用法,这里的交集和边的作用是什么?
在 dist_to_intesec[] 上,基于 green_wave_env.py,它会返回所有车辆到所有路口的距离,而不是返回车辆到特殊/个人路口的距离,我不太了解你的 dist_to_intersec[],你能解释一下?
如何查看get_state()的数据,比如我要获取dist_to_intersec的数据。
在我的项目中:基于网格网络,我想在一个水平时间获得一个交叉路口的圆圈(例如,该圆圈的半径为 100m,交叉路口是中心点)上有多少车辆。所以你的回复对我有很大帮助。@阿什坎