Donkeys are among the earliest domesticated pack animals, they are stubborn but very child-friendly and yet the word “donkey” has a negative connotation. The founders of “Donkey Car” found the perfect name for a self-driving toy car. Donkey is an open source project of a group of volunteers who share a common enthusiasm for self-driving cars – and want to build them themselves. For this purpose they provide material and instructions or organize races to improve themselves continuously. The community is growing, the fans worldwide are getting more and more. The Ars Electronica Center already has a number of fans of these little robocars, and we want to pass on this knowledge in the Machine Learning Studio.
The Open Workshop “Donkey Training” will take place as part of the AI Theme Weeks, focussing collectively on one topic until February 2. With the help of artificial intelligence we teach a robot car to drive autonomously in less than three hours. After we have generated the data that will enable the car – or rather the artificial intelligence – to master the course, we transfer this “knowledge” to the autopilot and check whether the car actually follows our trained instructions.
But how does this work exactly? How do you train a conventional remote-controlled car to become a self-driving Donkey Car? We have summarised in advance the most important steps for you:
1. The Basis
The basis for a Donkey Car is a standard remote controlled car. However, Donkey Cars recommends to use one of four models from the manufacturer Exceed. These offer the best prerequisites for the conversion to a Donkey Car. In addition, they are supported by the community and are fully compatible. They are available via Amazon, on the website you can find exact shopping lists. The platform also offers Donkey Kits, which contain everything you need for a Donkey Car.
“You can buy all parts for about 250 USD on Amazon and it takes about two hours to assemble everything,” promises Donkey Car.
2. The Conversion
In addition to the remote-controlled car, a Raspberry Pi computer is required, a single-board computer in credit card format, which is equipped with a wide-angle camera to record image data. Also needed is the deep learning library “Donkey”, which is provided by Donkey Car. It is essentially based on the Python programming language.
The individual components must then be assembled correctly, for which Donkey Car also provides numerous instructions, such as these:
3. The Expansion
Our so-called techtrainers, a mixture of the professions of technician and infotrainer, explain technologies such as the self-driving model cars to visitors in the Machine Learning Studio. At the same time, however, they also work on new solutions, as in the case of the donkey cars: the vehicles are constantly being further developed and fine-tuned, they are fitted with new, 3D-printed panels or their battery life is extended by installing an external power bank.
4. The Controller
The donkey cars at the Machine Learning Studio are controlled by a standard PS3 controller, but alternatively you could use an app or any other joystick. You connect to Raspberry Pi via SSH, an encrypted network connection, and open a kind of “folder” to start Python. Python in turn connects via Bluetooth to the Playstation controller to control the robot car remotely.
5. The Collecting of Data
Afterwards we navigate the Robocar through the course to record data. In terms of handling, nothing changes compared to driving a conventional remote-controlled car. The required data collected while driving are photos on the one hand, and information on speed and wheel deflection on the other. The better the data, or the more precisely you follow the desired course, the better the donkey car will subsequently be able to cover the route on its own.
6. The Transfer of Data
The AI “decides” when it has collected enough data. Approximately after 10,000 photos or a driving time of 15 minutes, one can assume that the information is sufficient to train the AI. Driving too fast is not helpful, because then the photos become blurred – the photos have a very rough resolution. It is better to drive more precisely and therefore slower. Then the data is transferred to a more powerful computer to start the training. The computing power of the Raspberry Pi is too low for this purpose.
7. The Training
The training is performed in the above mentioned open source program based on Python, provided by Donkey Car. The training is done in epochs, the goal is to reduce the error rate until a constant curve is achieved. The end of the training is reached when no more significant change can be made.
8. The Driving
After completing the training, the Donkey Car is able to run the course on its own. One could collect data while driving and continue training afterwards. Driving works because the system requests pictures from the camera and constantly compares them with the stored data. This explains why the Robocar is a bit bumpy at the beginning and gets “better” over time, but without training in between: The data request works faster. By the way, a marked route isn’t mandatory: The Donkey Car could also be trained to drive around objects like chairs or cones.
Train self-driving cars, produce music using AI algorithms, experience a computer piano that can record and precisely reproduce pieces played by human pianists, or learn more about a neural network that composes music à la Beatles. From January 14 to February 2, 2020, the Ars Electronica Center will be devoting itself to the topic of “Artificial Intelligence – the Revolution behind the Hype” with expert discussions, special guided tours, workshops and deep-space presentations. The entire program: https://ars.electronica.art/center/en/theme-artificial-intelligence/.