Published on Sep 05, 2023
The objective:
As artificial intelligence continues to improve, artificial neural networks (ANN) are on the cutting edge. An ANN simulates a biological neural network using a mathematical model. The network consists of interconnected neurons.
The problem with ANNs is that while they are able to find patterns in a set of data, they need a set of data to be trained on before they are useful. In the real world the data is not always available. The goal was to design a program that would be able to create a set of data for the network to be trained on by making mistakes and using them as experiences.
The platform used consists of a simple tank-style chassis, ultra-sonic distance sensor, accelerometer, and control electronics. The code is run on a Gumstix Verdex XL6P Pro which is an embedded Linux computer. It was chosen as it has enough power to run the code in real time.
When the robot is first powered on it only knows how to drive forward. After a few short minutes of driving, crashing, and learning, it is apparent that the robot has learned to navigate around walls and other obstacles. During some sessions the robot performs better than others, it just depends on what solutions it finds and in what order. However, overall the robot performs very well.
As these results indicate, this approach for training and running artificial neural networks shows potential in applications where human-like behavior is desired, such as in video game's AI. This method seems to be only limited by the ability to detect failures and to determine what should have happened.
This project is to explore a method for adding human-like learning to robots.