I’ve spent the last week learning After Effects. For someone who uses Illustrator on a daily basis, this feels a lot like discovering the magic hat from Fantasia. Among other things, AE allows you to turn a vector based 2D image into a fully rigged character for animation… and it’s even easier to do than you’d think.
I had the idea a while ago to make a series of videos about Noodle and his adventures to Mars… The original plan was that they would be stop-motion shorts, made with a tiny 3D printed version of noodle as the puppet. There is no better terrain to fake as the surface of Mars than our very own desert outskirts… but alas, it is HOT out these days. Even if I could handle the relentless sun (which I can’t because I am WHITE), the PLA that the tiny noodle is made out of cannot. So much for the stop-motion thing.
For scale (his eyes light up and his feet can hold AAA batteries to power the LEDs):
I still wanted to make the short videos, so I started thinking back to all the annoyingly complex animation software (like Flash) I’ve used in the past and decided to give AE another go. Since the last time I made an animation using After Effects, they added the puppet pinning feature. It allows you to animate a single layer image by creating a fancy deformation map inside of it that can bend and warp. This means, instead of needing to connect pieces on separate layers together through a process of parenting and careful organization of anchor points… you can just rig one happy image with some bones, and you’re ready to pose your character with cool jello-like properties.
This happened to work SWELL with noodleFeet, as he is essentially a creature of wobble wiggle nature himself. After a long day spent watching tutorials, I got off and running and managed to make my first animation last week.
I still intend to produce a few more of these, but we’ll see how far my patience goes. Though it’s easy to animate, it’s still time-consuming to do it right. Once I attempt to introduce physics into the mix, I may hit a wall… because I’m too cheap to buy one of the fancy addons you need in order to generate the effects of gravity. Bastards.
The best part about having animated noodle walking is that it actually may have helped me understand how to program real-life noodle to walk better. So really, this turned into practical R & D. Ha!
Enjoy getting to know my baby a little better. He is the feet.
Ok, so the proof of concept I worked on back in October looked awesome, but it couldn’t really move on its own… and there were a couple of reasons why:
I had mounted standard servos on the drive shaft instead of the continuous rotation type. I found out you need more than a breadth of 180 degrees to make a rack and pinion move far enough to do anything useful!
Also, my drive shaft needed some roller bearings to tension the rack down onto the pinion in order to stop all the slippage.
Since both of these things involve the mount of the motors specifically, I took the time to completely redesign that whole part to be more solid in general… after all, it is the very core of the robot- therefore the most important part! Tighter tolerances = happy jelly.
So what I ended up making was a set of brackets that both servo motors mount to… the roller bearing tensioner is a separate piece that screws into both, bridging the two and making it one solid piece:
The extra gear bit (that kinda looks like a spur in the picture above) was added to help keep the rack in alignment, but it ended up causing more problems than solving them… so I removed it. The final working rendition had a roller bearing slightly above and below the pinion itself… instead of one directly on top of it:
After these changes were made I hooked one of the new motors up to an arduino to test whether or not the thing moved… which it didn’t. =[ BUT- it wasn’t because of the improvements I had just made. I now had a new problem to solve.
SO- the bit that is actually supposed to be moving is a sort of vertebrae or disk that slides up and down on the metal rails which the stationary servos are mounted to. One of these disks is attached to the end of each rack, but only on one side. As this goes…. when the rack moves, it tips the disk slightly at an angle… which causes it to bind on the rail rather than slide up and down it at an ideal 90 degree angle. Eh.
The solution apparently was to add some linear bearings… which I didn’t have on hand- so I faked it and just added some cylindrical tubes to the part in CAD and reprinted them. This actually worked extremely well. Not as well as linear bearings, but it did get the thing working at last:
Accept… a third problem appeared at this point. Now that the properly tensioned rack and pinion was actuating the properly guided disks up and down the rails… there was really no quick way to calibrate the motors back to center every time I unplugged the power. Eh. Since these are continuous rotation motors, there is no center… so I had to manually pluck the pinion off and guide the rack back down by hand…
Which sucked. So… it was time to graduate from my uber basic sweep code to something with feedback. I wired up four buttons on my breadboard and Mark helped me write some code in Arduino so that each of the two servos had a switch for up and down. Now I have absolute control over the range of the motors!
So, the new drive shaft more or less works mechanically, which is swell. The next phase of development will include adding limit switches and a way for the jelly to zero itself out when it needs to… as well as some motor choreography so it actually jellies like a jelly is supposed to.
When I moved back home from art school in Chicago, one of the biggest drags was no longer having access to the beefy machine shop that was down the street from my apartment. I went from playing with a room-sized lathe and mill to having little more than a $20 soldering iron and dremel at my disposal. It seemed my metal-cutting days were going to end as soon as they started… well enough, this didn’t stop me from making the things I wanted to. I just had to use plastic now instead. Luckily for me, plastic was in abundance at my parent’s house. My mom hordes take-out containers and tupperware, so I had a bottomless stash to carve up.
Still pursuing my vision of creating the field of robotic flowers, I was trying to refine the design of my ‘steam’ into something a bit more controllable. At some point I ran across a video of a small delta robot someone had made on the internet. As I watched it bob up and down in that special twitchy, impatient way… I fell in love. From that moment on I became obsessed with building my own!
Long story short… Everything became a potential shape. I-beams. They’re everywhere :
I used a lot of crappy plastic hangers. They made great paddles to connect onto the servo horn like you see below :
In the beginning, mechanical joints mystified me. I didn’t quite understand what was going on with how a delta robot moved, so this prevented me from being particularly inventive with what I used to connect all the piece together. I read on a forum someplace that you could use 4-40 swivel ball links, which you can get from a hobby store… so I bought myself a set to try out. The thing is, they work great but they cost way more than any piece of plastic should (like… $18.00 for 12 of them. Just enough for one robot). ALSO, they require tiny spacers on either side of the ball. This helps give the rod a breadth of motion without smacking into the plastic piece its rotating in. The sucky part is that the pack of 12 joints form the hobby store only comes with half the number you’ll need (for a delta you need one on each side). The links are the pieces at the end of these 4-40 rods :
In order to make a whole field worth like I was planning, I’d need to find a cheaper alternative that was less hardware dependent. For now though, these worked. I attached my paddles made of hanger bits to these arms :
The next step was figuring out how to mount the delta robot. I realized that the servo motors would have to be elevated so that the paddles could swing below the angle of the table top. I didn’t have anything fancy to use at the time, so I took a pasta togo box from the cupboard and cut into it with my dremel to get some nice clearance slots :
The next thing to figure out was how on earth I was going to mount the actual motors onto my base. A normal person would have used L-brackets of some sort, so I did precisely that… except again, mine were made from strips of plastic cut from togo boxes. >.<
As you’ve guessed… the end effector was also eventually made from cut pieces of plastic. My first working prototype was practically a togo box with motors :
This was a great feat making my first functioning delta robot. I was proud of its frumpiness because though it wasn’t mechanically solid like a robot made of metal, it still worked. Of course, I wasn’t going to make a whole field of delta robots out of togo containers (although I probably could have because my mom surely had enough to do so). The next step was to shrink the design and refine the method so it could be repeated with ease.
My next prototype was still made of plastic, but I got classy and went to the Container Store and invested in some nice cylindrical boxes. These would become the new bases for my robots :
I repeated the same steps, cutting the clearance slots for the paddles and making small L-brackets to mount the motors to the base. The base the motors were connects to was actually the lid of the container so you could remove it and use the bottom part as an enclosure for the board running it (clever!) :
I had aspirations of building three of this particular prototype… to see if they could all be networked together and potentially all run at once :
The two-dollar micro servos I bought from some nondescript hobby store (imported from China) were terrible quality. Though my second prototype worked, it moved like it had Parkinson’s disease. =/
I wasn’t really happy with this… but two dollars a motor was all I could afford at the time (I was still living at home with the folks). Eager to try again when I could invest in some more quality materials… I started rethinking the entire design.
For the rest of the summer I meditated on what I had learned. The little blue servos from China stripped in a matter of days while I was testing out code… So I was left with nothing more than a delta shell.
One extremely fateful day I met the people of SYN Shop at an art faire downtown. The hackerspace was just a glimmer in someone’s eye at the time and was run out of the garage of the man who is now my collaborator (Mark Koch). They invited me to stop by some time and show off whatever I was working on. Eesh. Even though I was embarrassed and apprehensive, I brought the mangled corpse of my second delta prototype to show to people. In spite of its appearance, my gimpy child got a lot of attention for the mere fact that I managed to pull off making a delta robot from garbage. Mark had always wanted to build his own pick and place machine, so seeing my creation urged him to get off his butt and make one of his own.
This is when the discovery of 3D printing changed my life. Mark suggested that I design my delta’s parts in CAD and of all things…print them. I was familiar with 3D printers, however the one my art school had was huge and they charged an insulting amount just to produce tiny things with it. Up until then, I had no clue that desktop 3D printers even existed, so my mind was blown when I saw his Replicator for the first time. The usefulness of this tool was revolutionary. I could continue building my robots in plastic like I had been, but I wouldn’t have to machine my parts as if they were metal. How easy!
I spent the rest of the year learning Sketchup. This is a free piece of software that I highly recommend to beginners. It isn’t as powerful as Maya or Solidworks, but its intuitive so you can start making things with it immediately. You basically draw 2D shapes like you would in Illustrator and then extrude them upward to make basic geometrical objects. You can edit things from there of course. If you’re looking to design mechanical parts, this tool is a wet dream, but be patient because it has it’s irritating quirks and limitations.
One day during CES in 2013, Mark came onto something rather brilliant while we were discussing our designs over margaritas. The solution for those expensive and convoluted swivel ball links (that I had been stuck using) was to use some sort of U-joint that could compress onto ball bearings and twist freely in all directions. The idea was simple and genius :
This was an important quality because now we could completely divorced ourselves from having to source out any hobby parts. This means aside from some hardware, we no longer had to buy link joints, or cut rod in order to make the robot work. Everything was designed in CAD. Everything was 3D printed. My cost went down significantly, and at last I had the perfect model which I could realistically expect to afford building in mass… and all I had to do was hit ‘print’.
Once we mastered this technicality, it was a matter of implementing it throughout our designs. My personal delta robot went through many…….. many revisions before it became the thing it is now :
It was at some point last spring that our robots reached their pinnacle. My first complete and polished delta made from 3D printed parts was named Jeden (after the Polish word for one), and Mark’s hanging delta robot was named Amber (after an inside joke Mark and I had at the time). This was the revision of Jeden right before I got my neon yellow filament in the mail :
We had been working so hard that our collaboration was getting noticed by the others in our community and our friends from SYN Shop decided to interview us about our ‘rivalry’ for their first podcast :
We hadn’t really thought of one another as collaborators (or rivals for that matter) until that point in time. Once it was brought to our attention however we took off like rockets loaded with beer and nitrous. We’ve been working together ever since and within a year brought a delta robot kit to market… which is the thing I’m promoting so heavily right now on Kickstarter.
This campaign is not only getting us our funding to build that elusive art installation I’ve been wanting to create, it’s also the introduction of our new company to the maker community. Mark and I don’t expect this will be our last kit. We’re sort of hooked on this process now and already have plans for what’s next. We are Robot Army LLC and it looks like we’re here to stay =]
It’s been a fantastic journey. I’m getting to strike a couple of goals off my bucket list. I started this blog two years ago to prove to the world (and myself) that anyone with a little bit of drive and passion can bring something from their dreams into reality… even coming from a position where you lack experience or expertise. There is a wealth of open knowledge and support out there to be drawn upon. If you choose to use it, anything is possible.
Last weekend my friend and collaborator Mark Koch and I were asked by our wonderful PR team at SYN Shop to have our delta robot making ‘rivalry’ featured in the pilot episode of the hackerspace’s podcast.
Needless to say we were excited to help out and talk a little bit about our precious bots whom we’ve been building over the past five or so months. We each had goals to achieve before the episode was shot last Sunday, but both Mark and I had some complications that kept us from preparing anything epic quite yet. With the team’s deadline set before first friday, they needed to get things underway so they took what we had (even though we whined a little).
You see… I had a lot of motors scheduled to arrive earlier this week, which they did on time as expected… however I am an idiot and ordered the wrong size and had to return everything. This was a huge buzz kill. Mark on the other hand was hoping to have robotic fingers fixed to the effector of his delta, which would grip or release by means of electromagnet. He underestimated how tricky it would be to make your own home-brewed electromagnet or solenoid, so he too was SOL come Sunday.
Amber likes top :
I hope I didn’t ramble too much during the interview. I will post the video here as soon as it’s done being edited. Thank goodness the thing wasn’t broadcast live. ::cringe:: and thank something we had beer left over in the fridge from Pawel’s birthday party to ease the process. =]
Suz directing all of us silly drunks :
Mark oogling over what real delta robots look like :
Our directors and interviewers, Suz and Pawel :
Thank you both so much for thinking of us while choosing your guinea pigs! It was truly a blast!
My neon yellow filament came in the mail finally! So last Saturday I monopolized the 3D printer at SYN Shop and made six new florescent arms to replace the grey and nasty transparent ones on my delta prototype. I also recut the robot’s base using some 1/4 inch acrylic, complete with name, signature, and project title etched along the edges. With the prototype upgraded, Jeden is now the first official addition to Light Play… and he’s a looker :
Having figured all that out… it’s time to do the next step: Make about a hundred more. Alas, I am here at the hackerspace hoarding the Replicator 2, this time during off hours so I don’t get the reputation of an equipment hog. So far I’ve printed another set of parts and assembled a second robot making use of some old donated servos. I’m testing it out now to see if I can get it to play nicely with Jeden.
So far, it looks like 0 and 180 are opposite of what I anticipated… meaning the arms will go in the opposite direction they are suppose to when I use my GUI. =[ I could just flip the servos around… and the mounting board…. but I don’t feel like unscrewing everything right now. Besides, I ran into another problem : since these servos were donated, I lack the correct servo horns to bridge my paddle arms to the gear shaft. I tried printing a close proximity that fit tightly (and I mean really tight) onto the gear shaft… but it seems that without the matching teeth to grip onto it… the thing is destined to slip no matter what. Too bad the gear teeth are too small a resolution to print, otherwise I’d have added them in.
Though I have two assembled robots… only one is in working condition as of today. I just put in an order for some more shiny new servos, so they’ll be here in time and will come with their appropriate horns. Until then… print. Print. Print. Print.
Oh yeah… Krux gets to name Jeden’s twin. more to come =]
The last working delta robot I created was completed last August, nearly six months ago. I didn’t have access to a metal shop, so I relied on my dremel to do all the work and because of this it was made entirely out of hangers and tupperware. I hacked a multitude of plastic household objects and to-go boxes into actual moving robots… which was how I had expected to create the whole army of such deltas. That is until I met everyone at the budding hackerspace last summer and learned that 3D printers are now desktop sized.
I’ve come a long way since then. Now having figured out how to make 3D models of the parts I need, I’m printing my robots like a more civilized maker. I’ve also departed from relying on hobby parts for the joints due to my friend Mark’s ingenious idea to implement ball bearings into the design. This allows the robot to be free of heinous amounts of nuts and screws as well as any additional bought items.
Making use of the now open and booming SYN Shop, I ordered my own grey and optic yellow PLA to use on their delicious Replicator 2. If you are in need of PLA and want more color options than the Makerbot store has to offer, I suggest looking at this website. At $33 a kilogram I give them a thumbs up : JustPLA.com
Over the period of this week my model has evolved radically… but I’ve finally gotten each piece finalized to the point that I can assemble a fully functional delta robot. The first of such I completed just last night. It isn’t perfect yet… but that’s ok. It feels good to be making progress on this project again… and to have a new delta in the family. It’s name is ‘Jeden’, after the Polish word for ‘one’. =]