|
![](/images/dotclear.gif) |
[an error occurred while processing this directive]
There are 12 fuzzy blocks in the helicopter controller, and numerous fuzzy switches. Each control block receives several input variables, which are described by a collection of triangular membership functions. Also, the inputs are clipped to insure that they fall between a minimum and maximum value. These details are listed for each fuzzy control block in Table 17.1. The units for the values in the Min and Max columns of the table correspond to the units of the input variable they describe. The fuzzy switches are not listed; each switch has three inputs. The first input is the criteria for the switch, and is described by two membership functions. The other two inputs are the values to be switched between.
Table 1 Descriptions for the inputs of each fuzzy control block.
Block
| Input
| Number of Members
| Min
| Max
|
Longitudinal Acceleration
| IAS Eu u_dot
| 3 3 3
| 6 -30 30
| 30 30 1
|
Longitudinal Hold
| IAS Eu u_dot
| 3 3 3
| 6 -6 -1
| 30 6 1
|
Longitudinal Attitude
| E Theta q q_dot
| 5 3 3
| -6 -10 -10
| 6 10 10
|
Lateral Acceleration
| Ev v_dot
| 3 3
| -6 -1
| 6 1
|
Lateral Hold
| Ev v_dot
| 5 3
| -6 -1
| 6 1
|
Lateral Attitude
| E Phi p p_dot
| 5 3 3
| -6 -10 -10
| 6 10 10
|
Bank Hold
| IAS E Psi
| 2 3
| 30 -20
| 60 20
|
Heading Hold
| E Psi Psi_dot
| 5 3
| -10 -3
| 10 3
|
Bank Attitude
| E Phi p p_dot
| 7 3 3
| -10 -10 -10
| 10 10 10
|
Hover Heading
| IAS E Psi r r_dot
| 2 7 3 3
| 6 -30 -60 -30
| 12 30 60 30
|
Lateral Trim
| IAS Ev v_dot
| 2 3 3
| 6 -6 -1
| 12 6 1
|
Climb Rate
| IAS Ez_dot z_dot_dot
| 2 3 3
| 6 -3 -3
| 12 3 3
|
17.5 Search Implementation
The genetic algorithm used to determine the rule base for the helicopter fuzzy controller is the simple genetic algorithm described in Chapter 5. It employs the three classic genetic operators of reproduction, mutation, and crossover. To use the genetic algorithm as a search technique, two major issues must be addressed: (1) the coding of the parameters, and (2) the development of a fitness function.
Per normal, when we employ a genetic algorithm to tune, or in this case design, a fuzzy controller, we can search for the membership functions, for the rules, or for both. Here, the decision was made to search for the fuzzy rules because their values are far less intuitive than the fuzzy membership functions. These rules are encoded using a conventional multi-parameter, mapped, Gray coding (Gray, 1953), and appear in the bit string in the order they appear in the controller. The rules for each fuzzy control block are mapped using the range and number of bits shown in Table 17.2. The units for the values in the Min and Max columns of the table correspond to the units of the output variable associated with the rules they describe. Since there are 414 rules in the fuzzy controller, each mapped with 4 bits, the resulting encoded bit string is 4*414 = 1656 bits in length. Although the fuzzy architecture we are employing dramatically reduces the number of rules in the fuzzy controller, the search space of the genetic algorithm still contains 21656 = 3.2 * 10498 possible solutions. If we had employed a classical fuzzy architecture, searching for the rules required would simply be impractical.
Table 17.2 Parameters used to map the fuzzy rules into a bit string.
Block
| Number of Rules
| Min
| Max
| Bits
|
Longitudinal Acceleration Longitudinal Hold Longitudinal Attitude Lateral Acceleration Lateral Hold Lateral Attitude Bank Hold Heading Hold Bank Attitude Hover Heading Lateral Trim Climb Rate
| 27 27 45 9 15 45 6 15 63 126 18 18
| -20 -6 -2 -6 -6 -2 -20 -10 -2 -2 -0.2 -2
| 20 6 2 6 6 2 20 10 2 2 -0.2 2
| 4 4 4 4 4 4 4 4 4 4 4 4
|
|