Initial commit
This commit is contained in:
@@ -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%
|
||||
}
|
||||
Reference in New Issue
Block a user