Sunteți pe pagina 1din 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 lifetime 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 the electrical 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 bestmatched 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.

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 physic ally 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 th e 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 of jerk 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 be opposed to that?

PLC
Programmable logic controllers: Hardware, software architecture
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 components the 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.

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.

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 of function 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.

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, electrical and pneumatic actuators.


1)A pneumatic actuator converts 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 actuator is 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 actuator functions 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 Cylinders


Electrical Linear Actuators Installation Hydraulic Cylinders Pneumatic Cylinders Requires expensive plumbing, filtering, pumps, etc. All electric operation requires Requires expensive simple wiring. plumbing, filtering, pumps, etc.

Accuracy

Very repeatable (to 0,013 mm) 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. Inherently non-linear, compressible power source severely complicates servo control.

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.

Speed

Smooth, variable speed with from 0 to 2 m/s with controlled accleration.

Difficult to control accurately. More susceptible to stick slip Varies with temperature and wear. Stick slip can be a problem. and varying load. Well-suited for light high speed applications.

Reliability

Repeatable, reproducible Very contamination sensitive. Very contamination sensitive. performance during the entire Require regular maintenance. Air sources require proper product life. Very little maintenance required. Seals are prone to leak. Reliable with diligent maintenance. filtration. Good reliability, but usually many system components are involved.

Power

Up to 40 000 N

Virtually unlimited force. Most Up to 25 000 N. Typically powerful. used below 6000 N. Dependent on design and seal wear, usually good. Temperature extremes can be a major problem. Seals are prone to leak. Waste disposal is increasingly problematic. Dependent on design and seal wear, usually good. Temperature extremes can be a major problem. Seals prone to leak. Air-borne oil can be a problem.

Life expectancy

Up to millions of cycles at rated load. Easy to predict. Standard models rated for 30 to +70 C. Inherently clean and energy efficient.

Environment

Load holding

Acme screw units are Complex back-up safety selflocking if power fails. Fail- devices must be used. safe brakes available for ball screw models.

Complex back-up safety devices must be used.

Cost

Moderate initial cost, very low Components often cost less, operating cost. but installation and maintenance are increased. Hydraulic power unit cost is high if not pre-existing.

Components often cost less, but installation and maintenance are increased.

OPEN LOOP AND CLOSED LOOP

Control Systems Engineering

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 control system. This is also a complete system by itself. This system takes the input and generates output through the action of the plant. The details of the internal workings of the plant are unspecified, and to some extent irrelevant. All we are concerned with here is the relationship between the input and output. A well-behaved system might have the output proportional to 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, which outputs heat. In this case the amount of heat is proportional to the input. A system which operates in this manner is known as an open-loop system. This distinguishes it from another type known asclosed-loop systems. These systems utilize feedback, which is derived from the output. Here is a block diagram of a closed-loop system.

Figure 2. Closed loop control system. Continuing with the kitchen theme, your oven is a closed loop system. You input the temperature you desire and the plant (oven) outputs heat. As the

oven heats up, the thermostat provides feedback to the oven, which in turn reduces the heat output. Eventually, steady-state is reached at the desired temperature. Now, it is possible to make this system work with an open-loop system, but the design engineer must have near-perfect knowledge of how much heat output will sustain the desired operating temperature. If he is inaccurate 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 simple design accuracy depends on calibration unlikely to become unstable closed loop systems more accurate less sensitive to change in environment smooth response wider bandwidth can become unstable If we restrict ourselves to linear systems, then we may take over a wide range of mathematics especially suited for these systems. The technique uses the Laplace transform. The details are unimportant for now, but it provides a great simplification. Let me explain how. First, suppose we have form of a voltage that vout(t) is the solution But if you convert the where an electrical circuit. If we provide input in the varies with time, vin(t),then typically the output to some complicated set of differential equations. input and output into their Laplace transforms,

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 the spatial frequency, with units of cycles/meter. It is also possible to reverse the Laplace transform, therefore recovering the output in its original form (i.e. voltage or current as a function of time). For example -1{R(s)} = vin(t). Here is a short table of Laplace transform pairs for commonly encountered functions: Table 2. Laplace transform pairs. Time domain: f(t)= a (constant) at (ramp) e-at (exponential) sin(at) cos(at)
-1

{F(s)}

Laplace domain: F(s) = {f(t)} 1/s a/s2 1/(s + a) a/(s2 + a2) s/(s2 + a2)

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 be determined from detailed analysis of the plant, using differential equations. So this method is not particularly simple if this were the only problem to solve. The great simplification occurs when plants are combined with other plants and feedback loops. If the transfer function of each plant is known, then they may be combined using ordinary algebraic methods instead of differential equations. All that is required is to obtain the solution is to take the inverse Laplace transform after all the manipulation is completed. Its similar to reducing a complicated circuit in to 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 Laplace transform. Algebraically manipulate combinations of transfer functions to find the relationship between the input and output (i.e. a single transfer function). 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 now represented 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, and feedback transfer function, H. The action of the summing junction is to subtract the feedback signal B(s) from the input R(s) with the result known as the error signal, E(s) = R(s) - B(s). We exploit the properties of Laplace transforms and write the following relationships: C(s) = G(s) E(s)

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 (and who 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 the output. In fact the term G/(1+GH) is also a transfer function for the closed-loop system. If we were to give a separate label like CLTF (closedloop transfer function), then C(s) = CLTF(s)R(s) This process is known as block reduction. It turns out that it is always possible to reduce a complication block diagram into a single transfer function. If you were to analyze some complicated weapons system of computers and hardware, eventually you could (theoretically) reduce its operation to a few transfer functions which connect the input variables to the output variables. This is the reverse process of the systems approach where large projects are divided into smaller ones. We would expect it to work both ways of course. When learning how things work it is always better to start with the big picture and then focus on the details as they become important.

System Response
Since the majority of control systems used in weapons are closed-loop systems, we now consider how a generic system will respond to a step change in the input. An example might be a missile on a heading of 330o responding to 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 which the system can respond: Under-damped response. The system will change the output quickly to the new value but in the process will overshoot the desired output. The output will settle into the new value after one or more oscillations. If we plot the response, it might look like:

Figure 4. Response of under-damped system. The output will always overshoot the desired output, and the maximum value is called the peak overshoot. When the output oscillates (goes above and below the final value at least once), the systems is considered to be under-damped. The length of time it takes the system to reach its final value is called the settling time. Over-damped. In this case, the response is quite slow. The output will sluggishly 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 under damping. Critically damping may or may not overshoot the final value, but there will be no oscillation. Critical damping reaches it final value in the minimum amount of time. There is only a small range of parameters which will achieve critical damping, and therefore it is rarely achieved. Critical damping should be thought of as an idealized situation that differentiates between over and under damping.

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 cannot tolerate any overshoot whatsoever, it would be wise to make the system slightly over-damped. On the other hand, if the input is constantly changing, and the quickest initial response is needed, then the system should 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 in input (i.e. a bump in the road). The car will usually overshoot and may or may 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 few cycles before settling down.

Fuzzy control system


From Wikipedia, the free encyclopedia

"Fuzzy control" and "Fuzzy Control" redirect here. For the rock band, see Fuzzy Control (band).

This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. Please improve this article
by introducing more precise citations. (May 2011)

This article is written like a manual or guidebook. Please help rewrite this
article from a descriptive, neutral point of view, and remove advice or instruction. (February 2010)

A fuzzy control system is a control system based on fuzzy logica mathematical system that analyzes analog input values in terms of logical variables that take on continuous values between 0 and 1, in contrast to classical or digital logic, 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 o

3.1 Fuzzy control in detail 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 by Lotfi A. Zadeh of 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 cement kiln built 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 of Hitachi, who in 1985 provided simulations that demonstrated the feasibility of fuzzy control systems for the Sendai railway.

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 an autofocusing camera that uses a charge-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 industrial air conditioner designed 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-controlled robot 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.

Work on fuzzy systems is also proceeding in the US and Europe, though on a less extensive scale than in Japan.

The US Environmental Protection Agency has investigated fuzzy control for energy-efficient motors, and NASA has 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" dishwasher based 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 to firmware, design, including fuzzy expert systems and integration of fuzzy logic with neural-network and 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 section may be unbalanced towards certain viewpoints. Please improve the
articleby adding information on neglected viewpoints, or discuss the issue on the talk 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 of switch, 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 and truth values, the microcontroller then makes decisions for what action to take, based on a set of "rules", each of the form:

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 output variable.

These results are combined to give a specific ("crisp") answer, the actual brake pressure, a procedure known as "defuzzification".

This combination of fuzzy operations and rule-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 more differential equations that 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.

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 a result 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 "maxmin" inference method, 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.

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-anderror. 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.

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: N2: N1: Z: P1: P2: P3:

Large negative. Medium negative. Small negative. Zero. Small positive. Medium positive. Large positive.

The rule set includes such rules as:

rule 1: rule 2: rule 3: rule 4:

IF temperature IS cool AND pressure IS weak, THEN throttle is P3. IF temperature IS cool AND pressure IS low, THEN throttle is P2. IF temperature IS cool AND pressure IS ok, THEN throttle is Z. 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:

The two outputs are then defuzzified through centroid defuzzification:

__________________________________________________________________ | 1 -+ | | | | | | * * * * Z * * * * * * * P2 * * * * *

222222222 22222222222

333333332222222222222 ^ +150

+---33333333222222222222222-->

__________________________________________________________________

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:

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: SP: ZE: SN: LN:

large positive small positive zero small negative 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) mu(SP) mu(ZE) mu(SN) mu(LN) 0 0 0 0.3 1 0 0 0 0.7 0.7 0 0 0.3 1 0.3 0 0 0.7 0.7 0 0 0.3 1 0.3 0 0 0.7 0.7 0 0 0.3 1 0.3 0 0 0.7 0.7 0 0 0 1 0.3 0 0 0

_______________________________________________________________________ or, in graphical form (where each "X" has a value of 0.1): LN | -1.0 -0.5 0.0 0.5 1.0 | | | | | XXXXXXXXXX XXXXXXX XXX : : : : : : XXX XXXXXXX XXXXXXXXXX XXXXXXX XXX : : : : : : XXX XXXXXXX XXXXXXXXXX XXXXXXX XXX : : : : : : XXX XXXXXXX XXXXXXXXXX XXXXXXX XXX : : : : : : XXX XXXXXXX XXXXXXXXXX -0.75 | -0.25 | 0.25 | 0.75 | SN ZE SP LP | | | | | | | | | | +------------------------------------------------------------------+

+------------------------------------------------------------------+

Suppose this fuzzy system has the following rule base:

rule 1: rule 2: rule 3: rule 4:

IF e = ZE AND delta = ZE THEN output = ZE IF e = ZE AND delta = SP THEN output = SN IF e = SN AND delta = SN THEN output = LP 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:

= 0.25

delta = 0.5

Then this gives:

________________________ e delta

________________________ mu(LP) mu(SP) mu(ZE) mu(SN) mu(LN) 0 0.7 0.7 0 0 0.3 1 0.3 0 0

________________________

Plugging this into rule 1 gives:

rule 1: mu(1)

IF e = ZE AND delta = ZE THEN output = ZE = MIN( 0.7, 0.3 ) = 0.3

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: mu(2)

IF e = ZE AND delta = SP THEN output = SN = 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 delta = LP THEN output = LN

output(3) = 1 rule 4: IF e = LP OR 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 the center of gravity, is the location of each mass, and is each mass, this gives: is

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 analog in | mux | V +-------------+ | ADC / latch | +------+------+ | | 8 | | | | V +-----------+ +-----+-----+ | | | +-------------+ | rule processor | | | |

+-------+ | mux / +--4--> | SH ^ | +--+--+ | DAC | +-----+ ^ | +-----------------------------+ | | +-------------+ +-------------+ ^ | | | | defuzzifier +--+ | out

+----+----+

+-------+

+-->| fuzzifier |

+->|

+--+

| (50 rules)

+------+------+

| +------+------+ | | | parameter memory 256 x 8 | | |

+-------------+ ADC: DAC: SH: analog-to-digital converter digital-to-analog converter sample/hold

Antilock brakes[edit]
As a first example, consider an anti-lock braking system, directed by a microcontroller chip. The microcontroller has to make decisions based on brake temperature, 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.

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 the abstraction of 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 as traction, 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 IFTHEN rules. 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 t and therefore any t gives a correct control given r. A rigorous logical 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 f the fuzzy function arising of a IF-THEN systems of rules. Then we can translate this system into fuzzy program in such a way that f is 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-ar putea să vă placă și