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); }
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); }
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); }