Commit b24f8dab authored by Allvey's avatar Allvey

add comment to topo generate module

parent 1f92d3c0
...@@ -7,6 +7,7 @@ import time ...@@ -7,6 +7,7 @@ import time
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
# from path_plan.path_plannner import * # from path_plan.path_plannner import *
import networkx as nx import networkx as nx
from settings import *
class Topo(): class Topo():
...@@ -145,6 +146,9 @@ class Topo(): ...@@ -145,6 +146,9 @@ class Topo():
self.unload_G.add_node(Exitnode_for_digging, name='digging', type=digging_name) self.unload_G.add_node(Exitnode_for_digging, name='digging', type=digging_name)
self.unload_G.add_node(Entrancenode_for_dump, name='group_dumps', type=dump_name) self.unload_G.add_node(Entrancenode_for_dump, name='group_dumps', type=dump_name)
logger.info(f'unload route start digging name: %s' % digging_name)
logger.info(f'unload route end dump name: %s' % dump_name)
# path_node_for_trip.append(Exitnode_for_digging) # add start node for trip # path_node_for_trip.append(Exitnode_for_digging) # add start node for trip
# find the exitnodeid for diggingarea, find the entrancenodeid for dumparea # find the exitnodeid for diggingarea, find the entrancenodeid for dumparea
...@@ -154,12 +158,15 @@ class Topo(): ...@@ -154,12 +158,15 @@ class Topo():
if Entrancenode_for_dump not in self.unload_G_all_nodes: if Entrancenode_for_dump not in self.unload_G_all_nodes:
self.unload_G_all_nodes.append(Entrancenode_for_dump) self.unload_G_all_nodes.append(Entrancenode_for_dump)
self.unload_G_dump_nodes.append(Entrancenode_for_dump) self.unload_G_dump_nodes.append(Entrancenode_for_dump)
try: try:
unload_saved_lane = [] unload_saved_lane = []
for lane_id in item[1]: # for each lane in a to_unload route for lane_id in item[1]: # for each lane in a to_unload route
lane_startpoint = str(session_postgre.query(Lane).filter_by(Id=lane_id).first().StartNodeId) lane_startpoint = str(session_postgre.query(Lane).filter_by(Id=lane_id).first().StartNodeId)
lane_endpoint = str(session_postgre.query(Lane).filter_by(Id=lane_id).first().EndNodeId) lane_endpoint = str(session_postgre.query(Lane).filter_by(Id=lane_id).first().EndNodeId)
logger.info(f'unload route lane id: %s' % lane_id)
# add [start_point, end_point, length, lane_id] to unload_saved_lane # add [start_point, end_point, length, lane_id] to unload_saved_lane
unload_saved_lane.append([str(lane_startpoint), str(lane_endpoint), unload_saved_lane.append([str(lane_startpoint), str(lane_endpoint),
float(session_postgre.query(Lane).filter_by(Id=lane_id).first().Length), float(session_postgre.query(Lane).filter_by(Id=lane_id).first().Length),
...@@ -184,6 +191,10 @@ class Topo(): ...@@ -184,6 +191,10 @@ class Topo():
locked_distance=sum(value[1] for value in lanes.values()), lane=lanes) locked_distance=sum(value[1] for value in lanes.values()), lane=lanes)
self.unload_G.add_node(unload_saved_lane[0][0]) self.unload_G.add_node(unload_saved_lane[0][0])
self.unload_G.add_node(unload_saved_lane[-1][1]) self.unload_G.add_node(unload_saved_lane[-1][1])
logger.info(f'unload route cross node: %s' % unload_saved_lane[0][0])
logger.info(f'unload route cross node: %s' % unload_saved_lane[-1][1])
# self.unload_G_land_edges_map[lanes] = [unload_saved_lane[0][0], unload_saved_lane[-1][1]] # self.unload_G_land_edges_map[lanes] = [unload_saved_lane[0][0], unload_saved_lane[-1][1]]
# if [unload_saved_lane[0][0], unload_saved_lane[-1][1]] not in self.unload_G_edges: # if [unload_saved_lane[0][0], unload_saved_lane[-1][1]] not in self.unload_G_edges:
# self.unload_G_edges.append([unload_saved_lane[0][0], unload_saved_lane[-1][1]]) # self.unload_G_edges.append([unload_saved_lane[0][0], unload_saved_lane[-1][1]])
...@@ -208,6 +219,9 @@ class Topo(): ...@@ -208,6 +219,9 @@ class Topo():
Exitnode_for_dump = str(session_postgre.query(DumpArea).filter_by(Id=item[0][1]).first().ExitNodeId) Exitnode_for_dump = str(session_postgre.query(DumpArea).filter_by(Id=item[0][1]).first().ExitNodeId)
dump_name = str(session_postgre.query(DumpArea).filter_by(Id=item[0][1]).first().Name) dump_name = str(session_postgre.query(DumpArea).filter_by(Id=item[0][1]).first().Name)
logger.info(f'load route start dump name: %s' % dump_name)
logger.info(f'load route end digging name: %s' % digging_name)
# find the exit node_id for digging_area, entrance node_id for dumparea, # find the exit node_id for digging_area, entrance node_id for dumparea,
if Exitnode_for_dump not in self.load_G_all_nodes: if Exitnode_for_dump not in self.load_G_all_nodes:
self.load_G_all_nodes.append(Exitnode_for_dump) self.load_G_all_nodes.append(Exitnode_for_dump)
...@@ -233,6 +247,8 @@ class Topo(): ...@@ -233,6 +247,8 @@ class Topo():
# son_lane_num = sum(1 for truck_id in session_postgre.query(Lane).filter_by(StartNodeId = lane_endpoint).all()) # son_lane_num = sum(1 for truck_id in session_postgre.query(Lane).filter_by(StartNodeId = lane_endpoint).all())
son_lane_num = len(session_postgre.query(Lane).filter_by(StartNodeId=lane_endpoint).all()) son_lane_num = len(session_postgre.query(Lane).filter_by(StartNodeId=lane_endpoint).all())
logger.info(f'load route lane id: %s' % lane_id)
nodes = list(self.load_G.nodes) nodes = list(self.load_G.nodes)
# 可以添加的节点:分叉口或终点 # 可以添加的节点:分叉口或终点
if son_lane_num > 1 or lane_endpoint in self.load_G_digging_nodes or lane_endpoint in nodes: if son_lane_num > 1 or lane_endpoint in self.load_G_digging_nodes or lane_endpoint in nodes:
...@@ -250,6 +266,10 @@ class Topo(): ...@@ -250,6 +266,10 @@ class Topo():
locked_distance=sum(value[-1] for value in lanes.values()), lane=lanes) locked_distance=sum(value[-1] for value in lanes.values()), lane=lanes)
self.load_G.add_node(load_saved_lane[0][0]) self.load_G.add_node(load_saved_lane[0][0])
self.load_G.add_node(load_saved_lane[-1][1]) self.load_G.add_node(load_saved_lane[-1][1])
logger.info(f'load route cross node: %s' % load_saved_lane[0][0])
logger.info(f'load route cross node: %s' % load_saved_lane[-1][1])
# self.load_G_land_edges_map[lanes] = [load_saved_lane[0][0], load_saved_lane[-1][1]] # self.load_G_land_edges_map[lanes] = [load_saved_lane[0][0], load_saved_lane[-1][1]]
# if [load_saved_lane[0][0], load_saved_lane[-1][1]] not in self.load_G_edges: # if [load_saved_lane[0][0], load_saved_lane[-1][1]] not in self.load_G_edges:
# self.load_G_edges.append([load_saved_lane[0][0], load_saved_lane[-1][1]]) # self.load_G_edges.append([load_saved_lane[0][0], load_saved_lane[-1][1]])
...@@ -268,7 +288,6 @@ class Topo(): ...@@ -268,7 +288,6 @@ class Topo():
# park_to_load_G # park_to_load_G
for k in park_trip: for k in park_trip:
try: try:
load_saved_lane = [] load_saved_lane = []
...@@ -281,6 +300,8 @@ class Topo(): ...@@ -281,6 +300,8 @@ class Topo():
# son_lane_num = sum(1 for truck_id in session_postgre.query(Lane).filter_by(StartNodeId = load_i_endpoint).all()) # son_lane_num = sum(1 for truck_id in session_postgre.query(Lane).filter_by(StartNodeId = load_i_endpoint).all())
son_lane_num = len(session_postgre.query(Lane).filter_by(StartNodeId=load_i_endpoint).all()) son_lane_num = len(session_postgre.query(Lane).filter_by(StartNodeId=load_i_endpoint).all())
logger.info(f'park route lane id: %s' % i)
nodes = list(self.load_G.nodes) nodes = list(self.load_G.nodes)
# 可以添加的节点:分叉口或终点 # 可以添加的节点:分叉口或终点
if son_lane_num > 1 or load_i_endpoint in self.load_G_digging_nodes or load_i_endpoint in nodes: if son_lane_num > 1 or load_i_endpoint in self.load_G_digging_nodes or load_i_endpoint in nodes:
...@@ -298,6 +319,10 @@ class Topo(): ...@@ -298,6 +319,10 @@ class Topo():
locked_distance=sum(value[-1] for value in lanes.values()), lane=lanes) locked_distance=sum(value[-1] for value in lanes.values()), lane=lanes)
self.load_G.add_node(load_saved_lane[0][0]) self.load_G.add_node(load_saved_lane[0][0])
self.load_G.add_node(load_saved_lane[-1][1]) self.load_G.add_node(load_saved_lane[-1][1])
logger.info(f'park route cross node: %s' % load_saved_lane[0][0])
logger.info(f'park route cross node: %s' % load_saved_lane[-1][1])
# self.load_G_land_edges_map[lanes] = [load_saved_lane[0][0], load_saved_lane[-1][1]] # self.load_G_land_edges_map[lanes] = [load_saved_lane[0][0], load_saved_lane[-1][1]]
# if [load_saved_lane[0][0], load_saved_lane[-1][1]] not in self.load_G_edges: # if [load_saved_lane[0][0], load_saved_lane[-1][1]] not in self.load_G_edges:
# self.load_G_edges.append([load_saved_lane[0][0], load_saved_lane[-1][1]]) # self.load_G_edges.append([load_saved_lane[0][0], load_saved_lane[-1][1]])
......
...@@ -166,4 +166,4 @@ if __name__ == "__main__": ...@@ -166,4 +166,4 @@ if __name__ == "__main__":
logger.info(" ") logger.info(" ")
logger.info("调度系统启动") logger.info("调度系统启动")
main(20, dispatcher) main(30, dispatcher)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment