using ClumsyCore; using ClumsyCore.Pilot; using MDCSToolBox.Clumsy.MotionControllers; using MDCSToolBox.Clumsy.Movements; using MDCSToolBox.Clumsy.Pilot; namespace MultiWheelC; public class ChassisController : MovementDefinition { public float BaseSpeed = Configuration.conf.basicSpeed; // 创建单车几何跟踪控制器(直接控本车底盘,不走多车 Auto 通道) public override MultiWheelGeometricController Get() { return new MultiWheelGeometricController { Chassis = BasicPilotBase.Chassis, BaseSpeed = BaseSpeed, SlowDistance = PilotDefinition.Conf.SlowDistance, SlowingPow = PilotDefinition.Conf.SlowingPow, FinishDistance = PilotDefinition.Conf.FinishDistance, FinishSpeed = PilotDefinition.Conf.FinishSpeed, FirstThAccuracy = PilotDefinition.Conf.FirstThAccuracy, FirstRotateSpeedFac = PilotDefinition.Conf.FirstRotateSpeedFac, FirstRotateMaxSpeed = PilotDefinition.Conf.FirstRotateMaxSpeed, NotContinuousAngle = PilotDefinition.Conf.NotContinuousAngle, DebugMode = PilotDefinition.Conf.MotionDebugPrint, DebugCurvature = PilotDefinition.Conf.DebugCurvature, PowerSteeringLookAhead = PilotDefinition.Conf.PowerSteeringLookAhead, SpeedLookAhead = PilotDefinition.Conf.SpeedLookAhead, SpeedLookAheadCurveDiff = PilotDefinition.Conf.SpeedLookAheadCurveDiff, SpeedLookBackCurveDiff = PilotDefinition.Conf.SpeedLookBackCurveDiff, SpeedLimitCurveDiffMin = PilotDefinition.Conf.SpeedLimitCurveDiffMin, SpeedLimitCurveMin = PilotDefinition.Conf.SpeedLimitCurveMin, MaxRotateSpeed = PilotDefinition.Conf.MaxRotateSpeedCurveLimit, MaxRotateAcc = PilotDefinition.Conf.MaxRotateAccCurveLimit, GcpThetaThreshold = PilotDefinition.Conf.GcpThetaThreshold, DthLinearFac = PilotDefinition.Conf.DthLinearFac, DthLinearThreshold = PilotDefinition.Conf.DthLinearThreshold, BiasFac = PilotDefinition.Conf.BiasFac, BiasThreshold = PilotDefinition.Conf.BiasThreshold, }; } }