Skip to content

Commit 4a8995a

Browse files
Merge pull request #442 from JdeRobot/issue-441
Measure average speed from speedometer data
2 parents f6c3e25 + f828c45 commit 4a8995a

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

behavior_metrics/utils/metrics_carla.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,15 @@ def get_metrics(experiment_metrics, experiment_metrics_bag_filename, map_waypoin
9090
for index, row in dataframe_lane_invasion.iterrows():
9191
lane_invasion_points.append(row)
9292

93+
data_file = experiment_metrics_bag_filename.split('.bag')[0] + '/carla-ego_vehicle-speedometer.csv'
94+
dataframe_speedometer = pd.read_csv(data_file)
95+
speedometer_points = []
96+
for index, row in dataframe_speedometer.iterrows():
97+
speedometer_points.append(row)
98+
9399
if len(checkpoints) > 1:
94100
experiment_metrics = get_distance_completed(experiment_metrics, checkpoints)
95-
experiment_metrics = get_average_speed(experiment_metrics, seconds_start, seconds_end)
101+
experiment_metrics = get_average_speed(experiment_metrics, speedometer_points)
96102
experiment_metrics = get_collisions(experiment_metrics, collision_points)
97103
experiment_metrics = get_lane_invasions(experiment_metrics, lane_invasion_points)
98104
experiment_metrics = get_position_deviation(experiment_metrics, checkpoints, map_waypoints, experiment_metrics_filename)
@@ -109,11 +115,12 @@ def get_distance_completed(experiment_metrics, checkpoints):
109115
return experiment_metrics
110116

111117

112-
def get_average_speed(experiment_metrics, seconds_start, seconds_end):
113-
if (seconds_end - seconds_start):
114-
experiment_metrics['average_speed'] = (experiment_metrics['completed_distance'] / (seconds_end - seconds_start))* 3.6
115-
else:
116-
experiment_metrics['average_speed'] = 0
118+
def get_average_speed(experiment_metrics, speedometer_points):
119+
speedometer_points_sum = 0
120+
for point in speedometer_points:
121+
speedometer_points_sum += point.data
122+
123+
experiment_metrics['average_speed'] = (speedometer_points_sum/len(speedometer_points))*3.6
117124
return experiment_metrics
118125

119126
def get_collisions(experiment_metrics, collision_points):

0 commit comments

Comments
 (0)