diff options
author | Johannes 'josch' Schauer <josch@debian.org> | 2019-01-27 13:56:24 +0100 |
---|---|---|
committer | Johannes 'josch' Schauer <josch@debian.org> | 2019-01-27 13:56:33 +0100 |
commit | 6ce553563bc795f389f639a3a8cdfe356de71441 (patch) | |
tree | da4c9ede3087ca534d93bc1ac5a14f044f036600 /examples/mamdani/ObstacleAvoidance.java | |
parent | bbefa170378553e5a6e0d72e4d52328b61f3e8ac (diff) |
new upstream version 6.0
Diffstat (limited to 'examples/mamdani/ObstacleAvoidance.java')
-rw-r--r-- | examples/mamdani/ObstacleAvoidance.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/examples/mamdani/ObstacleAvoidance.java b/examples/mamdani/ObstacleAvoidance.java new file mode 100644 index 0000000..8efef3b --- /dev/null +++ b/examples/mamdani/ObstacleAvoidance.java @@ -0,0 +1,60 @@ +import com.fuzzylite.*; +import com.fuzzylite.activation.* +import com.fuzzylite.defuzzifier.*; +import com.fuzzylite.factory.*; +import com.fuzzylite.hedge.*; +import com.fuzzylite.imex.*; +import com.fuzzylite.norm.*; +import com.fuzzylite.norm.s.*; +import com.fuzzylite.norm.t.*; +import com.fuzzylite.rule.*; +import com.fuzzylite.term.*; +import com.fuzzylite.variable.*; + +public class ObstacleAvoidance{ +public static void main(String[] args){ +//Code automatically generated with fuzzylite 6.0. + +Engine engine = new Engine(); +engine.setName("ObstacleAvoidance"); +engine.setDescription(""); + +InputVariable obstacle = new InputVariable(); +obstacle.setName("obstacle"); +obstacle.setDescription(""); +obstacle.setEnabled(true); +obstacle.setRange(0.000, 1.000); +obstacle.setLockValueInRange(false); +obstacle.addTerm(new Ramp("left", 1.000, 0.000)); +obstacle.addTerm(new Ramp("right", 0.000, 1.000)); +engine.addInputVariable(obstacle); + +OutputVariable mSteer = new OutputVariable(); +mSteer.setName("mSteer"); +mSteer.setDescription(""); +mSteer.setEnabled(true); +mSteer.setRange(0.000, 1.000); +mSteer.setLockValueInRange(false); +mSteer.setAggregation(new Maximum()); +mSteer.setDefuzzifier(new Centroid(100)); +mSteer.setDefaultValue(Double.NaN); +mSteer.setLockPreviousValue(false); +mSteer.addTerm(new Ramp("left", 1.000, 0.000)); +mSteer.addTerm(new Ramp("right", 0.000, 1.000)); +engine.addOutputVariable(mSteer); + +RuleBlock mamdani = new RuleBlock(); +mamdani.setName("mamdani"); +mamdani.setDescription(""); +mamdani.setEnabled(true); +mamdani.setConjunction(null); +mamdani.setDisjunction(null); +mamdani.setImplication(new AlgebraicProduct()); +mamdani.setActivation(new General()); +mamdani.addRule(Rule.parse("if obstacle is left then mSteer is right", engine)); +mamdani.addRule(Rule.parse("if obstacle is right then mSteer is left", engine)); +engine.addRuleBlock(mamdani); + + +} +} |