using MyParking.Shared; namespace MultiWheelC.Control.Allocation { /// /// 表示发送给旧版多舵轮四轮解算前的有符号速度和前后GCP角度命令。 /// public readonly struct GcpMotionCommand { /// /// 创建统一使用m/s和rad的前后几何控制点运动命令。 /// public GcpMotionCommand( double speedMetersPerSecond, double frontAngleRadians, double rearAngleRadians) { NumericGuard.EnsureFinite( speedMetersPerSecond, nameof(speedMetersPerSecond)); NumericGuard.EnsureFinite( frontAngleRadians, nameof(frontAngleRadians)); NumericGuard.EnsureFinite( rearAngleRadians, nameof(rearAngleRadians)); SpeedMetersPerSecond = speedMetersPerSecond; FrontAngleRadians = frontAngleRadians; RearAngleRadians = rearAngleRadians; } /// /// 获取准备交给底盘的有符号纵向速度,单位为m/s,正值表示前进。 /// public double SpeedMetersPerSecond { get; } /// /// 获取前几何控制点相对车体X轴的目标方向,单位为rad,逆时针为正。 /// public double FrontAngleRadians { get; } /// /// 获取后几何控制点相对车体X轴的目标方向,单位为rad,逆时针为正。 /// public double RearAngleRadians { get; } } }