I had originally intended to write programs so that the robot could do specific paintings. I quickly realized that doing that is tedious, boring, and really doesn't take advantage of many of the robot's great features. So instead of that, this instructable will teach you how to:
- modify the robot so that it can paint with brushes, rollers, and a variety of other apparatuses
- take advantage of the basic pre-set programs to do some painting
- use Active TCL to design a painting using LOGO
- modify the sample programs that came with the module to do some paintings using the sensors on the robot.
This project assumes that you can follow the directions that came with your Create to set up the Module, connect it to a computer, etc. I'm pretty sure most people will be able to handle that without (much) difficulty, so I haven't duplicated those directions here.
Conceptual Basis (or, why I did what I did from the perspective of an artist)
After playing with the robot for a bit I realized that I needed to decide if the robot was an artist or a glorified paintbrush. The logo programing treats it more like a paintbrush, whereas the sensor based programming treats it more as it's own artist. I like it as an artist best. In reality, we quickly became art team-mates. It painted faster and more decisively than I would, but without me to choose paint colors, fill it and push go it was a basically really heavy frisbee. No artist can possibly work without an awareness of the world around them (having senses at all affects your art) so to use the robot without using the sensors seemed ridiculous. I provided it with the things it needed to be aware of, and it's response to these things created the paintings.
I also quickly realized that it's important to forget about how a human completes a task and consider how a robot would complete it most easily. With the exception of spray painting, the majority of painting is most effectively done on a horizontal surface, in spite of the cliche of the artist at their easel. The easel is there for the ease of view for the artist - horizontal art has a foreshortened effect. That's why your printer prints horizontally - that's the best way to apply ink without risk of running or bleeding. That's why I decided to work with the naturally horizontal nature of the robot, instead of trying to build on something that could paint on walls as is so common among 'painting robots.'
I put a lot of thought to the difference between painting an printing. When I paint I don't worry about working left to right, or top to bottom. I put paint where it should be, working in curves, straight lines or whatever else is appropriate. As I'm not trying to just build a printer, I thought that the robot should paint in lines the way I would, rather than work across the painting like a roving printer.
This presented certain challenges, especially with the obvious risk that the robot would roll over wet paint. As it turned out, paint doesn't really seem to accumulate on the wheels much, but they do add a nice mark to the painting. A little builds up between the treads of the tires, but that can easily be peeled off when it's dry. In a way, it's no different than an artist using their fingers to smudge pastels - the robot uses it's 'appendages' to affect the way paint is applied to the surface.
Remove these ads by
Signing UpStep 1Materials List
- iRobot Create (obviously)
- Command and Control Module (attach it now, and set it up. Double check that it's ON when you're setting up the USB connection, that held me up for a few minutes because I didn't realized that the robot and the command each have an on/off switch.)
- Battery charger
- Serial Cable (included)
The create comes with holes all over it to accept 6-32 screws. Don't buy anything that's not threaded 6-32, because it's inconvenient to have keep track of more than one thing. Also, if you can, either get all flat (like mine) or phillips screws. One screwdriver rules because you'll want to keep around to tighten and adjust things as necessary.
- 4 - 12 inch pieces of threaded rod
- 2 - 2 inch screws
- 10 (or more) nuts
- 2 - 1/2 inch screws
- 9/64 drill bit (this seems to be a good size because it's just a tiny bit snug. The vibration and movement of the robot will tend to loosen connections, so being a little snug is a good thing.)
- 2 - 1 to 1 1/2 inch hinges (these are commonly used for wooden boxes and dollhouse type applications)
- 2 or more - 2 inch clips (green is nice if you can get it - it coordinates with the module, and they come in handy for securing things)
- 1 sheet of white plastic at least 9x9 inches (mine is a board that is sold with cake decorating supplies - it's used to support a cake after it's been decorated. It's corrugated and about 1/8 inch thick, and I was able to cut it with heavy duty scissors.)
- 2 feet of 1x2 lumber
- funnels (to hold the paint)
- 3/8 inch outside diameter clear plastic tubing
- 1/2 inch electrical shrink tube
- small paintbrushes, rollers, painting pads, makers, pens, or anything else that you can think of that will make a mark
- masking tape (to hold down paper and hold things temporarily)
- plastic sheeting (because robots are unpredictable and fast, and you probably don't want everything painted)
- a diner ketchup style bottle with cap for ever color you plan to use
- white paint (for style)
- something to cut wood and something to drill holes
- a screwdriver
- other basic household tools
- lots of paint that cleans up with water (I use mis-tints from paint and home improvement stores. You can get a lot of it for $1 to $5, or, if you're super nice/lucky they'll give it to you for free, like the super nice people at Pittsburg Paint, who supplied almost all of mine.)
- something to paint on (paper and fabric work well. Butcher paper comes on rolls and is a cheap choice, especially for starting out.)
| « Previous Step | Download PDFView All Steps | Next Step » |















































Both of them plug into the same port as the command module so you can't use the command module and Bluetooth. But if you're controlling the Create from your computer you don't need the command module, anyway.
The biggest downside is that you're still limited by the serial speed of the Create, but there's also BT information that gets sent around, so it's slightly slower than a direct serial interface.
Then play around with some simple routines to turn the RGB values it sees into navigation commands (e.g. turn right if you see red, left if you see green, and turn around if you see blue). Heck, you could even draw on the same canvas as your robot, and it would react to what you've drawn and "embellish" based on that - now there's a partnership! :)
(Oh, and you could of course also program it to avoid driving outside the boundaries of the painting - put brightly colored paper around the painting, and program it to avoid that color.)