コード例 #1
0
ファイル: Robot.cs プロジェクト: Omybot/GoBot
        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;
        }
コード例 #2
0
ファイル: SpeedConfig.cs プロジェクト: Omybot/GoBot
        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);
        }
コード例 #3
0
ファイル: AsserStats.cs プロジェクト: Omybot/GoBot
        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);
        }
コード例 #4
0
ファイル: Robot.cs プロジェクト: Omybot/GoBot
        public void SetSpeedFast()
        {
            SpeedConfig.SetParams(Config.CurrentConfig.ConfigRapide);

            IsSpeedAdvAdaptable = true;
        }
コード例 #5
0
ファイル: Robot.cs プロジェクト: Omybot/GoBot
        public void SetSpeedVeryFast()
        {
            SpeedConfig.SetParams(800, 2500, 2500, 800, 2500, 2500);

            IsSpeedAdvAdaptable = false;
        }
コード例 #6
0
ファイル: Robot.cs プロジェクト: Omybot/GoBot
        public void SetSpeedVerySlow()
        {
            SpeedConfig.SetParams(100, 500, 500, 100, 500, 500);

            IsSpeedAdvAdaptable = false;
        }
コード例 #7
0
ファイル: Robot.cs プロジェクト: Omybot/GoBot
        public void SetSpeedSlow()
        {
            SpeedConfig.SetParams(Config.CurrentConfig.ConfigLent);

            IsSpeedAdvAdaptable = false;
        }
コード例 #8
0
ファイル: Config.cs プロジェクト: Omybot/GoBot
 public Config()
 {
     ConfigLent   = new SpeedConfig();
     ConfigRapide = new SpeedConfig();
 }
コード例 #9
0
ファイル: SpeedSampler.cs プロジェクト: Omybot/GoBot
 public SpeedSampler(SpeedConfig config)
 {
     _config = config;
 }