Painterbot Project!

Hey!

I'm thinking up this exciting robotics idea where a robot applies paint to a paper or canvas with a brush, based on a bitmap input.

As a twist I'd like to use a camera to take a snapshot after some paint has been applied and base the next action on what impact that last stroke had. A feedback loop like that should make the process more interesting and humanlike.

I'm a software developer and feel pretty confident I can get the software bit to work, although I hope I won't have to do VERY low-level USB protocols or interfaces, but from what I've seen there's good libraries available for controlling motors and most kind of I/O devices.

I'm quite new to the whole hardware bit, though, and I'm currently soaking up as much good info as I can. Obviously got lots of questions I hope I can get some feedback on this forum.

So, for starters:

I guess it's either a robot arm setup or a CNC table like setup. For an arm, it's usually servo motors, and for CNC it's steppers, right? Which has the better precision and stability, generally?

I'd like to go the robot arm way cause again, it's more humanlike and fun to watch. But many if not all the videos I've seen on arduino robot arms they seem really flimsy and shaky. Why does it have to be like that? Is it in the nature of the servo motors? Could I just use a more potent servo and get it more stable? It doesn't have to be all 6 volt, can be 12 V or up to 230 V if that's the issue. What does it take to control a motor like that?

Otherwise, I guess it's CNC style, which could also be fun. From videos I've seen, I'm most concerned about speed. Many CNCs are buildt for milling and so they are required to go slow, but can that type of setup be made to go faster if there's less moving resistance as it is in my idea?

As for the camera, I guess I could use a regular web camera and grab snapshots from the continuous video stream, but I'm concerned about grainy quality. Are there still frame cameras with flash and all that can be triggered via Arduino?

I think that's all the most basic questions for now.

Thanks in advance!

Erik Gustavsson