|On this page|
This operator is a Fuzzy Logic VOP that performs a defuzzify operation between its input fuzzy sets and outputs a crisp value mapped between a user defined minimum and maximum value for the output variable. This node takes as input up to 64 FuzzySet structs that represent the fuzzy sets that comprise the output variable for defuzzification.
A defuzzify operation is comprised of three steps: implication, aggregation, and defuzzification. In the implication step, each fuzzy set’s membership function is clipped by the truth value of the set. In aggregation the input fuzzy sets are aggregated into a single fuzzy set (called the aggregated fuzzy set). In defuzzification, the crisp value for the output variable is calculated by finding the centroid of the aggregated fuzzy set.
Typically, a Fuzzy Defuzz VOP is used to connect an output fuzzy value from a fuzzy logic network to either a boolean decision making network, or directly to a control system.
A Fuzzy Defuzz VOP can optionally specify a fuzzy set for the complement of the input fuzzy sets (effectively an "else" in an "if/else" statement). The truth of the fuzzy set is defined as the complement of the truths of each input, and the membership function is defined using the same parameter interface from Fuzzy Inference.
The method to use to aggregate the input fuzzy sets into an aggregated fuzzy set. The two supported options are to take the maximum value at each sample, or to take the sum of the values at each sample.
Override Crisp Range
Toggles whether the crisp range for the output variable is defined on this Defuzz VOP, or on each FuzzySet struct that is connected as an input. If this is not toggled, the crisp range is the union of each range on the input FuzzySet structs.
An override for the crisp minimum for the crisp variable. This overrides the minimum specified in any input FuzzySet struct. The minimum for the else FuzzySet is controlled separately.
An override for the crisp maximum for the crisp variable. This overrides the maximum specified in any input FuzzySet struct. The maximum for the else FuzzySet is controlled separately.
Toggle Else Value
Toggles the optional fuzzy set representing an "else" statement.
Input Number 1…N
The input fuzzy sets to be combined together. Each input should be a FuzzySet struct.
Where the next input value should be connected. Up to 64 inputs can be specified.
The defuzzified crisp output.
This example shows agent obstacle avoidance and path following implemented using a fuzzy logic controller.