Interview with media in San Antonio

Here are some parts of a recent interview with San Antonio media.

Steve Bennett: You are the designer that worked with San Antonio artist Judith Cottrell on her automatic drawing machine, which is busily making art at Artpace in San Antonio. I wonder if you could tell me a little more about it from your perspective.

Darcy Whyte: Yes, I was contacted by Judith Cottrell to make the drawing machine.

I had already made a couple of machines that can draw portraits as part of some experiments leading up to my Paint-o-matic project (http://mambohead.com/category/paint-o-matic/) which is a robot that will paint using acrylic paint. She discovered me because of my on-line presence. She contacted me with her interesting and challenging requirement which included some challenges like having pen angle adjustment, sketching on glass and paper and mounting the machine to various challenging situations. Working with her was a total joy and the machine materialized in my lab and has been installed on two windows during her show so far (more to come).

Steve: Have you seen the machine in action? What do you think?

Darcy: I’ve seen pictures of the installation and I’m sure some video will follow. I’ve got pictures and video of my other similar machines at http://mambohead.com/category/drawbot/.

Steve: Have you made one before?

Darcy: I think I made about 4 or 5 machines before I made the machine for Judith. I made a couple of prototypes as well to test new design choices that came forward for her project. I think I must have done 40h of stress and other testing.

Steve: How did this project come about?

Darcy: The project came about a couple of years ago (or a little less) when I was thinking about a robot that could paint. It was just a thought but that that changed to a concrete plan one day when I was walking through the Metropolitan Museum of Art in New York City. I happened across a painting that stopped me right in my tracks. I was overwhelmed because the painting wasn’t just a beautiful and striking portrait but there was something about the color experience. I was getting some sort of a purple or blue experience or something that I could not quite describe with a known named color. It was a strange and amazing thing for me. I looked closer and saw that the artist had divided the canvas into sections of about 1cm squared. He added paint to the squares using juxtaposition of colors rather than mixing the paint.

At that moment I was quite excited because I knew I had to make a painting robot that could help with this technique. I now realize that the Lucas portrait has an increased color gamut because he was using more than the usual CMYK or RGB primaries we’re used to with printing and computer monitors. So you can’t have this special experience while looking at a picture of the work.

I’m planning on using 6 or 7 primaries and keys with my machine.

I expect this to be a several year journey and the drawing robot was one of my areas of exploration of this sort of robotics.

Steve: Has it been satisfying for you?

Darcy: The ink drawing robot project has been incredibly satisfying. Making Judith’s machine helped me make more discoveries about robotics, usability and design. The machine uses some open source software an hardware. Sandy Noble’s Polargraph software, Processing.org and other cool stuff like the now very famous micro-controller called Arduino (http://mambohead.com/2011/09/arduino-team-shares-what-they-learned/). I believe Arduino and the communities surrounding these open source practices will change art and technology forever.

Gandola headed for Scotland

I cooked up a gondola for Sandy Noble (Scotland) to try. Here’s what it looks like.

I added extra ballast, rubber bands, beads (to connect cords to the gondola) plus I unscrewed it from the base for easier shipping. I added some wooden nuts to the bottom to keep the stacks together.

Sandy Noble’s bead chord and sprockets

Sandy Noble has been using beaded cord and sprockets for his drawing robots. He sent me some of what he has been using since he’s spooling down and doesn’t intent on selling them anymore. They are very nice I must say. I think bead cord has a lot of unexplored potential.

Image rotation on Zing Epilogue Laser

I went to cut out a new gondola for Sandy Noble in Scotland to try. He’s one of the new friends I met online with this drawing robot project.

What happened was the laser decided to rotate the image. Okay for this case except it also decided to shrink the image. I decided to let it run through and I’d have a smaller gondola to try. I figured I might learn something from that.

Anyways, has anybody had this problem? I get it once in a while. I usually just backed up a few steps and re-rendered the PDF, then went through the process of getting the job on the printer and it worked. But this one, I did it twice and both times it did the same thing.

The assembly was about 8.5″ wide and 12″ high. I tried it the first time with the height set to 12.001″ and the second time 11.999″. I though perhaps the machine had a soft limit at 12 so it rotated.

I suppose if I try it again on another day and take my time I might not make whatever mistake I made but I’m curious if anybody has a suggestion?

Update: I tried to make parts again today. I reversed the Length and Width of the cut area in the laser driver. It seemed to work. The only question is to know when we have to reverse these dimensions.

Mr. Drew at Artpace, San Antonio, Texas

Mr. Drew is running very well thanks to a demanding specification from Judith Cottrell. Also Sandy Noble and his brilliant “polargraph” concept and software expertise. Of course there is Open Hardware such as Arduino and Adafruit Motor Shield. Also there is Processing.org open source software.

The machine can use markers or pens and has pen angle adjustment. It has a pinch handle that allows easy pen switching. It can scribble on paper or glass (since the pen tilt permits pens with large ink tanks. Also the contact point of the pen with the drawing surface is visible so you can see the action in real time.

A second machine is on it’s way to Artpace (with more improvements). It will use a more versatile spool mounting system and NEMA 10 stepper motors.

ll.

Drawbot operation

Now that your drawbot is installed and working here are some finer points on using the polargraph technique.

1) The configuration file has the following parameters. If you match the sizes in the file to the actual dimensions, then the geometry will work out properly.

Example:
Step: 7.5 degrees, 360/7.5 = 48 steps/rev.
Gear box: 36:1, 1728 steps per revolution.
Spool diameter: 1″, Circumferences is 3.1415″ or 79.796mm.

machine.motors.mmPerRev=79.8
machine.motors.stepsPerRev= 1728.0

2) A few function keys (from Sandy’s Polargraph system):

F1 – Machine input. This is the main setup page. starting in the top-left corner, this is a rectangle representing the machine, with an image loaded into it, along with a few extra marks and rectangles for page size and position, and picture frame. As you move your mouse over the input machine, you will see coloured lined overlayed that represent the polar coordinates of each corner, as well as the positions of the control strings.

F2 – Density preview. This shows a representation of how the image has been converted, if pixels have been selected. This uses 256 levels of grey, so it does show levels that will not necessarily be expressed in the physical drawing.

F3 – Details. This shows a clear view of values, and has a couple of useful utility functions in the buttons panel.

F4 – Command Queue. This is view of the command queue only, in case your screen isn’t very wide. This is a list of all the commands that are waiting to be sent to the machine. It is headed with the line Command queue: paused or running. Clicking on that line will pause or start it. Each command in the queue is dispatched when the machine reports that it’s ready. It’ll normally be empty, but when you choose to draw a picture, it’ll be filled with a couple of thousand commands in one go.

3: A few shortcut keys:

s : Show selected centres. This displays red marks on the input machine around the centre of each pixel that has been selected.
g : Grid. This shows the polar coordinates grid as an overlay on the input machine. It goes faint when some pixels are selected. But otherwise, this is useful when adjusting the row size.
p : Preview. This toggles the density preview machine on or off.
+ : Increase max drawing speed by 25 steps per second.
– : Decrease max drawing speed by 25 steps per second.
* : Increase acceleration speed by 25 steps per second, per second.
/ : Decrease acceleration speed by 25 steps per second, per second.
# : Pen up. (requires pen servo)
~ : Pen down. (requires pen servo)
[ : Decrement pen tip size setting by 0.05mm.
] : Increment pen tip size setting by 0.05mm.
You can press these while the machine is running. The machine will pause, the command will be issues then the machine will resume.

More Drawbots!

I’ve been enjoying this project quite a bit and am doing a round of improvements before I make a batch of these machines. Basically I have a few friends who want them and I think it’s a great opportunity to learn about the robot-human relationship by supplying these machines.

So today, I hope to finish the design on the next generation which will have two versions. Mr. Drew and Baby Draw.

The only potential distraction is that I’m going to make another attempt at making a pop pop boat today too. My brother Brett and I can hopefully solve this strange craving.

Ideas for Mr. Drew:

-Detachable chords.

-Improved threaded circle nuts.

-Integrate controller and spools. I may branch this to another design.

Ideas for Baby Draw:

-Integrate controller and spools.

-Detachable arms.

Also, Sandy Noble is sending me his inventory of spools and sprockets from his drawbot project. He’s getting out of the business of selling drawbots for the time being. In exchange I’m sending him my systems for fun.

Mr. Drew drawbot software fast track

Once you have your drawbot wired up and connected to your computer (but the controller is not plugged to the 120V wall outlet) you’re ready for software!

There are lots of ways to program Mr. Drew. I have a collection of software including Arduino, Processing, Sandy Noble’s software that is ready to go.

1) Unzip this to a folder.

