Fuzzy Inference System: Car Steering

March 11th, 2010


A simple piece of AI coursework this term involved creating a fuzzy inference system to steer a car along a racing line, given its distance from the line and the rate at which said distance is changing. I saw this as an ideal situation to work on my Haskell programming, and found the language extremely suitable for the task at hand.

While the application works well, using a Mamdani type system to calculate a normalised turning value for the car, the code itself could use further refinement. For example, membership functions should be read in from a file and although the functions themselves are individually documented, they are still very hard to follow. I’m unsure of the best course of action to improve this—whether I should attempt to re-write the application or find more mature code or a book to study—but I intended to dedicate time over the summer after my graduation to develop my functional programming abilities.

Source Files
Executable


Leave a Reply