public ShootingRightWheelFLS(IFuzzyRuleBase ruleBase)
        {
            robotBallAngle = FuzzyShootingUtil.RobotBallAngleSet;
            goalBallAngle  = FuzzyShootingUtil.GoalBallAngleSet;
            robotGoalAngle = FuzzyShootingUtil.RobotGoalAngleSet;
            distance       = FuzzyShootingUtil.DistanceSet;
            torque         = FuzzyShootingUtil.TorqueSet;
            listInput      = new List <FuzzySet <IInputFuzzyMember> >()
            {
                robotBallAngle, goalBallAngle, robotGoalAngle, distance
            };

            fls = new FuzzyLogicSystem(new Fuzzifier(), new CenterOfSumsDefuzzifier(), ruleBase);
        }
Пример #2
0
        public GoalieRightWheelFLS()
        {
            angle     = new GoalieRelativeAngle(1);
            distance  = new GoalieDistance(2);
            torque    = new Torque(3);
            listInput = new List <FuzzySet <IInputFuzzyMember> >()
            {
                angle, distance
            };
            var rules    = CreateRules();
            var ruleBase = new EvaluationTreeRuleBase(listInput, torque, rules);

            fls = new FuzzyLogicSystem(new Fuzzifier(), new CenterOfSumsDefuzzifier(), ruleBase);
        }
Пример #3
0
        public GameStateFLS()
        {
            orientation        = new Orientation(1);
            distanceDifference = new DistanceDifference(2);
            distanceGoal       = new DistanceGoal(3);
            stateValue         = new StateValue(4);
            listInput          = new List <FuzzySet <IInputFuzzyMember> >()
            {
                orientation, distanceDifference, distanceGoal
            };

            var rules    = CreateRules();
            var ruleBase = new EvaluationTreeRuleBase(listInput, stateValue, rules);

            fls = new FuzzyLogicSystem(new Fuzzifier(), new CenterOfSumsDefuzzifier(), ruleBase);
        }
        public ArbiterFLS()
        {
            Shoot     = new PathStatus(1);
            Pass      = new PathStatus(2);
            BallX     = new BallXLocation(3);
            BallY     = new BallYLocation(4);
            Priority  = new Priority(5);
            listInput = new List <FuzzySet <IInputFuzzyMember> >()
            {
                Shoot, Pass, BallX, BallY
            };

            var rules    = CreateRules();
            var ruleBase = new EvaluationTreeRuleBase(listInput, Priority, rules);

            fls = new FuzzyLogicSystem(new Fuzzifier(), new CenterOfSumsDefuzzifier(), ruleBase);
        }