I’ve been interested for a while in creating a simulation of a combustion engine and then using a genetic algorithm to change various properties to optimize the engine for certain parameters such as power, economy and emissions. Recently I found a project by iForce2D using the Box2D physics engine that fairly accurately simulates a handful of different engine configurations.
Here’s an example of the iForce2D project
However after coming across the game Automation I thought it would be better to use that game engine and write my genetic algorithm to interact with it. The game has staggering amounts of customization and engine tuning capabilities with ways to compare different configurations economy ratings, power statistics, emissions, reliability and dynamometer testing. Below is a screenshot from the games engine testing section.
Currently I’m working on getting my code to interact smoothly with the game and get a ‘loop’ set up that will configure an engine, test it and log the data to a file for analyzing later on by the genetic algorithm. Designing something that can have real word benefits and effect physical objects is incredible interesting and different from what I’ve been doing through my course at AIE but definitely a path of programming I’m going to be researching more into, hopefully with some more blog updates!