Skip to main content

AVxcelerate Simulation Framework 2025 R2

distance_driven_evaluator

Last update: 16.07.2025
1
3
4#include "autonomy/evaluator/distance_driven_evaluator/distance_driven_evaluator.h"
5
7{
8namespace evaluator
9{
10
11DistanceDrivenEvaluator::DistanceDrivenEvaluator(const std::string& kpi_name) : driven_dist_(0.0), kpi_name_(kpi_name)
12{
13}
14
15void DistanceDrivenEvaluator::Init() {}
16
17void DistanceDrivenEvaluator::Reset()
18{
19 driven_dist_ = 0.0;
20}
21
22core::kpi::KpiContent DistanceDrivenEvaluator::CalculateKpi(const osi3::GroundTruth& ground_truth)
23{
24 core::kpi::KpiContent kpi_content;
25 kpi_content.name = kpi_name_;
26 kpi_content.data_type = core::kpi::Datatype::Value::kDouble;
27 kpi_content.type = GetKpiType();
28 kpi_content.unit = "m";
29 kpi_content.timestamp.seconds = ground_truth.timestamp().seconds();
30 kpi_content.timestamp.nanoseconds = ground_truth.timestamp().nanos();
31
32 const auto dist_from_last_position = distance_calculator_.Calculate(ground_truth);
33 driven_dist_ += dist_from_last_position;
34 kpi_content.value = std::to_string(driven_dist_);
35
36 return kpi_content;
37}
38
39core::kpi::Type DistanceDrivenEvaluator::GetKpiType() const
40{
41 return core::kpi::Type::kScalar;
42}
43
44} // namespace evaluator
45} // namespace simulation_framework
The namespace containing evaluator implementations.
The top namespace for simulation framework.

Connect with Ansys