public RightWheelFLS()
    {
        angle     = new RelativeAngle(1);
        distance  = new Distance(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);
    }
        public ShootingLeftWheelFLS(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);
        }