Combustion engine with machine learning algorithm using Raspberry Pi via raspberry.org
What you’re about to watch in the video below is a magnificently physical example of machine learning. Adam Vaughan is controlling an engine with an adaptive Extreme Learning Machine algorithm on his Pi, which predicts homogeneous charge compression ignition (HCCI – if you’re a petrolhead, you won’t have to look that up on Wikipedia like I did to discover that it’s a spark-free way of combusting fuel by putting it under pressure until it goes bang) in real time.
HCCI combustion is hard to predict – it’s near-chaotic – so the algorithm Adam designed has to take a huge number of samples (240,000 per second) to get enough data to learn how the engine behaves and to provide something so close to real-time control that you’d never know the difference. (It’s incredibly close to real time – there’s about 300 microseconds – that’s microseconds, or one millionth of a second; not milliseconds, which are a thousandth of a second – of latency here.)
The Pi is recording data about pressure in each of the engine’s cylinders, about the angle of the crank and about heat release – and on the back of that, it’s subsequently controlling the engine in real time over a controller area network.
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!