Society of Robots - Robot Forum

Software => Software => Topic started by: awilson on February 18, 2007, 10:44:43 PM

Title: feasibility of pick-n-place operation
Post by: awilson on February 18, 2007, 10:44:43 PM
I have proposed to my superiors using a robotic arm to do a repetitive task. 

Basically I want to program a robotic arm to pick up a part, perform work on that part, place the part back in the same location, and then pick up the next part in the tray.  I want to do this for about 30 parts.

Time is more critical then price, so I figured I could save a lot of time by buying a robotic arm kit.  This way the assembly will be quick and the learning curve for programming will be reduced by the accompanying software and manuals.  The robot I am looking at is the CrustCrawler SG6-UT  http://www.crustcrawler.com/products/arm6.php?prod=11 (http://www.crustcrawler.com/products/arm6.php?prod=11).

I have some experience with programming, including a BASIC Stamp 2.  It seems to me that once I am able to program in the entire sequence for the first part, the rest should be relatively easy.

My question to anyone willing to help is will this arm be capable of doing that many moves?  Will the program required be too large for the microcontroller?  How, difficult will the programming of the sequence be?  There will be objects in my way that I will have to navigate around, will this be possible?

I also looked at the Lynxmotion Lynx 6 http://www.lynxmotion.com/Category.aspx?CategoryID=25 (http://www.lynxmotion.com/Category.aspx?CategoryID=25).  The mechanics don’t work for my application, but based on what I see on their website, it appears easier to program (has its own program, RIOS).  Does anyone have knowledge of the two robots and their programming?

Any input is greatly appreciated.  If you feel I have overlooked something that might contribute to the project failing, please advise.  If you would like more information, please post a reply and I will do the same as soon as I see it. 

Thanks.

New robot builder,
awilson
Title: Re: feasibility of pick-n-place operation
Post by: Admin on February 19, 2007, 09:36:05 AM
I havnt used either arm, but I have a few thoughts.

What is your robot arm picking up? Is it a heavy object? These arms have very limited lifting ability (I ran some calculations on the SG6-UT in the past and it was dissapointing).

Also, they are not very accurate (by a cm or two) because of the low resolution servos - especially at full reach when error is maximum. You can probably get around this with tweaking.

So for 30 endeffector positions, you would need to preprogram each servo angle for each part position. So for 5 servos * 30 positions . . . a lot . . . And your arm needs at least one or two more safe positions to avoid collisions between each point. To save significant memory you could in theory calculate inverse kinematics . . . but I dont think anyone but a hardcore expert could do that for a 5 DOF arm (I cant) . . . The lynxmotion arm has a built in 'inverse kinematics engine', but the SG6 only gives you an excel file with forward kinematics (not very useful) :-\

If I were to program this I would write 32 arrays, each of size 5. But to be honest I have no idea if the BASIC Stamp 2 has that much memory . . . you could buy a different microcontroller that uses say an ATmega168 (or at least ATmega128) which would have enough memory. Any CS people reading this that can calculate it?

Another option would be to buy the software and electronics for the lynx arm and hook it up to the SG6-UT arm. The inverse kinematics for both are exactly the same, but you would need to modify the link length and servo angle constants (not hard if you have access to the source code).

Hope I didnt overcomplicate it too much for you . . .

(seems like you made another post answering a question here http://www.societyofrobots.com/robotforum/index.php?topic=609.0 )
Title: Re: feasibility of pick-n-place operation
Post by: JesseWelling on February 19, 2007, 03:29:04 PM
just for refference

Atmega168
16K Byte self-programming Flash Program Memory, 1K Byte SRAM, 512 Bytes EEPROM, 8 Channel 10-bit A/D-converter(TQFP/MLF). Up to 20 MIPS throughput at 20 MHz.

Atmega128
128-Kbyte self-programming Flash Program Memory, 4-Kbyte SRAM, 4-Kbyte EEPROM, 8 Channel 10-bit A/D-converter. Up to 16 MIPS throughput at 16 MHz. 2.7 - 5.5 Volt operation.

Assuming 16bit numbers meaning two bytes....
32*2*5=320bytes. I would roll with the Atmega128 just to be safe, because it's soo expandable, and doesn't cost that much more. Robostix are $49 for a really good setup, alot of other stuff is over priced IMO.
Title: Re: feasibility of pick-n-place operation
Post by: JonHylands on February 19, 2007, 04:40:23 PM
And if that's too much for you, you can get a bare-bones ATmega128 on a nice board here:

http://www.sparkfun.com/commerce/product_info.php?products_id=35

That's what I'm using on MicroRaptor...

- Jon
Title: Re: feasibility of pick-n-place operation
Post by: awilson on February 19, 2007, 07:42:14 PM
The Atmega128 appears to be beyond my abilities for the moment.  Correct me if I'm wrong, but it uses C or C++ (among others) which I was never very good at and haven't used in several years.  Would it be difficult to learn the commands to program this for my intended use?

What exactly should I be concerned with when looking at microcontrollers as far as how many instructions it can handle?  Is that the EEPROM?

Also, I see there is a Basic Stamp with 8x2K bytes ( I assume this is 16kbytes), would that work if I shortened how many locations I move to? 

Does anyone have an opinion on the level of difficulty involved in programing a robot to pickup and place 20 to 30 parts?

Thanks again for the help
awilson
Title: Re: feasibility of pick-n-place operation
Post by: Admin on February 19, 2007, 07:57:18 PM
Quote
Does anyone have an opinion on the level of difficulty involved in programing a robot to pickup and place 20 to 30 parts?
its no different than a robot playing chess, i dont think (might be worth looking up those robots).

if you have the inverse kinematics equations written up for you, programming the robot after that should be easy. if you dont have the equations, it will just be annoying and time consuming to preprogram in every single location (but not hard).

you might want to consider just using a PC with an off the shelf usb servo controller.

for fun, watch the robot arm video here:
http://www.societyofrobots.com/robot_arm_tutorial.shtml
its probably very similar to what you want, although $25k too expensive . . .