[the idea]
We wanted to create a robot that could create art, and that is
what art robot does. When provided with a black and white image, art robot scans
and reproduces it in the artistic pen and ink style known a "stippling."
(Stipplings are images that consist entirely of small dots of ink; varied dot density
creates the allusion of black, a range of grays, and white.) Equipped with a sensor
that can decipher black and white regions of a picture, and an oscillating pen that
translates information from the sensor into ink dots of varying density, art robot can
recreate its own rendition of a simple black and white image.
[starting out]
Given the parameters of our assignment ("make a robot that interacts
with its environment from legos, the LOGO programming language, and handyboards") we
faced a few questions: How will our robot know what to draw? What medium will it
use? What kind of sensors are necessary? As we worked through these initial
problems, our robot began to take shape.
We started by thinking about what kinds of sensors we had at our desposal,
what kind of motion our robot was capable of , and how these factors could aid
us in realizing our idea. We decided that a light reflection sensor would be
very helpful to tell our robot what image it should draw. A light reflection
sensor reads how much light is reflected from a laser that it emits, thus
sensing the difference between a white peice of paper or a black one. Now that
we had decided how our robot would know what to draw, we moved on to how it
would draw it. We reasoned that it would be fairly simple to attach a gear-track
to a pen and use gears and motor to move the pen up and down. If we could make
the rate at which the pen moved dependent on how "black" our reflection sensor
was reading, we could make a robot that could create it's own stippling drawings.
Art robot was born.
[how it works]
Our first task was to design art robot's physical structure. We
decided that we could mount a reflection sensor on a structure that would move
in a zig-zag pattern over an image to scan it. In order to control where the
sensor was on the image, we built a frame that would surround the image. On the
east and west sides of this frame, we built a track so that gears, powered by a
motor, could move our scanner north and south over the image. We installed
another gear track that stretches over the images and facilitates the scanner's
movement in the east and west directions. Worm gears were very helpful in this
phase of construction to slow down the movement of the scanner as the motors we
used tended to move the sensor faster than we wanted it to go in order to
sufficiently scan the image. Also, we attached switches to all four sides of the
scanner so that when it came to one end of the image and hit the frame, we could
make it reverse directions.
Since it was somewhat difficult to construct a single framework
that enabled our reflection sensor to move north/south and east/west to scan an
entire image, we decided that we wanted to avoid having to build a second structure
like this for our stippling-device/pen. Instead, we decided to mount a pen (and the
motor that would move the pen) on top of our scanner. Another benefit of this
strategy is that we could ensure that the location where the pen was making dots
corresponded exactly to the location being scanned. Using a Sharpie pen with an
attached gear-track, a simple gear system, a motor and two switches, we build a
device that would move the Sharpie up and down quickly so that it could create black
dots. Our image would be drawn on tracing paper on the underside of a platform that
would sit above our robot. We decided to use tracing paper and a plexiglass platform
so that veiwers would be able to see the image as it was created. With the basic
design created, we were ready to begin construction.
[the programming]
The following is the code, written in HandyLogo, that allowed
art robot to successfully scan and stipple (text file):
art robot code (2KB)