|
@@ -356,22 +356,29 @@ def ifStopgreenWaveSpeedGuidance_LST(data):
|
|
# ------ 单车智能指标 ------
|
|
# ------ 单车智能指标 ------
|
|
def limitSpeed_LST(data):
|
|
def limitSpeed_LST(data):
|
|
ego_df = data.ego_data
|
|
ego_df = data.ego_data
|
|
-
|
|
|
|
- speed_limit = ego_df[ego_df['x_relative_dist'] == 0]['v'].tolist()
|
|
|
|
|
|
+ scenario_name = find_nested_name(data.function_config["function"])
|
|
|
|
+ limit_speed = data.function_config["function"][scenario_name]["limitSpeed_LST"]["max"]
|
|
|
|
+ speed_limit = ego_df[abs(ego_df['x_relative_dist']) <= 0.1]['v'].tolist()
|
|
if len(speed_limit) == 0:
|
|
if len(speed_limit) == 0:
|
|
return {"speedLimit_LST": -1}
|
|
return {"speedLimit_LST": -1}
|
|
max_speed = max(speed_limit)
|
|
max_speed = max(speed_limit)
|
|
|
|
+ data.speedLimit = limit_speed
|
|
generate_function_chart_data(data, 'limitspeed_LST')
|
|
generate_function_chart_data(data, 'limitspeed_LST')
|
|
return {"speedLimit_LST": max_speed}
|
|
return {"speedLimit_LST": max_speed}
|
|
|
|
|
|
|
|
|
|
def limitSpeedPastLimitSign_LST(data):
|
|
def limitSpeedPastLimitSign_LST(data):
|
|
ego_df = data.ego_data
|
|
ego_df = data.ego_data
|
|
|
|
+ scenario_name = find_nested_name(data.function_config["function"])
|
|
|
|
+ limit_speed = data.function_config["function"][scenario_name]["limitSpeed_LST"]["max"]
|
|
car_length = data.function_config["vehicle"]['CAR_LENGTH']
|
|
car_length = data.function_config["vehicle"]['CAR_LENGTH']
|
|
- ego_speed = ego_df[ego_df['x_relative_dist'] == -100 - car_length]['v'].tolist()
|
|
|
|
|
|
+ ego_speed = ego_df[ego_df['x_relative_dist'] <= -100 - car_length]['v'].tolist()
|
|
|
|
+ ego_time = ego_df[ego_df['x_relative_dist'] <= -100 - car_length]['simTime'].tolist()
|
|
|
|
+ data.speedLimit = limit_speed
|
|
|
|
+ data.speedPastLimitSign_LST = ego_time[0] if len(ego_time) > 0 else None
|
|
|
|
+ generate_function_chart_data(data, 'limitSpeedPastLimitSign_LST')
|
|
if len(ego_speed) == 0:
|
|
if len(ego_speed) == 0:
|
|
return {"speedPastLimitSign_LST": -1}
|
|
return {"speedPastLimitSign_LST": -1}
|
|
- generate_function_chart_data(data, 'limitSpeedPastLimitSign_LST')
|
|
|
|
return {"speedPastLimitSign_LST": ego_speed[0]}
|
|
return {"speedPastLimitSign_LST": ego_speed[0]}
|
|
|
|
|
|
|
|
|
|
@@ -539,10 +546,14 @@ def laneOffset_LST(data):
|
|
|
|
|
|
def maxLongitudeDist_LST(data):
|
|
def maxLongitudeDist_LST(data):
|
|
ego_df = data.ego_data
|
|
ego_df = data.ego_data
|
|
- if len(ego_df['x_relative_dist']) == 0:
|
|
|
|
|
|
+ longitude_dist = abs(ego_df[ego_df['v'] == 0]['x_relative_dist'].tolist())
|
|
|
|
+ data.longitude_dist = min(abs(ego_df[ego_df['v'] == 0]['x_relative_dist'].tolist()))
|
|
|
|
+ stop_time = ego_df[abs(ego_df['x_relative_dist']) == min(longitude_dist)]['simTime'].tolist()
|
|
|
|
+ data.stop_time = min(stop_time)
|
|
|
|
+ if len(longitude_dist) == 0:
|
|
return {"maxLongitudeDist_LST": -1}
|
|
return {"maxLongitudeDist_LST": -1}
|
|
generate_function_chart_data(data, 'maxLongitudeDist_LST')
|
|
generate_function_chart_data(data, 'maxLongitudeDist_LST')
|
|
- return {"maxLongDist_LST": max(ego_df['x_relative_dist'])}
|
|
|
|
|
|
+ return {"maxLongDist_LST": min(longitude_dist)}
|
|
|
|
|
|
|
|
|
|
def noEmergencyBraking_LST(data):
|
|
def noEmergencyBraking_LST(data):
|