Wednesday, January 7, 2009

Self Driving Automobile - Version One Point Zero



To simply press a button and expect your car to safely and flawlessly drive itself and its occupants to a destination still seems far off in the future. To navigate an innumerable possible obstructions, law variations, and unpredictable human behaviors in surrounding traffic nearly requires an impossibly complicated set of instructions and algorithms far too vast for today's processors. At least, this is the current consensus of most artificial intelligence researchers. However, new methods of machine learning, pattern recognition, object avoidance, path finding algorithms, and prediction mechanisms just might make this dream a reality.

To achieve this possibility, I have developed a simple experiment, involving a reduced risk environment. After all, placing one's own vehicle in jeopardy is both financially and morally dangerous. Instead, an inexpensive radio controlled model car will suffice, of course deprived of its internal radio receiving circuit. In it's place, an advanced learning processor will assume total control over the vehicle's movements. Enhanced by a network of proximity sensors, accelerometers, and a 360 degree VGA camera which can be rotated to the CPU's desire, the learning machine will explore it's world, learning the causal relationships between events such as approaching wall and an immanent collision. Under self control, the car is able to exceed normal operating limits with high speed 20 volt sprints, rear differential locking, and dynamic electronic breaking to perform the otherwise impossible maneuvering for quick escapes from the difficult to predict real world variables.

Rather than using a neural network the processor will emulate a virtual system which is capable of open ended evolution. Much of my previous involvements in this approach are explained in prior postings within this blog. In essence, this virtual system will be coded by a genetic sequence. Since nano technology and auto assembly is currently beyond most hobbyists' budgets, this car will not have any replication, repair, or homeostasis abilities, so with respect to most definitions it will not be considered alive. However, possibly more importantly, it's mind - the virtual system being emulated by the car's processors, will be capable of self organization and full blown open evolution, affected directly by the natural laws of natural selection. This means, basically, that it's "brain" can be physically changed (within it's virtual world), not only it's software, but also it's hardware. The genetic sequence which encodes the construction of the automaton's mind is to be stored within a 4GB Flash card, which in theory is enough to hold the entire human genome.

Since open ended evolution can be aimless at times, I have decided to add directives to the processor which controls the virtual evolution experiment. It is important to understand the levels of abstraction involved with this device, so I will straight forwardly reiterate. The car is physical and it has a physical processor and physical sensors. The processor, however, generates a virtual computer through a process called emulation. It is that virtual computer that sees through the sensors and drives the car. The physical processor will supply some parameters to the evolution experiment, such as collision results in death and therefore whatever specific genetic code was running at the time is a failure. Performance will be ranked and behaviors such as object avoidance, trajectory prediction, and camera pattern recognition will emerge. The system will be rewarded for exploring larger areas, requiring greater accuracy of the vision system to avoid impacts while traveling. Unlike GM's supposed claim of a self driving car, this machine would be capable of learning, limited only by cheap memory, and would never require human intervention.

The evolutionary process, taking the car from a system which doesn't understand the visual input at all to an expert driver, could potentially take several years to complete. It would be taught rather than programmed and the algorithms generated by this selection effort could be utilized in a wide variety of useful tasks which one day may be combined in a more advanced design to safely and reliably transport the world's population to their destinations in fully automatic, self aware vehicles.

No comments: