min_ttc_evaluator Last update: 16.07.2025 1 3 4#include "autonomy/evaluator/min_ttc_evaluator/min_ttc_evaluator.h" 5 10namespace simulation_framework 11{ 12 17namespace evaluator 18{ 19 20MinTtcEvaluator::MinTtcEvaluator(const std::string& kpi_name) 21 : min_ttc_(std::chrono::milliseconds::max()), kpi_name_(kpi_name) 22{ 23} 24 25void MinTtcEvaluator::Init() {} 26 27void MinTtcEvaluator::Reset() 28{ 29 min_ttc_ = std::chrono::milliseconds::max(); 30} 31 32core::kpi::KpiContent MinTtcEvaluator::CalculateKpi(const osi3::GroundTruth& ground_truth) 33{ 34 core::kpi::KpiContent kpi_content; 35 kpi_content.name = kpi_name_; 36 kpi_content.data_type = core::kpi::Datatype::Value::kDouble; 37 kpi_content.type = GetKpiType(); 38 kpi_content.unit = "ms"; 39 kpi_content.timestamp.seconds = ground_truth.timestamp().seconds(); 40 kpi_content.timestamp.nanoseconds = ground_truth.timestamp().nanos(); 41 42 const auto ttc = ttc_calculator_.Calculate(ground_truth); 43 44 if (ttc < min_ttc_) 45 { 46 min_ttc_ = ttc; 47 } 48 49 kpi_content.value = std::to_string(min_ttc_.count()); 50 51 return kpi_content; 52} 53 54core::kpi::Type MinTtcEvaluator::GetKpiType() const 55{ 56 return core::kpi::Type::kScalar; 57} 58 59} // namespace evaluator 60} // namespace simulation_framework evaluatorThe namespace containing evaluator implementations. simulation_frameworkThe top namespace for simulation framework. simulation_framework::core::kpi::KpiContentstruct KpiContentDefinition kpi_definition.h:67 simulation_framework::core::kpi::KpiContent::data_typeDatatype data_typeDefinition kpi_definition.h:72