1.Review We presented several examples of simple fuzzy controllers Now we will present more advanced controllers.
2. Fuzzy logic representation of Uncertainty using Production Rules
3.Production Rules Assuming that the knowledge-base module contains knowledge represented in the format of production rules the following sections introduce the following: the concept of a production rule the concept of linguistic variables the fuzzy inference concept the concept of fuzzification and how to accomplish the crisp to fuzzy transformation the concept of defuzzification and how to accomplish the fuzzy to crisp transformation
4.Knowledge presentation using production rules From a philosophical point the concept of knowledge is highly ambiguous and debatable Knowledge-base builders treat knowledge from a narrower point of view: utilitarian, rules, facts, etc. This way the knowledge is easier to model and understand. It remains diverse including: rules, facts, truths, reasons, defaults and heuristics. The knowledge engineer needs some technique for capturing what is known about the application.
5.Various types of Knowledge representation using production rules The production rules technique should provide expressive adequacy and notational efficacy . Knowledge representation is very much under constant research . Several schemes have been suggested in the literature, namely: semantic nets, frames and logic. Production rules have also been suggested and are the most popular way of representing knowledge.
6.Knowledge presentation using production rules Production rules are small chunks of knowledge expressed in the form of if..then statements . The left hand side (IF) represents the antecedent or conditional part. The right hand side (THEN) represents the conclusion or action part. A number of rules collectively define a modularized know-how system. The principal use of production rules is in the encoding of empirical associations between incoming patterns of data and actions that the system should perform as a consequence . The production rules are either expressed by an expert of the field, or derived using induction .
7. Fuzzy logic Control
8.Fuzzy Logic Control Fuzzy controller design consist of turning intuitions , and any other information about how to control a system, into set of rules . These rules can then be applied to the system. If the rules adequately control the system , the design work is done. If the rules are inadequate , the way they fail provides information to change the rules. Analyze experimentally, change
9.Example : Control a Plant A valve in an internal combustion engine that regulates the amount of vaporized fuel entering the cylindres
10. FLAKEY ROBOT = Fuzzy Logic for Autonomous Vehicle Motion Planning EXAMPLE 1
11.Using Fuzzy Logic for Autonomous Vehicle Motion Planning Findings of Stanford Research Institute (SRI) Based on the performance of the robot “Flakey” circa 1993 Discussion of autonomous navigation and path planning in an uncertain environment Paper : “Using Fuzzy Logic for Autonomous Vehicle Motion Planning”
12.Difficulties of a classical robot control problem Autonomous operation of a mobile robot in a real-world unstructured environment poses a series of problems: knowledge about the environment is usually: incomplete uncertain , and approximate Perceptually acquired information is not reliable : noise introduces uncertainty and imprecision limited range and visibility introduces incompleteness errors in interpretation
13.More Difficulties with classical robot Problem Real world environments have complex and largely unpredictable dynamics objects can move the environment may be modified features may change – Vehicle action execution is not reliable: the results produced by sending a given command to an effector can only be approximately estimated action execution may fail entirely
14.Robot Architecture using Fuzzy Controller Key is “ L ocal P erceptual S pace”: LPS is a data structure providing geometric picture around vehicle Camera,etc Map of the rooms LPS Flakey Local Perceptual Space (LPS) Goals are represented in the LPS by means of control structures
15.The Fuzzy Controller Physical motion of the robot is based on a complex fuzzy controller The controller provides a layer of robust high-level motor skills . Basic building block of controller is a “behavior”: A behavior is defined as implementing an atomic motor skill aimed at achieving or maintaining a give goal situation – e.g. follow a wall. Flakey
16.Implementing Behaviors Each behavioral skill is represented by means of a “desirability function” that expresses preferences over possible actions with reference to the goal: e.g. a behavior aimed at following a given wall prefers actions that keep the agent parallel to the wall at a safe distance Flakey desirability function
17.Behavior through Fuzzy Rules Each behavior was implemented by a set of fuzzy rules of the form IF A THEN C A is composed of fuzzy predicates and connectives , and C is a fuzzy set of control vectors An example of a “keep off” behavior rule is: IF obstacle-close-in-front AND NOT obstacle-close-on-left THEN turn-sharp-left Flakey
18.Fast Reactive Behaviors Purely reactive behaviors, intended to provide quick simple reactions to potential dangers typically use sensor data This sensor data has undergone little or no interpretation. Since quick response is necessary to avoid disaster, little processing can be done. Flakey Rules can be implemented in an FPGA
19.Control Structures Purposeful behavior like attempting to reach a certain location must take explicit goals into consideration. Goals are represented in the LPS by means of control structures. Control structure is a triple S = (A,B,C) A is a virtual object (artifact) in the LPS B is a behavior that specifies the way to react to the presence of this object, and C is a fuzzy predicate expressing the context where the control structure is relevant Flakey
20.Control Structure Example An example control structure is S1=(CP1, go-to-CP , near(CP1) CP1 is a control-point (marker for a location), together with a heading and a velocity go-to-CP reacts to the presence of S1 in the LPS by generating the commands to reach the location, heading and velocity specified by CP1. go-to-CP includes rules like: IF facing(CP1) AND too-slow-for(CP1) THEN accelerate-smooth-positive S = (A,B,C) A is a virtual object (artifact) in the LPS B is a behavior that specifies the way to react to the presence of this object, and C is a fuzzy predicate expressing the context where the control structure is relevant Flakey
21.Blending of Behaviors Many behaviors can be simultaneously active Fuzzy controller selects the controls that best satisfy the active behaviors Satisfaction is weighted by each behavior’s relevance to the current situation . e.g. can’t follow a wall if there isn’t one Context dependent blending of behaviors is implemented by combining the output of all the behaviors using context rules Flakey
22.Generating a plan: simple goal-regressing planner used: based on a topological map annotated with approximate measurements (no obstacles) working backwards from goal. An example plan might be: S1 = ( Obstacle , keep-off , near(Obstacle)) S2 = ( Corr1 , follow ,~near(obstacle) AND at(Corr2) AND ~near(Corr2)) S3 = ( Corr2 , follow ,~near(obstacle) AND at(Corr2) AND ~near(Door5)) S4 = ( Door5 , cross ,~near(Obstacle) AND near(Door5)) Control structure Flakey S = (A,B,C) A is a virtual object (artifact) in the LPS B is a behavior that specifies the way to react to the presence of this object, and C is a fuzzy predicate expressing the context where the control structure is relevant
23.Executing the Plan Flakey S1 = (Obstacle, keep-off, near(Obstacle)) S2 = (Corr1, follow,~near(obstacle) AND at(Corr2) AND ~near(Corr2)) S3 = (Corr2, follow,~near(obstacle) AND at(Corr2) AND ~near(Door5)) S4 = ( Door5, cross,~near(Obstacle) AND near(Door5))
24.Cruise Control Example of Fuzzy Logic Controller EXAMPLE 2
25.Example design of a Fuzzy Logic Control System – Cruise Control The block diagram of the intelligent cruise control system.
26.Input membership functions for Cruise Control The three input membership functions Shows fuzzification of three inputs Membership values in Y axis Car’s Speed Relative to Cruise Setting Membership Function Difference in Car’s Speed Relative to Cruise Setting Car’s Speed in Miles per Hour Car’s Speed Membership Functions Space Distance in Feet Distance from Car Ahead
27.Fuzzy Logic Rules Table for Cruise Control cruise speed slow / distance from car ahead fast / distance from car ahead 15 30 45 60 75 15 30 45 60 75 +10 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 0.15 +5 0.15 0.15 0.35 0.35 0.35 0.15 0.15 0.15 0.35 0.35 0 0.15 0.50 0.50 0.50 0.50 0.15 0.15 0.35 0.50 0.50 -5 0.35 0.65 0.65 0.85 0.85 0.15 0.35 0.50 0.65 0.85 -10 0.35 0.65 0.85 0.85 0.85 0.15 0.50 0.65 0.85 0.85 All combinations in this particular case are specified using a 3-Dimensional Table. For more dimensions you can use Kmap or Marquand Chart.
28.Output membership function for Cruise Control The output is the accelerator percentage change needed to keep the car a safe distance behind the car ahead and to keep the car at cruising speed. Membership values in X axis From fuzzy to crisp
29.Fuzzy Inference : creating fuzzy output