2) Plug the controller to the USB connector on your computer. It does not have to be plugged to 120V yet.

3) Windows should recognize it and then prompt for drivers. Proceed as if you have disks with your own drivers for it. Your controller has an Uno arduino in it. Navigate to the Arduino folder (where you unzipped everything. There is a drivers folder there. It has the drivers for Uno. Select that. It should install.

4) Once installed you can verify if the arduino driver installed properly as follows.
a) Unplug the controller from USB.
b) Start the arduino software by double clicking Arduino.exe in the arduino folder.
c) Go to the menu Tools/Serial Port and take note of what serial ports are available.
d) Exit the arduino software.
e) Plug the controller in.
f) Start the arduino software again.
g) Go to the menu Tools/Serial Ports and take not of what serial ports are available. There should be a new one. Take note of this port number.

If there is a new COM port when the controller is plugged to the computer, we just got through the hard part.

5) Now that we know the controller is talking to the computer we can update it with the latest drawing software. With the controller plugged to the computer (the controller does not have to be plugged to 120V yet), you can do the following steps.
a) In the menu Tools/Board, “Arduino Uno” should be selected.
b) In the menu Tools/Serial Port, the COM port that’s associated to the controller should be selected.
c) In menu File, Open, select the file “DrawbotController.pde” which is in the DrawbotController folder inside the Arduino folder. When this file opens, it will open another instance of the Arduino IDE environment. You can close the empty instance and keep the one with the “DrawbotController.pde” file open.
d) Click the “upload” button which is the second last button on the toolbar. You should see no errors (they will be written in red at the bottom of the Arduino IDE).

