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/hybrid/ObstacleAvoidance.fcl | |
parent | bbefa170378553e5a6e0d72e4d52328b61f3e8ac (diff) |
new upstream version 6.0
Diffstat (limited to 'examples/hybrid/ObstacleAvoidance.fcl')
-rw-r--r-- | examples/hybrid/ObstacleAvoidance.fcl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/examples/hybrid/ObstacleAvoidance.fcl b/examples/hybrid/ObstacleAvoidance.fcl new file mode 100644 index 0000000..81a30a7 --- /dev/null +++ b/examples/hybrid/ObstacleAvoidance.fcl @@ -0,0 +1,49 @@ +//Code automatically generated with fuzzylite 6.0. + +FUNCTION_BLOCK ObstacleAvoidance + +VAR_INPUT + obstacle: REAL; +END_VAR + +VAR_OUTPUT + mSteer: REAL; + tsSteer: REAL; +END_VAR + +FUZZIFY obstacle + RANGE := (0.000 .. 1.000); + TERM left := Ramp 1.000 0.000; + TERM right := Ramp 0.000 1.000; +END_FUZZIFY + +DEFUZZIFY mSteer + RANGE := (0.000 .. 1.000); + TERM left := Ramp 1.000 0.000; + TERM right := Ramp 0.000 1.000; + METHOD : COG; + ACCU : MAX; + DEFAULT := nan; +END_DEFUZZIFY + +DEFUZZIFY tsSteer + RANGE := (0.000 .. 1.000); + TERM left := 0.333; + TERM right := 0.666; + METHOD : COGS; + ACCU : MAX; + DEFAULT := nan; +END_DEFUZZIFY + +RULEBLOCK mamdani + ACT : PROD; + RULE 1 : if obstacle is left then mSteer is right + RULE 2 : if obstacle is right then mSteer is left +END_RULEBLOCK + +RULEBLOCK takagiSugeno + RULE 1 : if obstacle is left then tsSteer is right + RULE 2 : if obstacle is right then tsSteer is left +END_RULEBLOCK + +END_FUNCTION_BLOCK |