Sunday 17 July 2016

Robotic arm build: A fresh engineering adventure.

2 years in the mind, a week in the making

 The "Stringy bot" 

We saw a very repetitive production line, workers moving bricks off a conveyor belt onto pallets by hand. How could the sweat be spared? Of, course a set of robotic arms can do it. At that time still in high school and at least 4 years away from an engineering degree, we decided the only way to get something done sensibly sooner would be to design a small one from scratch and make it move- bit by byte, regardless of what we could be or might study to become. A couple of 3d printers, cnc machines and some education later...

The design objectives for Stringy Bot were:

-Cheap, competition was $900 'dobot'- naaaaaah dude! we want it free.
-Precise, 0.5mm repeatability fully extended.
-Versatile, ability to utilise different ends.
-Fast, therefore light in weight
-Larger than the average hobbyist size, arm lenth beyond 150mm.


To do it in a fasionably engineering style it needs to be in CAD form, and of course with a little bit of animation for inspiration!
 

 

Here are all the parts before laser cutting.


 Some free laser cutting after fixing the machine for the owners.


 Here is an unedited techincal run-down of all the parts fresh off the laser cutter.





At this point it took us quite a bit of time and cups of tea to make progress from here onwards.

The drive mechanism with some serious gear reduction was a challenge I had not completely solved yet. The options I was fairly determined(lazy, fussy, cheap) to avoid were:

-A planetary 9:1 reduction gearbox, too pricey and not available in all ratios!
- 3d printed or laser cut gears.. timeos to model and adjust by tolerances, and not scalably possible to a great enough resolution. 10mm gear on a 90mm...
- Toothed timing belt. More teeth to print or laser... same precision issue.

SOOOOOOO, now what? 

Disc and string.  

It sounds mad from a mechanical perspective but hey, its dirt cheap with almost infinite scalability in gear ratios not determined by any tooth modulus

After failing horribly using gravity as an advantage on a simplified version of our solution we resorted to using a trusty system found on many Delta style 3d printers.


Effectively two Dyneema/Spectra threads (think kitesurf line low stretch and tesile strength) run on two spools. Considering the drive spool, one line unwinds, while the other winches in the exact same amount of line in the other direction of the same drive spool- closed loop!  I need to mention that it is working satisfactory in this extent, for the current purpose, but there are some upgrades to better accomodate this system coming in V2.

The motor then drives a set of "parallelogram style actuators to separate the motors from the moving parts, therefore saving weight. More agility and better lifting capabilities. Try and make sense of it here, or check out the techincal run down for a basic demonstration.
 

And then for interest sake we drove the not-so-critical base axis using laser cut gears. 


 Mechanics are ready enough for electronics. Thats where the other guy in 'we' comes in, Ruan. Master(work in progress) of electronics and firmware! On the breadboard you can see an Arduino Uno compatible, and four stepstick stepper drivers. The basics, bare minimum at this time.Ladies, that is a four strand plait you see over there.


Usb and power into the nest of electrons, add some 1's and 0's, and we have a bot ready for action. With some basic code in the firmware , Stringy Bot does it's first movements!
 


Now to conclude, we have a cheap, fast, versatile, and strong robotic arm with an arm reach of 400mm! With the V2 we hope to complete our goals by bringing down our tolerances and making it a more precise and friendly bot to learn some new dimensions of mechatronic possibilities.

I just LOVE this stuff. I cant wait to see what the coders are capable of.