EarthWeb   
HomeAccount InfoLoginSearchMy ITKnowledgeFAQSitemapContact Us
     

   
  All ITKnowledge
  Source Code

  Search Tips
  Advanced Search
   
  

  

[an error occurred while processing this directive]
Previous Table of Contents Next


4.3 A Fuzzy Process Controller

The first step in developing an FLC, using a real valued consequent and the multiplication operator for the spacecraft rendezvous system, is to determine which variables are important for effective control. Information about these variables must be available from sensors in the real-world system or from a computer model. An effective control decision can be made based on the position and velocity of the spacecraft relative to the target. Thus, there are six condition variables: (1) the x position coordinate, x, (2) the y position coordinate, y, (3) the z position coordinate, z, (4) the x-velocity, , (5) the y-velocity, , and (6) the z-velocity, . The state of the spacecraft rendezvous system at any time is completely described by these six variable values. These variables must appear in the fuzzy rules; they are not used to form error and change-in-error expressions as was done in the previous chapters. The main reason for working directly with the system parameters instead of converting them to error and change in error terms is that the human expert who was consulted on this problem was more comfortable working directly with the system parameters.

The second step in FLC development is to define the action variables, those variables that will be used to control the system. In the spacecraft rendezvous system there are three things that can be done to effect a change in the state of the system: (1) thrust applied in the x direction, Fx, (2) thrust applied in the y direction, Fy, and (3) thrust applied in the z direction, Fz. Recall that in previous chapters the systems being considered had only one action variable.

Once the relevant condition and action variables have been identified, the linguistic terms used to describe the six controlled variables must be defined. The same six linguistic terms were used to describe each of the six controlled variables: NEGATIVE-BIG (NB), NEGATIVE-SMALL (NS), NEGATIVE-CLOSE (NC), POSITIVE-CLOSE (PC), POSITIVE-SMALL (PS), and POSITIVE-BIG (PB). These fuzzy classes were chosen because they are similar to the descriptive terms a human operator might use when attempting to rendezvous the spacecraft. The fuzzy membership functions used in FLCs are often either triangular or trapezoidal. Triangular membership function forms are used in the spacecraft rendezvous FLC. The membership function forms for the position variables (x, y, and z) are shown in Figure 4.2.


Figure 4.2  The six triangular fuzzy membership functions for x (y and z) position(s) strike a suitable balance between timely computation and acceptable control.

The membership functions in Figure 4.2 are used to fuzzify crisp conditions (numerical values of the condition variables) existing in the spacecraft rendezvous system. Now, a process for determining a crisp action to take, an adjustment to each of the three thrusters, must be set forth. This process is based on a set of fuzzy production rules. Each fuzzy production rule provides a recommended fuzzy action for any possible condition that could possibly exist in the problem environment. The choice of fuzzy terms described above allows for the possibility of 36 different conditions that could exist in each of the x, y, and z coordinate directions when the rules are of the form (example for the x direction):

where α and β are linguistic terms (or fuzzy classes) characterizing the respective variables, and γ is a precise numeric value for the thrust. (NOTE: The rule described here takes into account the x-direction only. The other directions are accounted for independently as will be described shortly.)

In the fuzzy rules used in previous chapters, and in most traditional FLCs the action variables, like the condition variables, are prescribed using one of a discrete number of fuzzy sets that describe the action to be taken on the system. For instance, if Fx is described with seven fuzzy terms (for example NEGATIVE BIG, NEGATIVE MEDIUM, NEGATIVE SMALL, NEAR ZERO, POSITIVE SMALL, POSITIVE MEDIUM, and POSITIVE BIG), then for each combination of condition variables, the developer has seven values from which to choose the value of Fx. This is an inviting format for rules in that the resulting rules are entirely linguistic, both the conditions and the actions. However, it does limit the flexibility associated with the development of the controller; there are only seven terms from which to choose the action variable.

In the rule form described above and used in the rendezvous controller, there is no limit within an appropriate range on the choice of action variable; Fx, Fy, an Fz can be represented by floating point numbers and not integer values. Because of the great degree of accuracy that is required, having a limited number of values from which to choose the actions would severely restrict the effectiveness of the controller. Thus, a real-valued consequent approach has been adopted. In this approach, the value of each consequent, i.e., the value of the thrusts, is a real number. Thus, since these real numbers can be of any precision desired, the developer actually has an infinite number of choices for each action. The action is no longer chosen from a limited number of values, rather from a limited range of values. Because of this increased flexibility, finer control can be achieved.

Actually, the real number that is used to prescribe the fuzzy action can be thought of as being represented by a triangular membership function. When this view of the real-valued consequent approach is adopted, the real number simply indicates the center of area of an isosceles triangle that has a base width of 2.0 (thereby yielding an area of 1.0). In this way, the center of area approach to defuzzification can still be used. The formula

still applies, only now xi is the real valued consequent and Ai = μi * (1.0). The only difference is that the developer is not limited by a finite number of fuzzy actions, and therefore can develop systems of far greater precision than with a more traditional fuzzy logic approach. When real numbers are used to characterize the actions, initial indications are that the linguistic nature of the fuzzy controllers is lost. However, it is not difficult to go back and “fuzzify” the real values describing the actions using fuzzy terms; its just that now there are potentially as many terms describing the action variable as there are rules.


Previous Table of Contents Next

Copyright © CRC Press LLC

HomeAccount InfoSubscribeLoginSearchMy ITKnowledgeFAQSitemapContact Us
Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement.