Global Sources
EE Times AsiaWebsite
Stay in touch with EE Times Asia
eeBlogs-Article content Home?/?eeBlog?/?eeBlogs
Nickname:?Clive Maxfield???? Articles(444)???? Visits(535031)???? Comments(79)???? Votes(236)???? RSS
There is so much amazingly cool "stuff" to see and do that I'm amazed I find the time to get any real work done. In my blog I will waffle on about the books I'm reading, the projects I'm building, and the weird and wonderful websites I blunder across. Please Email Me if you see anything you think will "tickle my fancy."
Blog Archive
2016?-? Apr.,?? Mar.,?? Feb.,?? Jan.??
2015?-? Dec.,?? Nov.,?? Oct.,?? Sep.,?? Aug.,?? Jul.,?? Jun.,?? May.,?? Apr.,?? Mar.,?? Feb.,?? Jan.??
2014?-? Dec.,?? Nov.,?? Oct.,?? Sep.,?? Aug.,?? Jul.,?? Jun.,?? May.,?? Apr.,?? Mar.,?? Feb.,?? Jan.??
View All
Comment?|?Add to Favorites

Posted: 07:43:16 PM, 03/05/2012

Suggest the best book on Fuzzy Logic

? ?

I have a degree in control engineering. When I was at university (way back in the mists of time), the most sophisticated control techniques we had were bang-bang control, sequence control, and proportional-integral-differential control (PID).

PID control
Just to refresh our memories and set the scene... unlike a bang-bang controller, which is either on or off, a proportional or P controller calculates an "error" value as the difference between a measured process output variable and a desired set-point. The controller then attempts to minimize this error by adjusting the process control inputs.

The amount of change is proportional to the error 每 hence the name "proportional controller." When the difference between the desired value on the output and the actual value on the output is large, the controller attempts to rectify the situation by making large changes. As the difference between the desired and actual output values shrinks, the controller adjusts itself accordingly. We can visualize this as being the blue/cyan trace in the image below.




In many cases we want our proportional controller to modify the output as quickly as possible, but if we aren't careful the system will overshoot and then oscillate back and forth until it finally reaches the desired value. We can visualize this as being the red trace in the image below.

In some cases the solution is to augment the proportional element with an integral (I) element to create a proportional-integral (PI) controller. In other cases we might use a derivative (D) element to create a proportional-derivative (PD) controller.

Alternatively, we might decide to employ all three elements to create a proportional-integral-derivative (PID) controller. We can visualize the result (fast response with 每 ideally 每 no overshoot) as being the green trace. Heuristically, these terms can be interpreted in terms of time: P depends on the present error; I depends on the accumulation of past errors; and D is a prediction of future errors, all based on the current rate of change. The weighted sum of these three actions is used to adjust the process.

Originally this type of continuously variable control used to be performed only the analog domain. These days, however, digital techniques are commonly used in many industrial control applications.

Fuzzy Logic control
Another form of control is based on something called Fuzzy Logic. I personally love this term, but I think the "Fuzzy" appellation has caused many people to take this approach less-seriously than it perhaps deserves.

Fuzzy logic is a form of many-valued or probabilistic logic. The reasoning in fuzzy logic is similar to human reasoning in that it allows for approximate values and inferences as well as incomplete or ambiguous data (fuzzy data), as opposed to only relying on crisp data (binary yes/no choices).

In the case of a thermostat, for example, instead of defining fixed temperature values for turning the heating or air-conditioning systems full on or off (as would be the case with a bang-bang controller), a fuzzy controller might "see" things in terms of cold, warm, or hot. (The diagram below shows simple trapezoid-like membership functions, but other shapes 每 particularly triangles 每 are often used).




Fuzzy logic is able to process incomplete data and provide approximate solutions to problems other methods find difficult to solve. For example, I think it's safe to say that all of us have played around balancing an object like a stick on the end of our fingers at one time or another. Can you imagine how much more difficult this would be if we had two sticks joined at the middle with a universal joint that allows the upper stick to flop around in any direction?

I can't even imagine creating a PID controller-based solution to this. In fact, if the truth be told, I can't imagine creating any controller that could do this ... but I have seen an example of a Fuzzy Logic controller handling just such a system with aplomb.

The best book on Fuzzy Logic?
I don't recall why, but I was just sitting here thinking about Fuzzy Logic when I realized that I really know very little about this little rascal when it comes to the nitty-gritty (actually-making-something work) details. Furthermore, looking at my bookshelves, I realize that I don't have anything useful on this technology.

So I bounced over to Amazon. The first book I found was Fuzzy Logic Get Fuzzy 2 by Darby Conley, which seemed to be very reasonably priced at $8.99, and which had 4.5 stars from 60 reviewers. On closer inspection, however, I discovered that this is a cartoon book about a cat and a dog. Amusing as this might be, I doubt it will provide the answers I am looking for.

The best of the bunch seemed to be An Introduction to Fuzzy Logic for Practical Applications by Kazuo Tanaka. But at $130 this would have to be a REALLY good book. Also, it was published in 1996, which has plusses and minuses associated with it 每 on the plus side it's still in print, which says it has to be good (not the least that it has mostly 5-star reviews); on the minus side I can't help thinking that things must have moved on since that time...

What I'm looking for is an affordable book from which I can get a good grip on Fuzzy Logic without getting embroiled in complex math that makes my eyes water and my brain ache. Something sufficient to allow me to capture and implement a simple algorithm in C for use on a microcontroller or in Verilog for realization in an FPGA. (I don't want the book to teach C or Verilog 每 you understand 每 all I want is to get a firm grasp of Fuzzy Logic fundamentals.)

The bottom line is that I'm looking for a recommendation for a good book. Do you have any suggestions? And if the tome you recommend is An Introduction to Fuzzy Logic for Practical Applications as discussed above, then (a) do you have a copy and (b) would you perhaps be interested in trading it for one of the books on my shelves?


Views(843) Comments(1)
Total [0] users voted ????
[Last update: 07:43:28 PM, 03/05/2012]


Visitor 12:15:02 PM, 04/07/2012
Comment: My libraries and the ones I used are stradnad C' libraries. While they could be used with arduino, I really couldn't tell you how to do it. If you were to transfer the compiled program to an arduino, I would imagine it would most likely run as long as you wired it correctly to the display.
Have Your Say!

Bloggers Say

Got something to say? Why not share it with other engineers?

Just introduce yourself to us, we'll contact you and set you up. Yes, it's that simple!

See what engineers like you are posting on our pages.

Interviews & Viewpoints


Learn how senior executives are seeing the industry from interviews and contributed opinions.

Back to Top