The above steps are only done once. After that you can forget about the above steps unless you’ve received a software upgrade.

6) Close the Arduino environment. You will not need it again unless you are upgrading your software.

7) In the software folders, navigate to the Processing folder. Inside there is a file called “processing.exe”. Run this file by double clicking on it.

8) In the File/Open menu, navigate to the “DrawbotController” folder inside the processing folder. Open the “DrawbotController.pde” file.

9) Click the “Run” button which is the first on the toolbar. A little window should appear. Maximize this window. You should see a picture of Marilyn Monroe. You will eventually load your own images but for now use this image for this test.

10) There is a button called “Select TopLeft”. Click that button once and then click the top left of the image. Then click the bottom right of the drawing square which is larger than the Marilyn Monroe picture. Click inside the box for now towards the lower right. A red square should appear.

11) Click the “Resize Image” button. The image should grow to the size of the red square/bounding box.

12) Plug the controller in to 120V outlet.

13) In the far right of the screen there is the word “PAUSED” in red. Click that and it should turn green.

14) Click the button “Set Pen Position”, then click on Marylin’s face. A purple dot should appear where you clicked.

15) Click the button “Move Pen to Point”, then click somewhere else on the image. The two spools should move.

If the spools move, then your machine is completely operational and you are ready to try your first image. If you have any issues make sure the steps above were all followed and seek help from Darcy.

If they don’t move, then open the text file called “polargraph.properties.txt” in the processing folder inside the DrawbotController folder. Inside that file is a row for the COM port (controller.machine.serialport=-1). Using notepad text editor, change the number (in this case -1) to 1. Make sure you stop and restart the processing environment. Go back to step 7 and try again. If that doesn’t work, try the numbers 0, 2, 3, 4 and so forth until you find the number that corresponds to the sequence of the COM port your computer has assigned to the controller.

16) Unplug the controller from 120V.

Mounting Mr. Drew

Use great care not to fall when mounting things on the wall. Cut two lengths of fishing wire that are long enough to reach from the spool mount position to every corner of your drawing (add 50 percent or more to make sure). At one end of each line, tie a large not (perhaps a figure 8 with a couple overhands layered on top). This will fit in the slit at the back of the spools. Hook each line into the spool slots. Perhaps s small piece of masking tape to hold them in the slot while you mount the spools.

Position each spool and add screws through the mount holes.

Route all the wiring and make sure the controller and computer have a nice place to sit.

Tie the lines to the gondola. There are two mounting holes for that.

To wind the spools use the software to tell the spools to wind in. To keep a tension on the lines so they wind nicely on the spools clamp a clothespin or small clamp onto each line. As the spool reals the clamp up, move the clamp downward. Keep doing this till the gandola weight is on both wires. If one spool starts to carry the gondola before the other, simply unwind that spool a bit while the other catches up.

To make the spools wind, open processing.exe and open the DrawbotController. Click Run. Mark your pictures Top Left and Lower Right. Make sure the red “pause” indicator is not on by clicking it. Set the position of the gandola to the bottom of the image. Then use the move button to move it to the top. Set position to bottom. Move to top. Set position to bottom. Move top. Each time you do this the spools will wind up more. When it is getting close, click closer to the existing position so each time it it moves it will move less.

If it is going to pull too much tension on the wires, simply unplug the controller from 120. Replug.

