17 August 2011

Interactive Robotic Painting Machine by Benjamin Grosser



Benjamin Grosser has created a performing "Interactive Robotic Painting Machine" which uses artificial intelligence to paint its own body of work and to make its own decisions about what it does while being influenceable by others. Like Benjamin says, "to understand this, I suggest you consider the machine an artist in its own right. Just as a human artist is influenced by what they hear, the machine is influenced by what it hears. What it makes will be different in the absence of input, but it is not easy to trace how that input manifests as change." See more;


How it works_
"The system is built from a complex mix of hardware and software components, all networked together and managed from a central control system. This central software utilizes a genetic algorithm (GA) as its decision engine, making choices about what it paints and how it paints it. Audio captured by its shotgun microphone is subject to real-time fast fourier analysis, providing the system with useful data about what it hears. The resulting painting gestures are transformed into codes that can be sent to the cartesian robot that manipulates a paint brush in three dimensions. These codes break down each gesture into a series of primitive moves, describing everything from how much pressure to use on a brush stroke to how to put more paint on the brush.

Three separate but networked computers manage the system. The first runs the central control software, custom written in Python. Using the GA, this software begins each painting with a random collection of individual painting gestures, and proceeds to paint them. As it paints, it listens to its environment, considering what it hears as input into the gesture it just made. These sounds, along with its own biases, are considered at the end of each generation of gestures and used to produce a new set of gestures from the old. Thus a single painting is a rendering of many generations on a single canvas that illustrate a path towards an evolutionarily desirable (i.e. most fit) result. A second computer manages the brush camera, its projection, and also performs the audio analysis, sending that data to the central machine. A third computer acts as the low-level manipulator of the robot, accepting move commands from the central system and using those to drive stepper motors that move the robot in real-time.

The robot itself was built by adapting an open source CNC design. In addition to fabricating and assembling each piece from scratch, I made significant custom modifications to the linear drive systems in order to facilitate fast rapids while maintaining repeatability. Luckily, because of the largeness of a paintbrush head, my accuracy requirements are less than a typical CNC design. This allowed me to design the drive system to be especially fast while using relatively low-cost and low-power motors."

Benjamin's Interactive Robotic Painting Machine has also collaborated with violinist Benjamin Sung, you can see that video and more information about this work in the project page.







Paintings

Below is a selection of works made by the machine. Some of these were made while it listened to itself, others while Grosser critiqued its performance in real-time. All the following paintings are oil on canvas 24"x12" (2011).