public Robot(IDRobot id, string name) { IDRobot = id; Name = name; SpeedConfig = new SpeedConfig(500, 1000, 1000, 500, 1000, 1000); AsserStats = new AsserStats(); IsSpeedAdvAdaptable = true; foreach (MotorID moteur in Enum.GetValues(typeof(MotorID))) { MotorState.Add(moteur, false); } foreach (SensorOnOffID o in Enum.GetValues(typeof(SensorOnOffID))) { SensorsOnOffValue.Add(o, false); } foreach (ActuatorOnOffID o in Enum.GetValues(typeof(ActuatorOnOffID))) { ActuatorOnOffState.Add(o, false); } foreach (SensorColorID o in Enum.GetValues(typeof(SensorColorID))) { SensorsColorValue.Add(o, Color.Black); } AnalogicPinsValue = new Dictionary <Board, List <double> >(); AnalogicPinsValue.Add(Board.RecIO, new List <double>()); AnalogicPinsValue.Add(Board.RecMove, new List <double>()); for (int i = 0; i < 9; i++) { AnalogicPinsValue[Board.RecIO].Add(0); AnalogicPinsValue[Board.RecMove].Add(0); } NumericPinsValue = new Dictionary <Board, List <Byte> >(); NumericPinsValue.Add(Board.RecIO, new List <byte>()); NumericPinsValue.Add(Board.RecMove, new List <byte>()); for (int i = 0; i < 3 * 2; i++) { NumericPinsValue[Board.RecIO].Add(0); NumericPinsValue[Board.RecMove].Add(0); } BatterieVoltage = 0; Graph = null; TrajectoryFailed = false; TrajectoryCutOff = false; TrajectoryRunning = null; }
public void SetParams(SpeedConfig config) { _lineSpeed = config.LineSpeed; _lineAcceleration = config.LineAcceleration; _lineDeceleration = config.LineDeceleration; _pivotSpeed = config.PivotSpeed; _pivotAcceleration = config.PivotAcceleration; _pivotDeceleration = config.PivotDeceleration; OnParamChange(true, true, true, true, true, true); }
public TimeSpan CalculDuration(SpeedConfig config, Robot robot) { TimeSpan totalDuration = new TimeSpan(); foreach (int dist in ForwardMoves.Union(BackwardMoves)) { totalDuration += config.LineDuration(dist); } foreach (AngleDelta ang in LeftRotations.Union(RightsRotations)) { totalDuration += config.PivotDuration(ang, robot.WheelSpacing); } return(totalDuration); }
public void SetSpeedFast() { SpeedConfig.SetParams(Config.CurrentConfig.ConfigRapide); IsSpeedAdvAdaptable = true; }
public void SetSpeedVeryFast() { SpeedConfig.SetParams(800, 2500, 2500, 800, 2500, 2500); IsSpeedAdvAdaptable = false; }
public void SetSpeedVerySlow() { SpeedConfig.SetParams(100, 500, 500, 100, 500, 500); IsSpeedAdvAdaptable = false; }
public void SetSpeedSlow() { SpeedConfig.SetParams(Config.CurrentConfig.ConfigLent); IsSpeedAdvAdaptable = false; }
public Config() { ConfigLent = new SpeedConfig(); ConfigRapide = new SpeedConfig(); }
public SpeedSampler(SpeedConfig config) { _config = config; }