Sketch Arm

This project is an open-ended assignment from the Visual Thinking course at Pitt. As part of the Studio Arts Department, the introductory course teaches, “insight into the process and practice of creating visual art.”

The project idea would be some digital system that manually produces a visual output; that is, an automata that would randomly plot the graphical output of equations to create unique drawings.

The idea was a revamped version of something I experimented with in the past. Inspired by an art installation of “Paul the robot” by Patrick Tresset the TenderPixel gallery in London, I had previously made an arm using an Arduino development board, some servos and various spare parts to would translate a black and white image onto a dry-erase board with marker. It would take an image, and go through, pixel-by-pixel, until it found a ‘dark’ pixel. The arm would move to the x and y coordinate of the pixel by using trigonometry I worked out to calculate the two degrees the different servos needed in order to move. Then it would recursively test the surrounding pixels to move the arm to near locations, in essence “drawing” the image. It generally worked as a concept, be it not perfectly and it was dismantled. This was an opportunity to reincarnate the sketch arm in another form.

The Process

  1. Work on the hardware commenced, using some square wood dowels and cheap stepper motors. Not knowing how to use CAD software at the time, and just finished learning some basic shop skills, I bent some sheet metal into brackets for the motors. Extra metal tubes were added to help counter-balance the arm weight and eliminate a bit of play.
  2. Once the hardware of the arm was built, I began work on the code. No longer having the trigonometry equation from many years prior, I did some research and stumbled upon SCARA Robots, finding equations that modeled the arm's kinematics. Using this as a springboard, I quickly coded the driver for the microcontroller.

    For the quick graphical work I used Processing, which is what Arduino IDE was based on and is great for quick prototyping. Using a library that grabbed the X and Y coordinates of the mouse pointer in a window, the code calculated the joint angles of the arm and sent them over serial communication to the microcontroller.  I could then make the sketch arm mimic what I was doing with my own arm when moving the computer mouse around my desk.
  3. The final program for the project used random numbers to choose a math function (Linear, Exponential, Sine, Modulus) with random modifiers, and used the arm to draw/plot out that function on the paper with a marker. This resulted in drawings that were unique doodles on paper and yet similar by highlighting the underlying equations driving the image creation.

This arm is a passion project that I hope to expand upon in the future.  Everyone prints photos at home with a personal inkjet or deskjet printer and other 2D images digitally printed on to canvas, glass and other surfaces has become commonplace. But wouldn’t it be interesting to translate digital images into physical non-digital formats? It could be a fun alternative to traditional printing, that is, using traditional mediums such as pencil, charcoal, marker paint, etc. combined with circuitry, microcontrollers, image processing, and mechanics to in essence “draw out” or “paint” a chosen work.