Yes you're absolutely correct. I only used the arduino because I was running out of time and it was easier to use Brian's existing serial code and make use of the Arduino's ADC. The Pi should definitely be fast enough to handle the calculations in real time, this is helped by the fact that the R code runs in a separate thread. The system takes a few seconds to load initially, but after that it seems pretty quick. If you like, I can run some tests to put a number on exactly how fast.
You might be wondering how to decipher the .fis file:
Inputs distance, delta and speed are categorised into the relevant membership functions as defined in the 3 [input] sections. For example, distance = -323, delta = 52, speed = 6 will be sorted as follows:
distance only falls under the 'neg_low' membership function, to a degree of around 0.3
delta is 'pos_zero' to a degree 0.5 and 'pos_low' to a very small degree
speed is 0.6 'low' and 0.4 'med'
The [rules] section goes like this: IF (antecedent 1) AND (antecedent 2) AND (antecedent 3) THEN (consequent 1). Zero means undefined (so speed isn't evaluated in most of the rules)
i.e. 1 1 0, 9 (1) : 1 equates to distance, delta, speed, output, weight (always 1), evaluation type (1 = AND, 2 = OR). So it translates to IF (distance is neg_hi) AND (delta is neg_hi) THEN (output is pos_hi).
Evaluate all of these rules to the membership degrees we calculated earlier and then take the centre of the output and out pops your steer value.
I hope this helps you understand what I've done
If you search youtube for Fuzzy Logic there's a few good videos on the subject too.