looking for starter arm with realtime manipulation

I'm an artist looking for a manipulatable robotic arm for a project, and I have a few specific needs. I'm hoping someone with robotics
experience can point me in the right direction(s).
I need an arm capable of picking up objects, moving to specific locations, and returning the object back to its home. The objects wouldn't weight very much (think of a paintbrush loaded with paint).
I also need the ability to have a continuous connection to a PC so that I can continuously change the arm's target areas based on some other input. Would be nice to have this all web-controllable or observable.
I'm happy to do plenty of programming to make this happen, and would love to have it in java.
Any ideas? I'm been looking at the Lego Mindstorms, but I'm not sure they fit the bill. I haven't found an arm configuration of the mindstorm, and I'm also not clear if I can continuously manipulate it, or if I have to download the program to the RCX and then I'm disconnected.
A more serious, industrial arm likely fits the bill, but I can't let this get too expensive ... its all experimental at this stage. The mindstorm is in the right price range of what I'm hoping to spend ...
Any help is very greatly appreciated. I've done some online reading would welcome specific suggestions as well as further areas of research.
mix
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Lynxmotion at www.lynxmotion.com has some pretty good arm kits that will probably work for you. All use R/C servo motors, so they are reasonably repeatable -- reasonable within the fairly small positional error common to R/C servos.. fractions of an inch, and likely well within the olerance for your (painting?) for your application.
The servos can be driven from a serial servo controller (everyone sells these; just Google for this term and you'll find lots), which you can connect to your PC via a serial port. Your Java app can then send the byte sequences to the controller. Doing this over the Web, with a video camera for feedback, is extremely doable. The Web connection and video feedback are really independent of the arm.
Be sure to post a URL or pix of your "PicassoBot" when you get it done!
-- Gordon Author: Constructing Robot Bases (Forthcoming) Robot Builder's Sourcebook, Robot Builder's Bonanza
mix wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Gordon; thanks much for the feedback. You're right...my tolerance for repeatability is not exact by any means...close is close enough.
That arm is definitely in the right price range, but I think I may be looking for something a bit larger. It appears that the reach on the Lynx 6 is only about 10". Are you aware of anything like the lynx with a larger reach that doesn't get too much more expensive (i.e. under $500)? I'm guessing I'm jumping much higher in price to get larger. Something that could reach closer to 24" would be more ideal.
However, maybe its best to start small and get a feel for this whole thing. I suppose I can always just add to it and run multiple arms simultaneously :)
Again, thanks for the info. I'll be at the Borders tomorrow and I'll be sure to check out your book(s). (and I will send you a photo...)
mix
Gordon McComb wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
From what I've seen of the arm kits, the price jumps dramatically when they get bigger. The larger arms can't readily use the model R/C servos, so they need DC gearmotors, and encoders for feedback. All this tends to add cost.
I know of an arm in the $3,000 range, called Brutus, sold by Pittsco -- www.pittsco.com. They have an online and printed catalog. I'm not recommending it necessarily (it's a trainer for schools mainly) but its desgin gives you an idea of what might be needed for something in the size you want. The specs show the maximum horizontal reach is 25". I assume that's a 25" circle for its work envelope.
My book Robot Builder's Bonanza has a design for a polar-coordinate arm that I built for about $50 in parts, including the surplus motors and the drive sprockets (go to www.sciplus.com for this stuff). The frame is a combination of hardware angle aluminum and steel shelving posts, and other parts include an ordinary drawer slide and closet pole hardware -- 90 percent of it at any hardware store. The arrangement of the hardware to make the center post looks a little complicated, but overall it's a basic arrangement of nuts and washers on a length of all-thread rod. Anyway, the arm might give you some ideas if you want to scratch build.
I don't show a gripper with the arm, but your application might do with just a "clapper" or something simple. The reach of the arm is dependent on the drawer slide, and it would definitely reach a 24" circle. You'd be hard pressed to engineer a 24" extension from center without beefing up the design, though. That's a lot of leverage to contend with!
-- Gordon Author: Constructing Robot Bases (Forthcoming) Robot Builder's Sourcebook, Robot Builder's Bonanza
bg wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Ok, here's a newbie question I'm sure, but...
If I do serial control over the motors on the arm from a Java app as we're talking about, how will I be specifying this arm movement? Will I be able to specify a target 3D location and the arm will move there, or will I have to send commands to each motor (at least one per arm length I suspect) so that the arm moves to the correct location in the correct manner? IOW, are we talking about having to reinvent the wheel with my approach (because certainly others have long ago worked out these movement issues) or is it simpler than that?
Or perhaps someone has already written a robotics library for java that calculates all these variables for me? heh...
thanks mix
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Inverse Kinematics is your friend in this situation. You would specify the x,y,z and orientation of the end gripper and then the inverse kinematics would give you the movement of each motor to get to that position.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Ok, that makes sense. I have some familiarity with the concept from computer animation experience. However, are these formulas well-known and easy to drop-in, or is it the kind of thing where I'd have to reinvent the thing? Is there an IK library that people generally use?

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

[Zagan] I a newbie to robotics, but I do have a background in programming and mechnical engineering (mostly pneumatics). Anyway, in my research I remember how industrial robots are sometimes "trained" by manually moving the "arms" as needed and having the computer record the movements. Once you have this "recording" you simply play it back to recreate the required movements. This, of course, means your arm motors or servos will have to provide feedback data for your computer to record. This complicates things.
If this is not an option, then hopefully someone will have a suggestion that will work for you.
// Jim
--
|| Free Science Fiction
|| "The Keepers of Forever"
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
robix.com

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.