September 2008: This LEGO MINDSTORMS portrayer robot was a preliminary study for LEGONARDO. It is a SCARA robotic arm that can draw any image. The steps to get a portrait with the software I developed are three: make a photo (or load an image), extract the edges to obtain a serie of black lines on white background, and then vectorize the drawing for the robot to understand and draw it. This portrayer robot draws like a real artist, and not like a printer! First, it draws the long lines of the contour, then adds the details, and finally fills the dark areas.
Here you can see an Italian TV special broadcasted on 3rd May 2009, where I show the portrayer robot, the Rubik solver and other robots. Many thanks go to Matteo Molinari for the recording.
When I was at the Cirque des Sciences in Luxembourg (September 2007), I saw Erik’s XY plotter in action, and I thought I should make my own portrayer robot. During a dinner in Luxembourg, Claude Baumann explained me how to transform a raster image (composed by pixels) into a vector representation. Here is his tutorial about vectorization. I started building a cartesian plotter like the one seen in Luxembourg, based on the LEGO Technic Control Center plotter 8094. That prototype was really precise, allowing 0.1mm resolution.
I showed the first prototype of the portrayer at the Festival of Creativity (Florence) in October 2008. In two days the robot portrayed more than 170 people! The photos were taken by a webcam on a white background, to help edge extraction. The best illumination is diffuse white, to avoid sharp shadows on the faces.