Initial commit

This commit is contained in:
2026-07-13 09:25:40 +07:00
parent c08ff54676
commit bccfb156d7
1938 changed files with 641646 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%
}