Initial commit

This commit is contained in:
2026-07-03 16:31:37 +07:00
commit 899c7c637d
1939 changed files with 641750 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
using RobotNet10.NavigationTune.Shared.Models;
namespace RobotNet10.NavigationTune.Shared.Interfaces;
/// <summary>
/// Metrics calculator interface
/// </summary>
public interface IMetricsCalculator
{
/// <summary>
/// Calculate complete test metrics
/// </summary>
TestMetrics CalculateMetrics(
List<TelemetryData> telemetryData,
ReferencePath referencePath
);
/// <summary>
/// Calculate tracking accuracy metrics
/// </summary>
TrackingAccuracyMetrics CalculateTrackingAccuracy(
List<TelemetryData> telemetryData,
ReferencePath referencePath
);
/// <summary>
/// Calculate smoothness metrics
/// </summary>
SmoothnessMetrics CalculateSmoothness(
List<TelemetryData> telemetryData
);
/// <summary>
/// Calculate efficiency metrics
/// </summary>
EfficiencyMetrics CalculateEfficiency(
List<TelemetryData> telemetryData,
ReferencePath referencePath
);
/// <summary>
/// Calculate overall score
/// </summary>
double CalculateOverallScore(
TestMetrics metrics,
ScoringWeights weights
);
}
/// <summary>
/// Scoring weights for different metric categories
/// </summary>
public class ScoringWeights
{
public double TrackingAccuracy { get; set; } = 0.5; // 50%
public double Smoothness { get; set; } = 0.3; // 30%
public double Efficiency { get; set; } = 0.2; // 20%
}