Fuzzy logic / neural nets with the arduino

Did anyone of you implement fuzzy logic ot neural nets in your Arduino System? I would like to use it with a temperature probe to get a better estimate of the real temperature at hand and to compensate for latency effects. (Setting is a chemical laboratory: I control my magnetic stirrer/heater from the PC which also logs a variety of data but I'm afraight that these measurements are always a bit off)
Wouldn't it be great to have a neural net/fuzzy logic library for the arduino? Do you think this would be an easy task? I know how to use neural nets for eg. pattern-recognition but don't have any experience in actually programming them from scratch. Eventually if someone could provide help here, I would compile into a useable library.

Thanks for reading, feel free to add your thoughts.
Greetings

As neural networks make a great use of large look up tables I would have thought that the Arduino was not best suited to this given it's only got 1K of RAM to play with.

Why not put the neural networks part in the PC and send the Arduino the commands you want it to execute.

Why not put the neural networks part in the PC and send the Arduino the commands you want it to execute.

that's actually a great idea. I think i saw some examples how to interface the arduino with matlab and with a bluesmirf shield it would even be mobile.
Disadvantages would be that you would need a PC to run it.
But wouldn`t some extra memory (I2C) or using a bigger ATMega do the trick?
I mean at least fuzzy logic shouldn't be this big of a problem, should it?

Thanks for your input. :slight_smile:

The Fuzzy logic bit is quite easy, essentially it is just some if statements of the sort:-
if((a>b) && (a<c) ) { do your stuff }
Only don't use floats but integers and scale them to say 20000.
:slight_smile:

if((a>b) && (a<c) ) { do your stuff }

so you a, b and c are classifyers?

Since I only have two input veriables (temperature of heating oil and temperature of medium/vapor) and one output variable (Heating On/Off) the code should really be simple but I didn't find the right material yet...

I found some nice software on http://www.fuzzytech.com/ which is said to generate C code (doesn't work in the demo).

Basically fuzzy logic is about making decisions on windows ranges or thresholds based on accumulation of results (other events) and probabilities. This tends to boil down to the sorts of decision code I gave earlier. That is, do something if some input (or system of inputs) is in a window between two thresholds. This ties in with neural networking where these decisions are inputs to feed into other decisions or neurons.

However, having said that, unfortunately I am not familiar with how it is formalised nowadays as it is many years since I did any work in this field.