Self-driving Lego Mindstorms Robot

Description

In this talk, I'll describe the workings of my personal hobby project - a
self-driving lego mindstorms robot! The body of the robot is built with Lego
Mindstorms. An Android smartphone is used to capture the view in front of the
robot. A user first teaches the robot how to drive; this is done by making the
robot go around the track a small number of times. The image data, along with
the user action is used to train a Neural Network. At run-time, images of what
is in front of the robot are fed into the neural network and the appropriate
driving action is selected. This project showcases the power of python's
libraries, as they enabled me to put together a sophisticated working system
in a very short amount of time. Specifically, I made use of the Python Image
Library to downsample images, as well as the PyBrain neural network library.
The robot was controlled using the nxt-python library. A high-level
description + videos are available here: http://slowping.com/2012/self-
driving-lego-mindstorms-robot/