This is an old project I did in 2012 when I was still studying for my masters. The goal was to make a learning robot using neural networks. I did this project together with Karin Niemantsverdriet and Thomas van Lankveld. We repurposed my laser-cutted cnc machine to become 3-axis paint slinging davinci.

In Processing we wrote some code to let the cnc do it’s creative mojo, here is how it works:

The code basically let’s the cnc perform a set of random actions (like picking up paint, make the brush go up and down, moving to a random location), the machine operator judges the painting and gives it a mark ranging from 1 to 10. Based upon the feedback from the operator, the connection between the nodes that were used in that instance grow stronger. Kind of how our brain works, the robot creates connections eventually resulting in a certain desired behavior.

After the feedback is given to the robot, the brush is cleaned and a new sheet is inserted for the robot to start over. Practice makes perfect.

The cnc machine is mostly laser-cutted fiberboard (mdf), using aluminum profiles and skatebearings as linear guides and an Arduino with stepper drivers as the brain.