Once the gandola is anywhere in the drawing area you are done.

Making your Own Image with Mr. Drew

The preparation of the image can be done on any computer (not necessarily the one connected to the Mr. Draw system). This is that part of the process where you can add your own creative input.

Start with your image as a JPG file. Load the file into a graphics editor. The following instructions are for the use of GIMP which is a free software. You can google “download gimp” to get it installed on a computer.

Once the file is in GIMP you can do the following types of changes.

Menu Image/Mode/Grey Scale or Image/Mode/Indexed. This will change the image to black and white so you can see the different shades that the machine will attempt.

Cropping.

Brightness and Contrast.

Re-sizing. I’ve been making my images about 400 pixels wide and that’s been working well. You can try wider ones with higher resolution too.

You can do whatever you want with the image.

Once you’re happy with the contrast of the image you can transfer it to the machine that’s connected to the controller. You can drop it into the DrawbotController folder in the processing folder. Within the same folder is a file called “polargraph.properties.txt”. Within that file you need to change the file name from

controller.image.filename=Marilyn1.jpg

to

controller.image.filename=yourfile.jpg.

It is case sensitive.

Start the processing controller by opening processing if it’s not already open. Then menu File/Open and go into the Processing folder and the DrawbotController folder and open the controller file. Click the Run button and the little window will appear. Maximize the little window that appears and you should see your image in the controller.

Use the “”Select TopLeft”” button to click the top left and lower right of your image. You can go ahead and click out a large square. Resize the image with the button and it should fill your square.

If the red pause indicator is on, click it to turn it green.

First we want to move the pen gandola to the upper right of the drawing area. Do this by first using the “Set Pen Position” to estimate where the gandola actually is. Then use “Move Pen to Point” to move the gondola to the top right of the drawing area. You may have to do this several times to get it to be at the top right and also have the pink dot on the screen at the top right.

You can discover where the draw area of the drawbot is by using “Move Pen to Point” to move the gondola to each corner of the draw area on the computer screen. Make sure a piece of paper is mounted to cover this area.

Move the gandola back to top right.

Mount a pen in the gondola.

Click “Shade Scribble”.

It should start drawing your image.

Motor Temperature

Check the motor temperature from time to time. If they are too hot, you can turn down the voltage on the regulator.

Always unplug the drawbot from power before changing any settings or wiring.

The motor voltage is set by the dip switches (seen in the picture).

The voltage value is 1.5 volts plus the sum of all the switches that are in the left position. In this example it’s 0.5, 1, 2, 4. The total is 7.5. We add the 1.5 onto that and get 9V. So the drawbot is running on 9V.

If it gets hot, turn it off for a few minutes, then lower the voltage. For instance disable the .5 switch. To drop another 1/2 volt, disable the 1V switch then renable the .5 switch and so forth.

The idea is to have the voltage as low as possible and have the machine run reliably.

Kindergarten Picture

I am just cooking up this picture from kindergarten.

This thing is starting to gel.

Thanks to Sandy way over in Scotland I’ve got things hanging together pretty well.

Baby Drawbot Lives!

Baby drawbot just completed it’s first real images.

I’m still working at the software side but at least I’m able to produce something aside from random scribble now.

The machine is running quite nicely even with the make-shift gondola I made from hardboard. I find that it works better with one of those fancy ball pens that have low friction. The marker type have enough friction to cause a bit of backlash. As you can see the darker drawing is more granular, that’s because of the backlash.

My next gondola will not have this problem as I think I know how to solve that.

If anybody wants this machine for practicing, let me know.

I used Sandy Noble’s software for this run. He has an awesome way of processing the image based on a dual polar system which matches with the actual degrees of freedom of the machine.

I will work more with his method and will try some other methods.

Drawbot progress

I’m back to working on my drawbots. I’ve been trying out some software by Sandy Noble which looks very promising.

I really like my baby drawbot because I can bring it where ever I want to work on it.

As I write this I am at the Ottawa Art Gallery running a drawing on it.

All the electrical fits into a small bag so this thing is really portable.

“Drawbot in a bag”.

I’m going to make an even smaller one so I can take it around on my motorcycle. It will have retractable arms and will work with a standard sheet of paper.

I’m also going to make some that let you mount each spool where ever you want. This will allow for some very large formats.

I’m also making a gondola that can carry many colors and also change colors on the fly. That will be a challenge but I think it will be rewarding.

Sandy Noble’s Drawbot

I really like this drawbot.

It uses polar coordinates instead of cartesian. Seems people are calling this a polargraph.

Polargraph / slow drawing show preview from Sandy Noble on Vimeo.