design consideration
TRANSCRIPT
-
7/27/2019 design consideration
1/28
http://ehabhti.webs.com/Top%2020%20Mechatronics%20books.pdf
http://www.mytouristplaces.com/?p=79786
by Jared Mann
Applications Engineer
Bosch Rexroth Linear Motion and Assembly Technologies
High-performance mechatronic systems require a complex interplay of electrical and mechanical systems to
accomplish increasingly demanding tasks. The problem? Mechanical engineers and electrical engineers are
often educated within their single area of expertise and simply dont communicate as much as they should when
designing electromechanical systemsan oversight that can lead to higher costs and less reliable performance.
As a mechanical engineer involved in the sizing, selection, and start-up of mechatronic systems, Ive seen these
problems both during the design phase and in the field. To help bridge the gap between electrical and
mechanical engineers, Id like to offer my electrical colleagues five important things to consider in the design of
mechatronic systems.
Consideration 1: Total Cost of Ownership is everything
It really goes without saying that mechatronic systems should be designed to achieve the best possible
performance for the lowest cost over the long term. However, the need to document cost-savings on an annual
basis (rather than over the li fetime of the system) can be a powerful motivation for engineers to look for less
expensive components to keep the up-front cost of the mechatronic system low. Indeed, seemingly simple
components, that may seem like no-brainer decisions at the time, can cause painful headaches later.
For example, the use of less expensive bellows-type couplings between the motor or gearbox and the actuator
input shaft are a perfectly appropriate choice in many stepper-motor driven applications. In fact, a slightly
spongier coupling can provide a certain amount of damping in pick-and-place applications moving heavier loads.
The sacrifice, of course, is precision, and in many mechatronic systems, which are typically servo-motor driven,
its best to use stiffer elastomer-type couplings.
Using less expensive couplings may save money in the short term, but if the required stiffness is not achieved,
redesigning and retrofitting the motor mounting system can easily cost three or more times the money you initially
saved with the economy coupling. Plus, youll have the added cost of downtime and lost production, which is
not a good trade-off. Total Cost of Ownership (TCO) is really the single most important consideration in any
mechatronic system design, and the four remaining points will also contribute, ultimately, to lower TCO.
Consideration 2: Always look at the mechanics first
Its very important for electrical engineers to get involved in, or at least understand, the mechanical design of a
mechatronic system before forging ahead with the electrical design and controls. Trying to size and spec theelectrical components before the mechanics are defined can lead to wasted time and rework, since parameters
such as inertia and torque are heavily influenced by the choice of mechanical components. Bosch Rexroth
engineers use a system called LOSTPED to help them size and select the mechanical components that are best-
matched to the performance requirements of the application. LOSTPED is simply an acronym that stands for
Load, Orientation, Speed, Travel, Precision, Environment and Duty Cycle. In short, its a systematic review of all
the performance and design attributes that need to be considered, with the end goal being the optimum system
design for each application.
Not following this process can result in larger or more expensive mechanical systems than are needed. For
example, if the OEM or end user forces the design to accommodate a specific motor without considering the
LOSTPED criteria, larger mechanical components may be required to handle the motor torque or inertia than
those actually needed for the application. The same goes for control systems. If a ball-screw-driven actuator can
achieve .01 mm repeatability, you need to make sure that the encoder can meet or exceed this spec; otherwise
you wont be able to take advantage of the ball screws precision.
http://ehabhti.webs.com/Top%2020%20Mechatronics%20books.pdfhttp://ehabhti.webs.com/Top%2020%20Mechatronics%20books.pdfhttp://www.mytouristplaces.com/?p=79786http://www.mytouristplaces.com/?p=79786http://www.mytouristplaces.com/?p=79786http://ehabhti.webs.com/Top%2020%20Mechatronics%20books.pdf -
7/27/2019 design consideration
2/28
Its human nature to want to use components that are in stock or that the user is familiar with, such as motors,
drives, and controls that have been used on other machines, but each system deserves its own review to ensure
that the components and the overall system are optimized for cost and performance. Otherwise, you may leave
money on the table or fail to get the system performance you need.
Consideration 3: Dont try to fit a square peg into a round hole
The last example is common enough that its worth emphasizing as an important consideration of its own: Dont
try to fit a square peg into a round hole. Many electrical engineers are familiar with particular motors and drives,
or are pressured to save money by using components they already have. Using a motor thats physically too
large, however, can cause mounting issues. It could supply too much torque for the linear module to handle
(causing mechanical failure or breakage); or it could cause inertia and settling issues. Unpredictable settling can
be a particular problem in precision applications, such as dispensing, pin insertion, or precision assembly in
semiconductor and medical applications. If the motor is oversized and has too much inertia, the actuator may
have a difficult time achieving the desired position, resulting in longer overall cycle times than required.
Particularly in precision applications, you should try to size the mechanical and electrical components to achieve
as close to a 1-to-1 inertia match as possible. Keeping power consumption to the minimum required for the
application is also important for customers who are looking to reduce their environmental impact and make their
manufacturing operations more green.
Consideration 4: Dont forget Jerk
Jerk is the rate of change of acceleration, or the build-up of the acceleration of the axis. Think of the sensation
you feel when you take off up the next hill on a roller coaster. Its the limitation of the jerk parameter (how fast
youre accelerating) that lets you experience the acceleration of the roller coaster without developing whiplash.
Acceleration is important in mechatronic applications for achieving the desired move in the required time, but if
the jerk (how fast the system accelerates) is too high, vibrations could result and cause a loss of positioning or
premature wear of components. On the other hand, if electrical system designers dont consider the magnitude ofjerk required for the application, the motor may be undersized and not allow achievement of the required
performance.
Consideration 5: Cables must be managed
Cable management is one of the most frequently overlooked attributes in mechatronic systems. Dont make this
mistake it can be costly. Cables and cable tracks require physical space, and fast, multi-axis motion often
requires cables that can handle tight bends and high duty cycles. Particularly when designing the cable
management system, theoretical operation and space requirements can be very different from what is required in
the real world. Once installed in the machine or factory, the systems active environment may include adjacent
machinery, factory walls, posts or beams, and other parts or tooling that cause interference with the cable
management system. Proper strain relief for cables is also critical, because cables that are bent and twisted
beyond their specifications pose a safety hazard in the form of fire or short-circuits.
It all adds up to TCO
The ultimate goal in the design of any electromechanical system should be to achieve the optimum performance,
mechanically and electrically, to get the job done with the lowest total cost. In the real world, many such systems
are designed by teams of engineers from both disciplines, working in tandem. This is the ideal model, but with the
discipline of mechatronics being relatively young, the problems Ive described here happen all too often, because
few mechanical or electrical engineers have the experience or understanding of their counterpart in the other
discipline. The five tips above aim to help bridge this gap and prevent costly, unwelcome and time-consuming
surprises. And thousands of dollars in long-term savings by reducing the total cost of ownership? Who can beopposed to that?
-
7/27/2019 design consideration
3/28
PLCProgrammable logic controllers: Hardware, softwarearchitecture
Editors Note: This is the first part of a two-part article on the main distinguishing characteristics of the PLC:
its basic hardware and software architecture. The second part will cover how the program and input/output
(I/O) modules are scanned, and it will be available as a web exclusive in December
(www.isa.org/link/Basics_main).
In many respects, the architecture of the programmable logic controller (PLC) resembles a general-purpose
computer with specialized input/output (I/O) modules. However, some important characteristics distinguish
a PLC from a general-purpose computer. Most important, a PLC is much more reliable, designed for a
mean time between failures measured in years. Second, a PLC can be placed in an industrial environment
with its substantial amount of electrical noise, vibration, extreme temperatures, and humidity. Third, PLCs
are easily maintained by plant technicians.
Basic PLC hardware architecture
The basic architecture of a PLC consists of main componentsthe processor module, the power supply,
and the I/O modules. The processor module consists of the central processing unit (CPU) and memory. In
addition to a microprocessor, the CPU also contains at least an interface to a programming device and may
contain interfaces to remote I/O and other communication networks. The power supply is usually a
separate module, and the I/O modules are separate from the processor. The types of I/O modules include
discrete (on/off), analog (continuous variable), and special modules like motion control or high-speed
counters. The field devices are connected to the I/O modules.
-
7/27/2019 design consideration
4/28
Depending on the amount of I/O and the particular PLC processor, the I/O modules may be in the same
chassis as the processor and/or in one or more other chassis. Up until the late 1980s, the I/O modules in a
typical PLC system were in chassis separate from the PLC processor. In the more typical present-day PLC,
some of the I/O modules are present in the chassis that contains the processor. Some PLC systems allow
more than one processor in the same chassis. Smaller PLCs are often mounted on a DIN rail. The smallest
PLCs (often called micro-PLCs or nano-PLCs) include the power supply, processor, and all of the I/Os in
one package. Some micro-PLCs contain a built-in operator interface panel. For many micro-PLCs, the
amount of I/O is limited and not expandable.
Basic software, memory architecture (IEC 61131-3)
The IEC 61131-3 standard defines a memory and program model that follows modern software engineering
concepts. This model incorporates such features as top-down design, structured programming, hierarchical
organization, formal software interfaces, and program encapsulation. Fortunately, extensive training in
software engineering techniques is not necessary to become a proficient programmer. If fully implemented,
the model is reasonably complicated. The main disadvantages of the model are its complexity and its
contrast to the simplicity of the early PLCs.
-
7/27/2019 design consideration
5/28
The overall IEC 61131-3 memory program and memory model are described. (For various implementations
of the standard, visit www.isa.org/link/Erickson_PLC.) The IEC 61131-3 memory model (what the standard
calls the software model) is layeredeach layer hides many of the features of the layers beneath. Each of
the main elements is now described.
The configuration is the entire body of software (program and data) that corresponds to a PLC system.
Generally, a configuration equates with the program and data for one PLC. In large complex systems that
require multiple cooperating PLCs, each PLC has a separate configuration. A configuration communicates
with other IEC configurations within the control system through defined interfaces, called access paths. The
choice of the term configuration conflicts with the historic use of this term in the controls industry.
Generally, configuration refers to the process of specifying items such as the PLC processor model,
communication interfaces, remote I/O connections, memory allocation, and so on. Therefore, the vendors
producing IEC-compliant PLCs that use the term configuration in the historic sense refer to the entire body
of software with some other term, such as project.
A resource provides the support functions for the execution of programs. One or more resources constitute
a configuration. Normally, a resource exists within a PLC, but it may exist within a personal computer to
support program testing. One of the main functions of a resource is to provide an interface between a
program and the physical I/O of the PLC.
A program generally consists of an interconnection offunction blocks, each of which may be written in
any of the IEC languages. A function block or program is also called a program organization unit. In
addition to the function blocks, the program contains declarations of physical inputs/outputs and any
variables local to the program. A program can read and write to I/O channels, global variables, and
communicate with other programs.Access paths provide the means to transfer information between
configurations. Tasks control the execution of the program or parts of a program.
A task controls one or more programs and/or function blocks to execute. The execution of a program
implies that all of the function blocks in the program are processed once. The execution of a function block
implies that all of the software elements of the function block are processed once. There are no implied
mechanisms for program execution. In order for a program to be executed, it must be assigned to a task,
and the task must be configured to execute continuously, periodically, or with a trigger.
Variables are declared within the different software elements of the model. A local variable is defined at
the software element and can only be accessed by the software element. Local variables can be defined
for the function block, program, resource, or configuration.
A global variable defined for a configuration, resource, or program is accessible to all elements contained
in it. For example, a global configuration variable is accessible to all software elements in the configuration.
A global program variable is accessible to all function blocks in the program.
-
7/27/2019 design consideration
6/28
Directly represented variables are memory and I/O locations in the PLC. IEC 61131-3 defines formats for
references to such data. However, many implementers of the standard use their own formats, which are
not consistent with the IEC standard.
ABOUT THE AUTHOR
Dr. Kelvin T. Erickson is a professor of Electrical & Computer Engineering at the Missouri University of
Science and Technology (formerly the University of Missouri-Rolla, UMR) in Rolla. His primary areas of
interest are in manufacturing automation and process control. He is a registered Professional Engineer
(Control Systems) in Missouri. He is a member of ISA and senior member of IEEE.
Distinguish between mechanical, electricaland pneumatic actuators.1)A pneumatic actuatorconverts energy formed by compressed air at high pressure into either
linear or rotary motion. Pneumatic energy is desirable for main engine controls because it can quickly
respond in starting and stopping as the power source does not need to be stored in reserve for
operation.
An electric actuatoris powered by motor that converts electrical energy to mechanical torque. The
electrical energy is used to actuate equipment such as multi-turn valves. It is one of the cleanest and
most readily available forms of actuator because it does not involve oil.
A mechanical actuatorfunctions by converting rotary motion into linear motion to execute
movement. It involves gears, rails, pulleys, chains and other devices to operate.
2)
Electrical Actuators vs. Hydraulic and Pneumatic CylindersElectrical Linear Actuators Hydraulic Cylinders Pneumatic Cylinders
Installation All electric operation requiressimple wiring.
Requires expensive
plumbing, filtering, pumps,
etc.Requires expensive
plumbing, filtering, pumps,
etc.
-
7/27/2019 design consideration
7/28
Accuracy Very repeatable (to 0,013mm) and rigid, multi-stop
capabilities.Requires expensive position
sensing and precise
electrohydraulic valving to
implement, has tendency to
creep.
Difficult to achieve.Requires
expensive position sensing
and precise valving to
implement, has tendency to
creep.Control Directly compatible with
standard programmable
controls allowing easy
automatic operation of
complex motion sequences.
Requires electronic/fluid
interfaces and exotic valve
designs. Hysteresis, dead
zone, supply pressure and
temperature changes
complicate control.
Inherently non-linear,
compressible power source
severely complicates servo
control.
Speed Smooth, variable speed withfrom 0 to 2 m/s with
controlled accleration.Difficult to control accurately.
Varies with temperature and
wear. Stick slip can be a
problem.
More susceptible to stick slip
and varying load. Well-suited
for light high speed
applications.Reliability Repeatable, reproducible
performance during the entire
product life. Very little
maintenance required.
Very contamination sensitive.
Require regular maintenance.
Seals are prone to leak.
Reliable with diligent
maintenance.
Very contamination sensitive.
Air sources require proper
filtration. Good reliability, but
usually many system
components are involved.Power Up to 40 000 N Virtually unlimited force. Most
powerful.Up to 25 000 N. Typically
used below 6000 N.Life expectancy Up to millions of cycles at
rated load. Easy to predict.Dependent on design and
seal wear, usually good.Dependent on design and
seal wear, usually good.Environment Standard models rated for -
30 to +70 C. Inherently
clean and energy efficient.Temperature extremes can
be a major problem. Seals
are prone to leak. Waste
disposal is increasingly
problematic.
Temperature extremes can
be a major problem. Seals
prone to leak. Air-borne oil
can be a problem.
Load holding Acme screw units areselflocking if power fails. Fail-
safe brakes available for ball
screw models.
Complex back-up safety
devices must be used.Complex back-up safety
devices must be used.
Cost Moderate initial cost, very lowoperating cost.
Components often cost less,
but installation andmaintenance are increased.
Hydraulic power unit cost is
high if not pre-existing.
Components often cost less,
but installation andmaintenance are increased.
OPEN LOOP AND CLOSED LOOP
Control Systems Engineering
-
7/27/2019 design consideration
8/28
Open and Closed Loop Systems
The most fundamental concept for control systems engineering is the block
diagram. The simplest element of a block diagram looks like this:
Figure 1. Open loop controlsystem.
This is also a complete system by itself. This system takes the input andgenerates output through the action of the plant. The details of the
internal workings of the plant are unspecified, and to some extentirrelevant. All we are concerned with here is the relationship between theinput and output. A well-behaved system might have the output proportionalto the input, but it needn't be so. Your stove top burner is an example.The input is the control knob. You turn it to one of its settings,somewhere between off and fully on. The plant is the burner itself, whichoutputs heat. In this case the amount of heat is proportional to theinput.
A system which operates in this manner is known as an open-loop system.This distinguishes it from another type known asclosed-loop systems. Thesesystems utilize feedback, which is derived from the output. Here is a blockdiagram of a closed-loop system.
Figure 2. Closed loop control system.
Continuing with the kitchen theme, your oven is a closed loop system. Youinput the temperature you desire and the plant (oven) outputs heat. As the
-
7/27/2019 design consideration
9/28
oven heats up, the thermostat provides feedback to the oven, which in turnreduces the heat output. Eventually, steady-state is reached at the desiredtemperature. Now, it is possible to make this system work with an open-loopsystem, but the design engineer must have near-perfect knowledge of howmuch heat output will sustain the desired operating temperature. If he isinaccurate or something changes in the heat balance equation, the oven will
not operate at the desired temperature.
Here is a short comparison of the two fundamental types of control systems:
Table 1. Comparison of open and closed loop control systems.
open loop systems closed loop systems
simple design more accurate
accuracy depends on calibrationless sensitive to change inenvironment
unlikely to become unstable smooth response
wider bandwidthcan become unstable
If we restrict ourselves to linear systems, then we may take over a widerange of mathematics especially suited for these systems. The techniqueuses the Laplace transform. The details are unimportant for now, but itprovides a great simplification. Let me explain how.
First, suppose we have an electrical circuit. If we provide input in theform of a voltage that varies with time, vin(t),then typically the outputvout(t) is the solution to some complicated set of differential equations.But if you convert the input and output into their Laplace transforms,where
R(s) = {vin(t)} is the Laplace transform of the input, and
C(s) = {vout(t)} is the Laplace transform of the output.
The new independent variable is "s", which can be interpreted as thespatial frequency, with units of cycles/meter. It is also possible toreverse the Laplace transform, therefore recovering the output in itsoriginal form (i.e. voltage or current as a function of time). Forexample -1{R(s)} = vin(t).
Here is a short table of Laplace transform pairs for commonly encounteredfunctions:
Table 2. Laplace transform pairs.
Time domain: f(t)= -1{F(s)} Laplace domain: F(s) = {f(t)}
a (constant) 1/s
at (ramp) a/s2
e-at (exponential) 1/(s + a)
sin(at) a/(s2 + a2)
cos(at) s/(s2
+ a2
)
-
7/27/2019 design consideration
10/28
The Transfer Function
For linear systems, the simple relationship between R(s) and C(s):
C(s) = G(s) R(s)
where G(s) is known as the transfer function. The transfer function can bedetermined from detailed analysis of the plant, using differentialequations. So this method is not particularly simple if this were the onlyproblem to solve. The great simplification occurs when plants are combinedwith other plants and feedback loops. If the transfer function of eachplant is known, then they may be combined using ordinary algebraic methodsinstead of differential equations. All that is required is to obtain thesolution is to take the inverse Laplace transform after all themanipulation is completed. Its similar to reducing a complicated circuit into an equivalent impedance and voltage (Thevenin equivalent).
The method can be summarized in steps:
Change variables from time "t" to spatial frequency "s" using the Laplacetransform.
Algebraically manipulate combinations of transfer functions to find therelationship between the input and output (i.e. a single transferfunction).
Compute the output in s.
Change back to the original variable t using the inverse Laplace transform.
Let's see this in action on a closed-loop system. All the signals are nowrepresented as functions of the new variable s.
Figure 3 . Closed loop system in Laplace domain.
Here, we have two elements, the plant with transfer function, G, andfeedback transfer function, H. The action of the summing junction is tosubtract the feedback signal B(s) from the input R(s) with the result knownas the error signal, E(s) = R(s) - B(s).
We exploit the properties of Laplace transforms and write the followingrelationships:
C(s) = G(s) E(s)
-
7/27/2019 design consideration
11/28
E(s) = R(s) - B(s)
B(s) = H(s) C(s)
If we want to know the relationship between the output and the input (andwho wouldn't?) we eliminate the extra variable.
C = G E
= G(R-B)
= G(R - HC)
C(1+GH) = GR
C/R = G/(1+GH)
Again we have a relatively simple relationship between the input and theoutput. In fact the term G/(1+GH) is also a transfer function for theclosed-loop system. If we were to give a separate label like CLTF (closed-loop transfer function), then
C(s) = CLTF(s)R(s)
This process is known as block reduction. It turns out that it is alwayspossible to reduce a complication block diagram into a single transferfunction. If you were to analyze some complicated weapons system ofcomputers and hardware, eventually you could (theoretically) reduce itsoperation to a few transfer functions which connect the input variables tothe output variables.
This is the reverse process of the systems approach where large projectsare divided into smaller ones. We would expect it to work both ways ofcourse. When learning how things work it is always better to start with thebig picture and then focus on the details as they become important.
System Response
Since the majority of control systems used in weapons are closed-loopsystems, we now consider how a generic system will respond to a step changein the input. An example might be a missile on a heading of 330o respondingto a new input course of 270o. How the system responds will depend on the
exact nature of the transfer function. There are three main ways in whichthe system can respond:
Under-damped response. The system will change the output quickly to the newvalue but in the process will overshoot the desired output. The output willsettle into the new value after one or more oscillations. If we plot theresponse, it might looklike:
-
7/27/2019 design consideration
12/28
Figure 4. Response of under-damped system.
The output will always overshoot the desired output, and the maximum valueis called thepeak overshoot. When the output oscillates (goes above andbelow the final value at least once), the systems is considered to beunder-damped. The length of time it takes the system to reach its finalvalue is called the settling time.
Over-damped. In this case, the response is quite slow. The output willsluggishly approach its final value and there will be no overshoot.
Figure 5. Response of over-damped system.
Critically damped. This is the dividing line between over and underdamping. Critically damping may or may not overshoot the final value, butthere will be no oscillation. Critical damping reaches it final value inthe minimum amount of time. There is only a small range of parameters whichwill achieve critical damping, and therefore it is rarely achieved.Critical damping should be thought of as an idealized situation thatdifferentiates between over and under damping.
-
7/27/2019 design consideration
13/28
Figure 6. Response of critically damped system.
It is not always clear that the system should be designed to be critically
damped, it depends on the application. For instance, if the system cannottolerate any overshoot whatsoever, it would be wise to make the systemslightly over-damped. On the other hand, if the input is constantlychanging, and the quickest initial response is needed, then the systemshould be slightly under-damped.
Example: How do you classify the shock absorbing system on a car?
When the shocks are new, the car will respond quickly to a step change ininput (i.e. a bump in the road). The car will usually overshoot and may ormay not oscillate. The system is probably just slightly under-damped.
As the shocks age, the dampers wear out, and the system will become more
under-damped. When a bump is encountered, the car will oscillate a fewcycles before settling down.
Fuzzy control system
From Wikipedia, the free encyclopedia
"Fuzzy control" and "Fuzzy Control" redirect here. For the rock band, seeFuzzy Control (band).
This article includes alist of references, related reading orexternal links, butits
sources remain unclear because it lacksinline citations. Pleaseimprovethis article
by introducing more precise citations. (May 2011)
This articleis written likea manual or guidebook. Please helprewrite this
articlefrom a descriptive,neutral point of view, and remove advice or
instruction. (February 2010)
http://en.wikipedia.org/wiki/Fuzzy_Control_(band)http://en.wikipedia.org/wiki/Fuzzy_Control_(band)http://en.wikipedia.org/wiki/Fuzzy_Control_(band)http://en.wikipedia.org/wiki/Wikipedia:Citing_sourceshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sourceshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sourceshttp://en.wikipedia.org/wiki/Wikipedia:External_linkshttp://en.wikipedia.org/wiki/Wikipedia:External_linkshttp://en.wikipedia.org/wiki/Wikipedia:External_linkshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sources#Inline_citationshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sources#Inline_citationshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sources#Inline_citationshttp://en.wikipedia.org/wiki/Wikipedia:WikiProject_Fact_and_Reference_Checkhttp://en.wikipedia.org/wiki/Wikipedia:WikiProject_Fact_and_Reference_Checkhttp://en.wikipedia.org/wiki/Wikipedia:WikiProject_Fact_and_Reference_Checkhttp://en.wikipedia.org/wiki/Wikipedia:NOT#GUIDEhttp://en.wikipedia.org/wiki/Wikipedia:NOT#GUIDEhttp://en.wikipedia.org/wiki/Wikipedia:NOT#GUIDEhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_viewhttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_viewhttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_viewhttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_viewhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/wiki/Wikipedia:NOT#GUIDEhttp://en.wikipedia.org/wiki/Wikipedia:WikiProject_Fact_and_Reference_Checkhttp://en.wikipedia.org/wiki/Wikipedia:Citing_sources#Inline_citationshttp://en.wikipedia.org/wiki/Wikipedia:External_linkshttp://en.wikipedia.org/wiki/Wikipedia:Citing_sourceshttp://en.wikipedia.org/wiki/Fuzzy_Control_(band) -
7/27/2019 design consideration
14/28
A fuzzy control system is acontrol systembased onfuzzy logicamathematicalsystem that
analyzesanaloginput values in terms oflogicalvariables that take on continuous values between 0 and 1,
in contrast to classical ordigitallogic, which operates on discrete values of either 1 or 0 (true or false,
respectively).
Contents
[hide]
1 Overview
2 History and applications
3 Fuzzy sets
o 3.1 Fuzzy control in detail
o 3.2 Building a fuzzy controller
4 Antilock brakes
5 Logical interpretation of fuzzy control
6 See also
7 References
8 Further reading
9 External links
Overview[edit]
Fuzzy logic is widely used in machine control. The term "fuzzy" refers to the fact that the logic involved can
deal with concepts that cannot be expressed as "true" or "false" but rather as "partially true". Although
alternative approaches such as genetic algorithms and neural networks can perform just as well as fuzzy
logic in many cases, fuzzy logic has the advantage that the solution to the problem can be cast in terms
that human operators can understand, so that their experience can be used in the design of the controller.
This makes it easier to mechanize tasks that are already successfully performed by humans.
History and applications[edit]
Fuzzy logic was first proposed byLotfi A. Zadehof the University of California at Berkeley in a 1965 paper.
He elaborated on his ideas in a 1973 paper that introduced the concept of "linguistic variables", which in
this article equates to a variable defined as a fuzzy set. Other research followed, with the first industrial
application, a cementkilnbuilt in Denmark, coming on line in 1975.
Fuzzy systems were initially implemented in Japan.
Interest in fuzzy systems was sparked by Seiji Yasunobu and Soji Miyamoto ofHitachi, who in 1985
provided simulations that demonstrated the feasibility of fuzzy control systems for the Sendairailway.
http://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Fuzzy_logichttp://en.wikipedia.org/wiki/Fuzzy_logichttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Analog_signalhttp://en.wikipedia.org/wiki/Analog_signalhttp://en.wikipedia.org/wiki/Analog_signalhttp://en.wikipedia.org/wiki/Mathematical_logichttp://en.wikipedia.org/wiki/Mathematical_logichttp://en.wikipedia.org/wiki/Mathematical_logichttp://en.wikipedia.org/wiki/Digital_datahttp://en.wikipedia.org/wiki/Digital_datahttp://en.wikipedia.org/wiki/Digital_datahttp://en.wikipedia.org/wiki/Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Overviewhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Overviewhttp://en.wikipedia.org/wiki/Fuzzy_control_system#History_and_applicationshttp://en.wikipedia.org/wiki/Fuzzy_control_system#History_and_applicationshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_setshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_setshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_control_in_detailhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_control_in_detailhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Building_a_fuzzy_controllerhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Building_a_fuzzy_controllerhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Antilock_brakeshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Antilock_brakeshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Logical_interpretation_of_fuzzy_controlhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Logical_interpretation_of_fuzzy_controlhttp://en.wikipedia.org/wiki/Fuzzy_control_system#See_alsohttp://en.wikipedia.org/wiki/Fuzzy_control_system#See_alsohttp://en.wikipedia.org/wiki/Fuzzy_control_system#Referenceshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Referenceshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Further_readinghttp://en.wikipedia.org/wiki/Fuzzy_control_system#Further_readinghttp://en.wikipedia.org/wiki/Fuzzy_control_system#External_linkshttp://en.wikipedia.org/wiki/Fuzzy_control_system#External_linkshttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=1http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=1http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=1http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=2http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=2http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=2http://en.wikipedia.org/wiki/Lotfi_A._Zadehhttp://en.wikipedia.org/wiki/Lotfi_A._Zadehhttp://en.wikipedia.org/wiki/Lotfi_A._Zadehhttp://en.wikipedia.org/wiki/Kilnhttp://en.wikipedia.org/wiki/Kilnhttp://en.wikipedia.org/wiki/Kilnhttp://en.wikipedia.org/wiki/Hitachihttp://en.wikipedia.org/wiki/Hitachihttp://en.wikipedia.org/wiki/Hitachihttp://en.wikipedia.org/wiki/Sendaihttp://en.wikipedia.org/wiki/Sendaihttp://en.wikipedia.org/wiki/Sendaihttp://en.wikipedia.org/wiki/Sendaihttp://en.wikipedia.org/wiki/Hitachihttp://en.wikipedia.org/wiki/Kilnhttp://en.wikipedia.org/wiki/Lotfi_A._Zadehhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=2http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=1http://en.wikipedia.org/wiki/Fuzzy_control_system#External_linkshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Further_readinghttp://en.wikipedia.org/wiki/Fuzzy_control_system#Referenceshttp://en.wikipedia.org/wiki/Fuzzy_control_system#See_alsohttp://en.wikipedia.org/wiki/Fuzzy_control_system#Logical_interpretation_of_fuzzy_controlhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Antilock_brakeshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Building_a_fuzzy_controllerhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_control_in_detailhttp://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_setshttp://en.wikipedia.org/wiki/Fuzzy_control_system#History_and_applicationshttp://en.wikipedia.org/wiki/Fuzzy_control_system#Overviewhttp://en.wikipedia.org/wiki/Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Digital_datahttp://en.wikipedia.org/wiki/Mathematical_logichttp://en.wikipedia.org/wiki/Analog_signalhttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Fuzzy_logichttp://en.wikipedia.org/wiki/Control_system -
7/27/2019 design consideration
15/28
Their ideas were adopted, and fuzzy systems were used to control accelerating, braking, and stopping
when the line opened in 1987.
In 1987, Takeshi Yamakawa demonstrated the use of fuzzy control, through a set of simple dedicated
fuzzy logic chips, in an "inverted pendulum" experiment. This is a classic control problem, in which a
vehicle tries to keep a pole mounted on its top by a hinge upright by moving back and forth.
Yamakawa subsequently made the demonstration more sophisticated by mounting a wine glass
containing water and even a live mouse to the top of the pendulum: the system maintained stability in
both cases. Yamakawa eventually went on to organize his own fuzzy-systems research lab to help
exploit his patents in the field.
Japanese engineers subsequently developed a wide range of fuzzy systems for both industrial and
consumer applications. In 1988 Japan established the Laboratory for International Fuzzy Engineering(LIFE), a cooperative arrangement between 48 companies to pursue fuzzy research. The automotive
company Volkswagen was the only foreign corporate member of LIFE, dispatching a researcher for a
duration of three years.
Japanese consumer goods often incorporate fuzzy systems. Matsushita vacuum cleaners use
microcontrollers running fuzzy algorithms to interrogate dust sensors and adjust suction power
accordingly. Hitachi washing machines use fuzzy controllers to load-weight, fabric-mix, and dirt
sensors and automatically set the wash cycle for the best use of power, water, and detergent.
Canon developed anautofocusingcamera that uses acharge-coupled device(CCD) to measure the
clarity of the image in six regions of its field of view and use the information provided to determine if
the image is in focus. It also tracks the rate of change of lens movement during focusing, and controls
its speed to prevent overshoot. The camera's fuzzy control system uses 12 inputs: 6 to obtain the
current clarity data provided by the CCD and 6 to measure the rate of change of lens movement. The
output is the position of the lens. The fuzzy control system uses 13 rules and requires 1.1 kilobytes of
memory.
An industrialair conditionerdesigned by Mitsubishi uses 25 heating rules and 25 cooling rules. A
temperature sensor provides input, with control outputs fed to an inverter, a compressor valve, and a
fan motor. Compared to the previous design, the fuzzy controller heats and cools five times faster,
reduces power consumption by 24%, increases temperature stability by a factor of two, and uses fewer
sensors.
Other applications investigated or implemented include: character and handwriting recognition; optical
fuzzy systems; robots, including one for making Japanese flower arrangements; voice-controlledrobot
helicopters (hovering is a "balancing act" rather similar to the inverted pendulum problem); control of
flow of powders in film manufacture; elevator systems; and so on.
http://en.wikipedia.org/wiki/Inverted_pendulumhttp://en.wikipedia.org/wiki/Inverted_pendulumhttp://en.wikipedia.org/wiki/Inverted_pendulumhttp://en.wikipedia.org/wiki/Autofocushttp://en.wikipedia.org/wiki/Autofocushttp://en.wikipedia.org/wiki/Autofocushttp://en.wikipedia.org/wiki/Charge-coupled_devicehttp://en.wikipedia.org/wiki/Charge-coupled_devicehttp://en.wikipedia.org/wiki/Charge-coupled_devicehttp://en.wikipedia.org/wiki/Air_conditionerhttp://en.wikipedia.org/wiki/Air_conditionerhttp://en.wikipedia.org/wiki/Air_conditionerhttp://en.wikipedia.org/wiki/Inverter_(logic_gate)http://en.wikipedia.org/wiki/Inverter_(logic_gate)http://en.wikipedia.org/wiki/Inverter_(logic_gate)http://en.wikipedia.org/wiki/Voice_controlhttp://en.wikipedia.org/wiki/Voice_controlhttp://en.wikipedia.org/wiki/Voice_controlhttp://en.wikipedia.org/wiki/Voice_controlhttp://en.wikipedia.org/wiki/Inverter_(logic_gate)http://en.wikipedia.org/wiki/Air_conditionerhttp://en.wikipedia.org/wiki/Charge-coupled_devicehttp://en.wikipedia.org/wiki/Autofocushttp://en.wikipedia.org/wiki/Inverted_pendulum -
7/27/2019 design consideration
16/28
Work on fuzzy systems is also proceeding in the US and Europe, though on a less extensive scale than in
Japan.
TheUS Environmental Protection Agencyhas investigated fuzzy control forenergy-efficientmotors,
andNASAhas studied fuzzy control for automated space docking: simulations show that a fuzzy
control system can greatly reduce fuel consumption.
Firms such as Boeing, General Motors, Allen-Bradley, Chrysler, Eaton, and Whirlpool have worked on
fuzzy logic for use in low-power refrigerators, improved automotive transmissions, and energy-efficient
electric motors.
In 1995 Maytag introduced an "intelligent"dishwasherbased on a fuzzy controller and a "one-stop
sensing module" that combines athermistor, for temperature measurement; a conductivity sensor, to
measure detergent level from the ions present in the wash; a turbidity sensor that measures scattered
and transmitted light to measure the soiling of the wash; and a magnetostrictive sensor to read spin
rate. The system determines the optimum wash cycle for any load to obtain the best results with the
least amount of energy, detergent, and water. It even adjusts for dried-on foods by tracking the last
time the door was opened, and estimates the number of dishes by the number of times the door was
opened.
Research and development is also continuing on fuzzy applications in software, as opposed tofirmware,
design, including fuzzyexpert systemsand integration of fuzzy logic withneural-networkand so-called
adaptive "genetic" software systems, with the ultimate goal of building "self-learning" fuzzy-control systems.
Fuzzy sets[edit]
See also:fuzzy set
This sectionmay beunbalancedtowards certain viewpoints. Pleaseimprove the
articleby adding information on neglected viewpoints, or discuss the issue on thetalk
page.(April 2011)
The input variables in a fuzzy control system are in general mapped by sets of membership functions
similar to this, known as "fuzzy sets". The process of converting a crisp input value to a fuzzy value is
called "fuzzification".
A control system may also have various types ofswitch, or "ON-OFF", inputs along with its analog inputs,
and such switch inputs of course will always have a truth value equal to either 1 or 0, but the scheme can
deal with them as simplified fuzzy functions that happen to be either one value or another.
Given "mappings" of input variables into membership functions andtruth values,
themicrocontrollerthenmakes decisionsfor what action to take, based on a set of "rules", each of the
form:
http://en.wikipedia.org/wiki/US_Environmental_Protection_Agencyhttp://en.wikipedia.org/wiki/US_Environmental_Protection_Agencyhttp://en.wikipedia.org/wiki/US_Environmental_Protection_Agencyhttp://en.wikipedia.org/wiki/Efficient_energy_usehttp://en.wikipedia.org/wiki/Efficient_energy_usehttp://en.wikipedia.org/wiki/Efficient_energy_usehttp://en.wikipedia.org/wiki/NASAhttp://en.wikipedia.org/wiki/NASAhttp://en.wikipedia.org/wiki/NASAhttp://en.wikipedia.org/wiki/Dishwasherhttp://en.wikipedia.org/wiki/Dishwasherhttp://en.wikipedia.org/wiki/Dishwasherhttp://en.wikipedia.org/wiki/Thermistorhttp://en.wikipedia.org/wiki/Thermistorhttp://en.wikipedia.org/wiki/Thermistorhttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Expert_systemhttp://en.wikipedia.org/wiki/Expert_systemhttp://en.wikipedia.org/wiki/Expert_systemhttp://en.wikipedia.org/wiki/Neural_networkhttp://en.wikipedia.org/wiki/Neural_networkhttp://en.wikipedia.org/wiki/Neural_networkhttp://en.wikipedia.org/wiki/Genetic_algorithmhttp://en.wikipedia.org/wiki/Genetic_algorithmhttp://en.wikipedia.org/wiki/Genetic_algorithmhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=3http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=3http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=3http://en.wikipedia.org/wiki/Fuzzy_sethttp://en.wikipedia.org/wiki/Fuzzy_sethttp://en.wikipedia.org/wiki/Fuzzy_sethttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view#Undue_weighthttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view#Undue_weighthttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view#Undue_weighthttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/wiki/Talk:Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Talk:Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Talk:Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Talk:Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Switchhttp://en.wikipedia.org/wiki/Switchhttp://en.wikipedia.org/wiki/Switchhttp://en.wikipedia.org/wiki/Map_(mathematics)http://en.wikipedia.org/wiki/Map_(mathematics)http://en.wikipedia.org/wiki/Map_(mathematics)http://en.wikipedia.org/wiki/Truth_valuehttp://en.wikipedia.org/wiki/Truth_valuehttp://en.wikipedia.org/wiki/Truth_valuehttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Decision_makinghttp://en.wikipedia.org/wiki/Decision_makinghttp://en.wikipedia.org/wiki/Decision_makinghttp://en.wikipedia.org/wiki/Decision_makinghttp://en.wikipedia.org/wiki/Microcontrollerhttp://en.wikipedia.org/wiki/Truth_valuehttp://en.wikipedia.org/wiki/Map_(mathematics)http://en.wikipedia.org/wiki/Switchhttp://en.wikipedia.org/wiki/Talk:Fuzzy_control_systemhttp://en.wikipedia.org/wiki/Talk:Fuzzy_control_systemhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edithttp://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view#Undue_weighthttp://en.wikipedia.org/wiki/Fuzzy_sethttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=3http://en.wikipedia.org/wiki/Genetic_algorithmhttp://en.wikipedia.org/wiki/Neural_networkhttp://en.wikipedia.org/wiki/Expert_systemhttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Thermistorhttp://en.wikipedia.org/wiki/Dishwasherhttp://en.wikipedia.org/wiki/NASAhttp://en.wikipedia.org/wiki/Efficient_energy_usehttp://en.wikipedia.org/wiki/US_Environmental_Protection_Agency -
7/27/2019 design consideration
17/28
IF brake temperature IS warm AND speed IS not very fast
THEN brake pressure IS slightly decreased.
In this example, the two input variables are "brake temperature" and "speed" that have values defined as
fuzzy sets. The output variable, "brake pressure" is also defined by a fuzzy set that can have values like
"static" or "slightly increased" or "slightly decreased" etc.
This rule by itself is very puzzling since it looks like it could be used without bothering with fuzzy logic, but
remember that the decision is based on a set of rules:
All the rules that apply are invoked, using the membership functions and truth values obtained from the
inputs, to determine the result of the rule.
This result in turn will be mapped into a membership function and truth value controlling the outputvariable.
These results are combined to give a specific ("crisp") answer, the actual brake pressure, a procedure
known as "defuzzification".
This combination of fuzzy operations andrule-based"inference" describes a "fuzzy expert system".
Traditional control systems are based on mathematical models in which the control system is described
using one or moredifferential equationsthat define the system response to its inputs. Such systems are
often implemented as "PID controllers" (proportional-integral-derivative controllers). They are the products
of decades of development and theoretical analysis, and are highly effective.
If PID and other traditional control systems are so well-developed, why bother with fuzzy control? It has
some advantages. In many cases, the mathematical model of the control process may not exist, or may be
too "expensive" in terms of computer processing power and memory, and a system based on empirical
rules may be more effective.
Furthermore, fuzzy logic is well suited to low-cost implementations based on cheap sensors, low-resolution
analog-to-digital converters, and 4-bit or 8-bit one-chip microcontroller chips. Such systems can be easily
upgraded by adding new rules to improve performance or add new features. In many cases, fuzzy control
can be used to improve existing traditional controller systems by adding an extra layer of intelligence to the
current control method.
Fuzzy control in detail[edit]
Fuzzy controllers are very simple conceptually. They consist of an input stage, a processing stage, and an
output stage. The input stage maps sensor or other inputs, such as switches, thumbwheels, and so on, to
the appropriate membership functions and truth values. The processing stage invokes each appropriate
rule and generates a result for each, then combines the results of the rules. Finally, the output stage
converts the combined result back into a specific control output value.
http://en.wikipedia.org/wiki/Defuzzificationhttp://en.wikipedia.org/wiki/Defuzzificationhttp://en.wikipedia.org/wiki/Defuzzificationhttp://en.wikipedia.org/wiki/Rule-based_systemhttp://en.wikipedia.org/wiki/Rule-based_systemhttp://en.wikipedia.org/wiki/Rule-based_systemhttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Differential_equationhttp://en.wikipedia.org/wiki/Differential_equationhttp://en.wikipedia.org/wiki/Differential_equationhttp://en.wikipedia.org/wiki/PID_controllerhttp://en.wikipedia.org/wiki/PID_controllerhttp://en.wikipedia.org/wiki/PID_controllerhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=4http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=4http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=4http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=4http://en.wikipedia.org/wiki/PID_controllerhttp://en.wikipedia.org/wiki/Differential_equationhttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Rule-based_systemhttp://en.wikipedia.org/wiki/Defuzzification -
7/27/2019 design consideration
18/28
The most common shape of membership functions is triangular, although trapezoidal and bell curves are
also used, but the shape is generally less important than the number of curves and their placement. From
three to seven curves are generally appropriate to cover the required range of an input value, or the
"universe of discourse" in fuzzy jargon.
As discussed earlier, the processing stage is based on a collection of logic rules in the form of IF-THEN
statements, where the IF part is called the "antecedent" and the THEN part is called the "consequent".
Typical fuzzy control systems have dozens of rules.
Consider a rule for a thermostat:
IF (temperature is "cold") THEN (heater is "high")
This rule uses the truth value of the "temperature" input, which is some truth value of "cold", to generate aresult in the fuzzy set for the "heater" output, which is some value of "high". This result is used with the
results of other rules to finally generate the crisp composite output. Obviously, the greater the truth value of
"cold", the higher the truth value of "high", though this does not necessarily mean that the output itself will
be set to "high" since this is only one rule among many. In some cases, the membership functions can be
modified by "hedges" that are equivalent to adjectives. Common hedges include "about", "near", "close to",
"approximately", "very", "slightly", "too", "extremely", and "somewhat". These operations may have precise
definitions, though the definitions can vary considerably between different implementations. "Very", for one
example, squares membership functions; since the membership values are always less than 1, this
narrows the membership function. "Extremely" cubes the values to give greater narrowing, while
"somewhat" broadens the function by taking the square root.
In practice, the fuzzy rule sets usually have several antecedents that are combined using fuzzy operators,
such as AND, OR, and NOT, though again the definitions tend to vary: AND, in one popular definition,
simply uses the minimum weight of all the antecedents, while OR uses the maximum value. There is also a
NOT operator that subtracts a membership function from 1 to give the "complementary" function.
There are several ways to define the result of a rule, but one of the most common and simplest is the "max-
min"inferencemethod, in which the output membership function is given the truth value generated by the
premise.
Rules can be solved in parallel in hardware, or sequentially in software. The results of all the rules that
have fired are "defuzzified" to a crisp value by one of several methods. There are dozens, in theory, each
with various advantages or drawbacks.
The "centroid" method is very popular, in which the "center of mass" of the result provides the crisp value.
Another approach is the "height" method, which takes the value of the biggest contributor. The centroid
method favors the rule with the output of greatest area, while the height method obviously favors the rule
with the greatest output value.
http://en.wikipedia.org/wiki/Universe_of_discoursehttp://en.wikipedia.org/wiki/Universe_of_discoursehttp://en.wikipedia.org/wiki/Universe_of_discoursehttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Inferencehttp://en.wikipedia.org/wiki/Universe_of_discourse -
7/27/2019 design consideration
19/28
The diagram below demonstrates max-min inferencing and centroid defuzzification for a system with input
variables "x", "y", and "z" and an output variable "n". Note that "mu" is standard fuzzy-logic nomenclature
for "truth value":
Notice how each rule provides a result as a truth value of a particular membership function for the output
variable. In centroid defuzzification the values are OR'd, that is, the maximum value is used and values are
not added, and the results are then combined using a centroid calculation.
Fuzzy control system design is based on empirical methods, basically a methodical approach to trial-and-
error. The general process is as follows:
Document the system's operational specifications and inputs and outputs.
Document the fuzzy sets for the inputs.
Document the rule set.
Determine the defuzzification method.
Run through test suite to validate system, adjust details as required.
Complete document and release to production.
http://en.wikipedia.org/wiki/Trial-and-errorhttp://en.wikipedia.org/wiki/Trial-and-errorhttp://en.wikipedia.org/wiki/Trial-and-errorhttp://en.wikipedia.org/wiki/Trial-and-errorhttp://en.wikipedia.org/wiki/File:Fuzzy_control_-_centroid_defuzzification_using_max-min_inferencing.pnghttp://en.wikipedia.org/wiki/Trial-and-errorhttp://en.wikipedia.org/wiki/Trial-and-error -
7/27/2019 design consideration
20/28
As a general example, consider the design of a fuzzy controller for a steam turbine. The block diagram of
this control system appears as follows:
The input and output variables map into the following fuzzy set:
-- where:
N3: Large negative.
N2: Medium negative.
N1: Small negative.
Z: Zero.
P1: Small positive.
P2: Medium positive.
P3: Large positive.
http://en.wikipedia.org/wiki/File:Fuzzy_control_-_input_and_output_variables_mapped_into_a_fuzzy_set.png -
7/27/2019 design consideration
21/28
The rule set includes such rules as:
rule 1: IF temperature IS cool AND pressure IS weak,
THEN throttle is P3.
rule 2: IF temperature IS cool AND pressure IS low,
THEN throttle is P2.
rule 3: IF temperature IS cool AND pressure IS ok,
THEN throttle is Z.
rule 4: IF temperature IS cool AND pressure IS strong,
THEN throttle is N2.
In practice, the controller accepts the inputs and maps them into their membership functions and truth
values. These mappings are then fed into the rules. If the rule specifies an AND relationship between the
mappings of the two input variables, as the examples above do, the minimum of the two is used as the
combined truth value; if an OR is specified, the maximum is used. The appropriate output state is selected
and assigned a membership value at the truth level of the premise. The truth values are then defuzzified.
For an example, assume the temperature is in the "cool" state, and the pressure is in the "low" and "ok"
states. The pressure values ensure that only rules 2 and 3 fire:
http://en.wikipedia.org/wiki/File:Fuzzy_control_-_Rule_2_evaluation.png -
7/27/2019 design consideration
22/28
The two outputs are then defuzzified through centroid defuzzification:
__________________________________________________________________
| Z P21 -+ * *
| * * * *
| * * * *
| * * * *
| * 222222222
| * 22222222222
| 333333332222222222222
+---33333333222222222222222-->
^
+150
__________________________________________________________________
The output value will adjust the throttle and then the control cycle will begin again to generate the next
value.
Building a fuzzy controller[edit]
Consider implementing with a microcontroller chip a simple feedback controller:
http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=5http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=5http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=5http://en.wikipedia.org/wiki/File:Fuzzy_control_-_Rule_3_evaluation.pnghttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=5 -
7/27/2019 design consideration
23/28
A fuzzy set is defined for the input error variable "e", and the derived change in error, "delta", as well as the
"output", as follows:
LP: large positive
SP: small positive
ZE: zero
SN: small negative
LN: large negative
If the error ranges from -1 to +1, with the analog-to-digital converter used having a resolution of 0.25, then
the input variable's fuzzy set (which, in this case, also applies to the output variable) can be described very
simply as a table, with the error / delta / output values in the top row and the truth values for each
membership function arranged in rows beneath:
_______________________________________________________________________
-1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1
_______________________________________________________________________
mu(LP) 0 0 0 0 0 0 0.3 0.7 1
mu(SP) 0 0 0 0 0.3 0.7 1 0.7 0.3
mu(ZE) 0 0 0.3 0.7 1 0.7 0.3 0 0
mu(SN) 0.3 0.7 1 0.7 0.3 0 0 0 0
mu(LN) 1 0.7 0.3 0 0 0 0 0 0
_______________________________________________________________________
or, in graphical form (where each "X" has a value of 0.1):
LN SN ZE SP LP
+------------------------------------------------------------------+
| |
-1.0 | XXXXXXXXXX XXX : : : |
-0.75 | XXXXXXX XXXXXXX : : : |
-0.5 | XXX XXXXXXXXXX XXX : : |
-0.25 | : XXXXXXX XXXXXXX : : |
0.0 | : XXX XXXXXXXXXX XXX : |
0.25 | : : XXXXXXX XXXXXXX : |
0.5 | : : XXX XXXXXXXXXX XXX |
0.75 | : : : XXXXXXX XXXXXXX |1.0 | : : : XXX XXXXXXXXXX |
http://en.wikipedia.org/wiki/File:Fuzzy_control_system-feedback_controller.png -
7/27/2019 design consideration
24/28
| |
+------------------------------------------------------------------+
Suppose this fuzzy system has the following rule base:
rule 1: IF e = ZE AND delta = ZE THEN output = ZE
rule 2: IF e = ZE AND delta = SP THEN output = SN
rule 3: IF e = SN AND delta = SN THEN output = LP
rule 4: IF e = LP OR delta = LP THEN output = LN
These rules are typical for control applications in that the antecedents consist of the logical combination of
the error and error-delta signals, while the consequent is a control command output. The rule outputs can
be defuzzified using a discrete centroid computation:
SUM( I = 1 TO 4 OF ( mu(I) * output(I) ) ) / SUM( I = 1 TO 4 OF mu(I) )
Now, suppose that at a given time we have:
e = 0.25
delta = 0.5
Then this gives:
________________________
e delta
________________________
mu(LP) 0 0.3
mu(SP) 0.7 1
mu(ZE) 0.7 0.3
mu(SN) 0 0
mu(LN) 0 0
________________________
Plugging this into rule 1 gives:
rule 1: IF e = ZE AND delta = ZE THEN output = ZE
mu(1) = MIN( 0.7, 0.3 ) = 0.3
-
7/27/2019 design consideration
25/28
output(1) = 0
-- where:
mu(1): Truth value of the result membership function for rule 1. In terms of a centroid calculation, this
is the "mass" of this result for this discrete case.
output(1): Value (for rule 1) where the result membership function (ZE) is maximum over the output
variable fuzzy set range. That is, in terms of a centroid calculation, the location of the "center of mass"
for this individual result. This value is independent of the value of "mu". It simply identifies the location
of ZE along the output range.
The other rules give:
rule 2: IF e = ZE AND delta = SP THEN output = SN
mu(2) = MIN( 0.7, 1 ) = 0.7
output(2) = -0.5
rule 3: IF e = SN AND delta = SN THEN output = LP
mu(3) = MIN( 0.0, 0.0 ) = 0
output(3) = 1
rule 4: IF e = LP OR delta = LP THEN output = LN
mu(4) = MAX( 0.0, 0.3 ) = 0.3
output(4) = -1
The centroid computation yields:
-- for the final control output. Simple. Of course the hard part is figuring out what rules actually work
correctly in practice.
If you have problems figuring out the centroid equation, remember that a centroid is defined by summing all
the moments (location times mass) around the center of gravity and equating the sum to zero. So if is
the center of gravity, is the location of each mass, and is each mass, this gives:
-
7/27/2019 design consideration
26/28
In our example, the values of mu correspond to the masses, and the values of X to location of the masses
(mu, however, only 'corresponds to the masses' if the initial 'mass' of the output functions are all the
same/equivalent. If they are not the same, i.e. some are narrow triangles, while others maybe wide
trapizoids or shouldered triangles, then the mass or area of the output function must be known or
calculated. It is this mass that is then scaled by mu and multiplied by its location X_i).
This system can be implemented on a standard microprocessor, but dedicated fuzzy chips are now
available. For example, Adaptive Logic INC of San Jose, California, sells a "fuzzy chip", the AL220, that
can accept four analog inputs and generate four analog outputs. A block diagram of the chip is shown
below:
+---------+ +-------+
analog --4-->| analog | | mux / +--4-->
analog
in | mux | | SH | out+----+----+ +-------+
| ^
V |
+-------------+ +--+--+
| ADC / latch | | DAC |
+------+------+ +-----+
| ^
| |
8 +-----------------------------+
| | |
| V |
| +-----------+ +-------------+ |
+-->| fuzzifier | | defuzzifier +--+
+-----+-----+ +-------------+
| ^
| +-------------+ |
| | rule | |
+->| processor +--+
| (50 rules) |+------+------+
-
7/27/2019 design consideration
27/28
|
+------+------+
| parameter |
| memory |
| 256 x 8 |
+-------------+
ADC: analog-to-digital converter
DAC: digital-to-analog converter
SH: sample/hold
Antilock brakes[edit]
As a first example, consider ananti-lock braking system, directed by a microcontroller chip. The
microcontroller has to make decisions based on braketemperature,speed, and other variables in the
system.
The variable "temperature" in this system can be subdivided into a range of "states": "cold", "cool",
"moderate", "warm", "hot", "very hot". The transition from one state to the next is hard to define.
An arbitrary static threshold might be set to divide "warm" from "hot". For example, at exactly 90 degrees,
warm ends and hot begins. But this would result in a discontinuous change when the input value passed
over that threshold. The transition wouldn't be smooth, as would be required in braking situations.
The way around this is to make the states fuzzy. That is, allow them to change gradually from one state to
the next. In order to do this there must be a dynamic relationship established between different factors.
We start by defining the input temperature states using "membership functions":
With this scheme, the input variable's state no longer jumps abruptly from one state to the next. Instead, as
the temperature changes, it loses value in one membership function while gaining value in the next. In
other words, its ranking in the category of cold decreases as it becomes more highly ranked in the warmer
category.
http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=6http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=6http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=6http://en.wikipedia.org/wiki/Anti-lock_braking_systemhttp://en.wikipedia.org/wiki/Anti-lock_braking_systemhttp://en.wikipedia.org/wiki/Anti-lock_braking_systemhttp://en.wikipedia.org/wiki/Temperaturehttp://en.wikipedia.org/wiki/Temperaturehttp://en.wikipedia.org/wiki/Temperaturehttp://en.wikipedia.org/wiki/Speedhttp://en.wikipedia.org/wiki/Speedhttp://en.wikipedia.org/wiki/Speedhttp://en.wikipedia.org/wiki/File:Fuzzy_control_-_definition_of_input_temperature_states_using_membership_functions.pnghttp://en.wikipedia.org/wiki/Speedhttp://en.wikipedia.org/wiki/Temperaturehttp://en.wikipedia.org/wiki/Anti-lock_braking_systemhttp://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=6 -
7/27/2019 design consideration
28/28
At any sampled timeframe, the "truth value" of the brake temperature will almost always be in some degree
part of two membership functions: i.e.: '0.6 nominal and 0.4 warm', or '0.7 nominal and 0.3 cool', and so on.
The above example demonstrates a simple application, using theabstractionof values from multiple
values. This only represents one kind of data, however, in this case, temperature.
Adding additional sophistication to this braking system, could be done by additional factors such
astraction, speed,inertia, set up in dynamic functions, according to the designed fuzzy system.[1]
Logical interpretation of fuzzy control[edit]
In spite of the appearance there are several difficulties to give a rigorous logical interpretation of the IF-
THENrules. As an example, interpret a rule as IF (temperature is "cold") THEN (heater is "high") by the
first order formula Cold(x)High(y) and assume that r is an input such that Cold(r) is false. Then the
formula Cold(r)High(t) is true for any tand therefore any tgives a correct control given r. A rigorouslogical justification of fuzzy control is given in Hjek's book (see Chapter 7) where fuzzy control is
represented as a theory of Hjek's basic logic. Also in Gerla 2005 a logical approach to fuzzy control is
proposed based on fuzzy logic programming. Indeed, denote by fthe fuzzy function arising of a IF-THEN
systems of rules. Then we can translate this system into fuzzy program in such a way that fis the
interpretation of a vague predicate Good(x,y) in the least fuzzy Herbrand model of this program. This gives
further useful tools to fuzzy control.
s
http://en.wikipedia.org/wiki/Abstractionhttp://en.wikipedia.org/wiki/Abstractionhttp://en.wikipedia.org/wiki/Abstractionhttp://en.wikipedia.org/wiki/Traction_(engineering)http://en.wikipedia.org/wiki/Traction_(engineering)http://en.wikipedia.org/wiki/Traction_(engineering)http://en.wikipedia.org/wiki/Inertiahttp://en.wikipedia.org/wiki/Inertiahttp://en.wikipedia.org/wiki/Inertiahttp://en.wikipedia.org/wiki/Fuzzy_control_system#cite_note-1http://en.wikipedia.org/wiki/Fuzzy_control_system#cite_note-1http://en.wikipedia.org/wiki/Fuzzy_control_system#cite_note-1http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=7http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=7http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=7http://en.wikipedia.org/w/index.php?title=Fuzzy_control_system&action=edit§ion=7http://en.wikipedia.org/wiki/Fuzzy_control_system#cite_note-1http://en.wikipedia.org/wiki/Inertiahttp://en.wikipedia.org/wiki/Traction_(engineering)http://en.wikipedia.org/wiki/Abstraction