105 lines
4.6 KiB
C#
105 lines
4.6 KiB
C#
using System;
|
|
|
|
namespace EMPlannerVerificationHost;
|
|
|
|
internal static class Program
|
|
{
|
|
private static int Main(string[] args)
|
|
{
|
|
if (args.Length != 1 || (args[0] != "foundation" && args[0] != "segmentation" && args[0] != "frenet" &&
|
|
args[0] != "corridor" && args[0] != "optimization" && args[0] != "osqp" && args[0] != "osqp-loader" && args[0] != "osqp-probe" &&
|
|
args[0] != "all-foundation" && args[0] != "lateral-model" && args[0] != "lateral-integration" &&
|
|
args[0] != "lateral-real-osqp" && args[0] != "lateral-real-osqp-probe" && args[0] != "lateral-all" &&
|
|
args[0] != "longitudinal-model" && args[0] != "longitudinal-integration" &&
|
|
args[0] != "longitudinal-real-osqp-probe" && args[0] != "trajectory"))
|
|
{
|
|
Console.Error.WriteLine("Usage: EMPlannerVerificationHost foundation|segmentation|frenet|corridor|optimization|osqp|osqp-loader|all-foundation|lateral-model|lateral-integration|lateral-real-osqp|lateral-all|longitudinal-model|longitudinal-integration");
|
|
return 2;
|
|
}
|
|
|
|
try
|
|
{
|
|
if (args[0] == "foundation" || args[0] == "all-foundation")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.FoundationChecks.Run();
|
|
Console.WriteLine("PASS foundation");
|
|
}
|
|
if (args[0] == "segmentation" || args[0] == "all-foundation")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.SegmentationChecks.Run();
|
|
Console.WriteLine("PASS segmentation");
|
|
}
|
|
if (args[0] == "frenet" || args[0] == "all-foundation")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.FrenetChecks.Run();
|
|
Console.WriteLine("PASS frenet");
|
|
}
|
|
if (args[0] == "corridor" || args[0] == "all-foundation")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.CorridorChecks.Run();
|
|
Console.WriteLine("PASS corridor");
|
|
}
|
|
if (args[0] == "optimization")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.OptimizationChecks.Run();
|
|
Console.WriteLine("PASS optimization");
|
|
}
|
|
if (args[0] == "osqp" || args[0] == "osqp-loader")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.OsqpChecks.Run();
|
|
Console.WriteLine("PASS osqp-loader");
|
|
}
|
|
if (args[0] == "osqp-probe")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.OsqpChecks.RunProbe();
|
|
}
|
|
if (args[0] == "lateral-model" || args[0] == "lateral-all")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LateralModelChecks.Run();
|
|
Console.WriteLine("PASS lateral-model");
|
|
}
|
|
if (args[0] == "lateral-integration" || args[0] == "lateral-all")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LateralIntegrationChecks.Run();
|
|
Console.WriteLine("PASS lateral-integration");
|
|
}
|
|
if (args[0] == "lateral-real-osqp-probe")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LateralIntegrationChecks.RunRealOsqp();
|
|
Console.WriteLine("PASS lateral-real-osqp");
|
|
}
|
|
if (args[0] == "lateral-real-osqp" || args[0] == "lateral-all")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LateralIntegrationChecks.RunRealOsqpInCleanPluginBundle();
|
|
Console.WriteLine("PASS lateral-real-osqp");
|
|
}
|
|
if (args[0] == "longitudinal-model")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LongitudinalModelChecks.Run();
|
|
Console.WriteLine("PASS longitudinal-model");
|
|
}
|
|
if (args[0] == "longitudinal-integration")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LongitudinalIntegrationChecks.Run();
|
|
Console.WriteLine("PASS longitudinal-integration");
|
|
}
|
|
if (args[0] == "longitudinal-real-osqp-probe")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.LongitudinalIntegrationChecks.RunRealOsqp();
|
|
Console.WriteLine("PASS longitudinal-real-osqp");
|
|
}
|
|
if (args[0] == "trajectory")
|
|
{
|
|
MultiWheelC.TrajectoryPlanning.EMPlanner.TrajectoryChecks.Run();
|
|
Console.WriteLine("PASS trajectory");
|
|
}
|
|
return 0;
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Console.Error.WriteLine(exception);
|
|
return 1;
|
|
}
|
|
}
|
|
}
|