`

logo.gif (3909 bytes)  Home Up Search Free Stuff

 


Tom Lohre's Lego Art Making Machines

Click here to see all the art created by Lego Machines

On Friday January 5th at 9:23pm the art robot received a computer brain. It has been 18 years trying to get a images' information fed to a robot. The big problem was discovering affordable software and hardware. Lego supplied this in 2003. It took four years to learn enough of the computer language LabView to write a program that takes information from an image and feeds it to a RCX robot.

2010 Robot Artist

100604 Above is the graphic I want to generate from images. The size of the circle will match the number of pixels that color range.

100531 I was able to sort pixels according to color using a shift register:)

I am back on the programming wagon.
I signed up for various LabVIEW get togethers in Cincinnati to keep my feet to the fire.

This is the go to place for learning: http://forums.ni.com/ni/board?board.id=460
I was able to solve my problem just by going through all the questions and answers.

charris answered my question at: http://forums.ni.com/ni/board/message?board.id=460&thread.id=1449

NI Discussion Forums : Additional NI Product Boards : LabVIEW for LEGO MINDSTORMS NXT : loading sensor data into an array and then retrieving it

As I muddle through learning this fascinating language. My goal is to be certified in LabVIEW in four years.
My next art-making robot will be a floating mobile where the arms float like a mobile. Maybe it will paint with carbon smoke from a candle. I will be using Eric’s Plotter from the Convict Boys School as a jumping off point to round up all the line vectors.

My current aesthetic image analysis vi. http://tomlohre.com/labview/100519.vi

It collects the total pixels that fit within certain parameters. In my previous robot, I distilled pixel information into eight colors. The initial image was posterized into eight colors but in this vi I hope to be able to receive images from the Lego Camera of famous paintings and see what the spread of colors are in hope to being able to discern a pattern.

 

100111

Adapting motionW.vi in the GPS_Camera8W.llb to display changes in the camera grab due to motion. I figuring out how to subtract an image from an image within the loop with the help of Chris at Tuffs University.


I also am trying to figure out how to save the black edge outline generated by motionW.vi in the second screen. If you save the image that comes out of the loop it is not image generated in the second screen.

In the motionW.vi I attached I have removed the beginning of the part of the program addition I believe will generate a motion outline. To get the outline I have to make the connectivity 8.

http://www.convict.lu/Jeunes/ultimate_stuff/Erik_s_xy_plotter/E_xy_plotter.htm is an excellent stepping off point for my next painting Lego Robot. I will be using a precarious mechanical plotter like the one shown below because the machine does not have to be quick just elegant.

091207


I was able to adapt GPS8.vi in the GPS_Camera8.llb part of:
http://www.convict.lu/Jeunes/Robo_Soccer/Robo_Soccer2.htm
from Claude Baumann of the Convict School in Luxembourg to perform the Vision Center process.
The program still has many things I have to work out but this is a real step forward and consider it a Red Letter Day.
At this point I do not know the details of addressing the pixels and feeding the information to the motors but it should go rather quickly now.
Maybe by January I can have my drawing robot operating and start refining the output.
The first image is the raw image from the camera.
The second is the image derived in the program from the various processes: Threshold, MorphOpen, MorphClose, MorphProperOpen, MorphProperClose, MorphThin and Invert and finally using the Display Blobs.vi to create the second image.
The last image is the image outputted with the save image command at the end of the program. Sometimes the image is black and sometimes I can derive the image out of it by isolating the levels to the area where the data is. I do not know why there is such a discrepancy between the Display Blobs image and the saved image.
My problem now is addressing the individual pixels and feeding their location to a robot printer made of Lego motors.
I am still trying to discover how to create a LLB.

 

 

2007 Robot Artist

Made from Lego parts. The software used is LabViews RoboLab. 

The Cincinnati Post On-Line Story about the robot

Show of Lego Artisto's New Work January 2008

Complete Press Release: http://tomlohre.com/sitwell.htm

Sitwell's Coffee House, 324 Ludlow Ave., Cincinnati OH 45220, http://www.sitwells.net/, 513-281-7487 The Story:

April Show of Art Work by Tom Lohre and a Lego Robot Assistant
Opening: Friday, April 18th, 2008, 6 to 9 p.m. Closing May 18th

Visual History Gallery, 2709 Observatory Ave, Cincinnati, OH 45208,
http://visualhistorygallery.com , 513-871-6065, Hyde Park Neighborhood
Free, No reservation needed. Children welcomed.
Opening: Friday April 18, 2008, 6 to 9 p.m., light refreshments served.
Open: Open Tues-Thurs: 11-6, Fri: 11-5, Sat: 10-3:30, Sunday by chance or appointment. Closed Monday
Web Site: http://visualhistorygallery.com

The Story
In 1980 Tom started exploring the possibility of having a machine paint. In 2003 he discovered Lego's MindStorm Robotic system and spent four years learning the software. On January 5th, 2007 at 9PM Tom finally cracked the code to write a program that took information from an image in the computer and fed it to a robot.

In the past year, Tom has learned that “Artisto”, the name Tom has given to the robot, is like a classical assistant. Artisto lays one of eight colors in generally the correct spot and Tom manipulates it to refine its placement. Tom initially creates an image in the computer that Artisto follows. The painting process takes 18 hours for a 16” x 20” having 4163 dots. Tom can turn “Artisto” off while working on a painting so the painting does not have to be done all at one time. All the paintings in the show are close ups of faces because the resolution is so low that he has to rely on the viewer to fill in the blanks.

In the future, Tom sees “Artisto” having 16 colors to select from with Tom working closely with Artisto continually adjusting the paint as it is laid down.

Link to the paintings in the show: http://tomlohre.com/newart.htm

Link to the brochure: http://tomlohre.com/VHG08.pdf


2004 Robot Artist

In the past he has used a sweeping manner to cover the surface. The robot brush had to be guided by pushing buttons.

 The Robot

LabView virtual front panel

LabView program diagram

For the last twenty years Tom has been trying to develop a art making robot that would see something and then paint it. The problems were many but the worst was not being able to afford the components. When Lego came out with it's RoboLab software there was a good chance it could do it.

The robot is a simple x,y table using novel screw treads to position the pigmented wax crayon. The math on such formulas to position the pigmented wax crayon according to the image's x,y coordinates systems is doable even if the accuracy is not all that great.

Over-the-Rhine Alleyway, 16” x 20”, Oil on canvas

The above painting is a good example of the art the robot is producing. Tom wanted the 2004 robot to be able to work from a image in the computer but the learning curve is too steep for LabView the programming language Tom is using.


Pantograph Painting Robot of July 2003

Pantograph Robot

Wood strips, Lego RCX Brick, servo, IR sensor, pigmented wax, hot table.

    You can see that it is a very simple pantograph where one of the servos runs the print and plate heads back and forth across the work and plate. The IR sensor reads the black and white plate and the wax color stick is melted as it goes back and forth across the heated canvas.

    The robot needs the quick response from the IR head but since the IR head moves about 2 inches a second it fails to reverse the direction of the pantograph until moving about ½ inch. Slowing down the servo so the system has better reaction time following the plate will be tried next. The hypothesis is that the resolution will be improved but still about 6/8" x 6/8".The play in the machine is about 1/8". Moving the head in one direction would cut the sensor resolution in half.

Complete View of Robot

    This is all extremely exciting. Working with the Lego system for several weeks has proved about seven different types of robot painters. The latest one using the pigmented wax stick on a canvas heated by a hot plate creates by far the most beautiful surface. The pastel took several passes to get proper coverage. The fact that you can create any color wax stick you want has a very important meaning when you are trying to create something with something this rough. Slowing down the system allows you to move the print head to cover the surface more efficiently  but you give up the ability of the constant sweep of the printer head to allow you to see more of the image being copied.

Wheel

    The robot needs one driven axis. The other axis is gravity because tilting the drafting table cause the painting head to sweep across the canvas.

      What you really need to know, is how to read an image in the computer and send commands to the RCX Brick using the ghost tower program provide by Lego. Since the current pantograph uses only one servo to move the system, gravity controls the sweeping aspect, You will have to use a rotation sensor to feed information to the computer so it knows where the print head is. This way you will still be able to use gravity to drive the second axis. A on/off to the print head will improve the resolution.

    It turns out that you spend more time making the robot paint than if you did it yourself. Time will tell if it can someday be an asset.


Large Format Pastel Printer June 25th, 2003

Used to produce 26" x 40" pastel printer by placing the black & white plate above the robot. The IR sensor causes the robot to reverse direction when it moves off the black plate. Random movements cause the robot to no repeat it's path thereby filling in areas as it travels back and forth across the black plate.


 

 

The beginning of the rotating print head used for the 2007 robot.

Version 1, This was to be a complete unit that had two wheels that would maneuver around the canvas but inputting the data into the light detector was not invented. I thought about using a 45-degree mirror but never got to this stage when I saw the beauty of using the pantograph device shown below.  This robot uses Alpha Stepper motors and a Radio Shack Color Computer. I have used these stepper motors for various researches into an eventual autonomous robot artist.

     The first project was to create a four-plunger type painting head that would secrete oil paint in measured, repeatable amounts. That project was completed with success in 1990.  The above arrangement uses a photon sensor from a photo lab device to feed light data to the Color Computer. Various filters revolve around the cathode tube to determine color. The motors under the black box drive the machine. The motor to the left will attach to a color pastel wheel that will rotate and then stroke the canvas in the appropriate way. The pastel's contact with the papers surface will act as the third leg.

     The computer control program for the steppers has been finished and now the sensor data as to be converted to +-5 volts and fed into a joystick.

     I still have to work out the focusing of the eye.


 Small Novel Art Robot

Remot Controlled Artist 1999


Art Robot Idea

Spider Artist, 1998, A series of balancing sticks with stepper motors for position control via balancing.

 

 

                                 Portraits of All Sorts