Crazy "Painter robot" idea

Comments & issues
Fresh meat
Posts: 1
Joined: Sat Sep 22, 2012 2:04 pm

Crazy "Painter robot" idea

Postby Zikko » Sat Sep 22, 2012 2:55 pm

Hello phidget people!

I'm a Swedish software developer who's just getting into robotics and computer controlled machinery. I've had ideas in this area for ages, but haven't got the skill to create the whole USB controlling bit myself, so recently finding out about Phidgets was just great!

So, my first idea that I'm playing withies creating a "painter robot" that applies paint to a canvas or paper with a brush, with a bitmap as input. Possibly with a camera-feedback setup.

I've got some basic questions that I hope some of you guys could help me out with:

1. I'm thinking either robot arm or CNC-table-type setup. I'm leaning towards an arm, it'll be more human like and fun to watch. What do you think?

2. What type if motors should I go with? I need some level of positioning accuracy, so my impression is that it's either servo or stepper. What is more suitable? From what I've understood servo is more common in robot arms whereas stepper is more common in CNC-table-type setups. Is this so, and if so why?

3. Browsing through the API docs I found a small note saying that Phidgets motors/controllers could not supply the synchronization needed for a proper robo arm or CNC table. A bit discouraging to read, how seriously should I take this? I may not need sub-millimeter precision, but I don't want it to be all over the place either!

4. As I mentioned, I'm pondering a camera setup to take a snapshot of the canvas after some paint has been applied and basing the next action on that input somehow. Is there a phidgets compatible camera or should I use a "normal" one. I'm a bit worried about using a regular web camera, that it might be too grainy and different from one snapshot to another. Is there a way to rig up a regular digital camera with flash and all and trigger it from software somehow?

I think that's all my questions for now. Appreciate any input on this!

Oh and also, I've just fired up a twitter account as a micro blog for this and other invention projects and ideas, it's at:


Please follow if you like!

Regards // Erik Gustavsson

User avatar
Site Admin
Posts: 705
Joined: Fri Oct 28, 2011 12:17 pm

Re: Crazy "Painter robot" idea

Postby mparadis » Tue Sep 25, 2012 1:02 pm

Hi Zikko!

This sounds like an awesome project, but definitely challenging. I'll try to answer your questions as best I can.

1. I agree that the robotic arm would be more fun to watch, especially if the robot is painting a person's portrait live. Of course, this approach will be very challenging- you'd need a number of motors to position the hand at the correct area of the canvas, and you'd need motors or servos to make brush strokes and lift the brush away from the canvas. With multiple colors, you'd also need a mechanism for switching brushes. The CNC-table sytle would certainly be easier to implement, but would end up functioning much like a printer (not exciting to watch, and less effective than a printer in all likelihood). The colors would also be tricky to manage in this implementation.

2. The assumption you've read is usually the case. The reason stepper motors are used in CNC tables is because they allow continuous rotation, as opposed to most common servos that have a limited range of movement. There are continuous rotation servos available, but stepper motors are also more precise; you can tell a stepper motor to advance one step at a time, which is usually 1.8 degrees on a standard bipolar stepper. You can get even more accuracy at the cost of motor speed if the stepper is geared down with a gearbox. For example, our most precise stepper motor rotates 0.02 degrees per step.

The reason servo motors are often used with robotic arms is because the limited range of rotation isn't an issue, and servo motors are typically cheaper and simpler to control, especially in systems with many motors.

3. Since each motor is controlled individually, you're really at the mercy of how fast your computer can push out commands to the stepper controllers. Even if this happens very quickly, it will always cause one stepper to rotate before the other. For example, if you wanted to draw a diagonal line with a CNC table, it would end up looking like an "L" because one axis would move into position, and then the other. You could alternate motors, moving a little bit at a time, but then you'd end up with a diagonal line that looked more like a staircase. In a painting application you could just use straight horizontal and vertical brush strokes.

4. The only camera we sell is a webcam intended for use with our single-board computer. I agree that a webcam would probably not be suitable for your image feedback system, since most of them auto-correct the exposure constantly, resulting in the colors changing slightly over time. As for a way to control a camera with Phidgets, you may find ControlMyNikon to be useful.

I think the biggest challenges for this project are going to be:
- How is the robotic arm or printer going to move around and apply paint to the canvas?
- How will multiple colors be handled?

Have fun!

Return to “General”

Who is online

Users browsing this forum: No registered users and 2 guests