My mom wanted to stare at me while I eat…so I made a telepresence robot. Makes sense.
The use case is obviously deeper than just “stare at me while I eat”. Always sitting at a computer or holding your phone at your face is not exactly convenient. Especially while eating or cooking. The second point is very important! Cooking requires parental supervision (initially at least, to make sure you don’t set fire to your face or steam your hand). Since we’re not (all) three handed aliens, like Zaphod Beeblebrox, we need some way to hold the phone and point it in the correct direction while cooking.
After a few (read many) failed attempts at propping it up against random objects, like pepper jars, to duct taping it to a cap (another story for another day) and countless close shaves involving screens shattering, I put my foot down and had a “Damn it! I’m an engineer! Let’s do some engineerification! (engineering sounds too mainstream yo)” moment. So this is my cheap but sufficiently rugged rendition of a telepresence robot. Made from scrap and one trip to a Home Depot, any sufficiently advanced race of beings should be able to make this. Hyperintelligent shades of blue don’t count as they see everything, everywhere through quantum coupling of time and space.
This post is going to be in two parts. First I’m going to explain the hardware that went into making this. The next is going to explain the software aspect. Hopefully the bifurcation makes sense to whom it may concern.
The base is primarily made of square basswood dowels of different sizes. The fat spar which connects the servos is made of 1/2″ thick dowel. The vertical/lengthwise spars that make up the body are made of 3/8″ thick dowel. I chose basswood as it was readily available and I didn’t have any weight or strength restrictions. It’s not like I’m going to be pulling high g-forces with it pottering around the house and stalking my every move (I think I might have made life easier for the three letter agencies :O ). The frame is made without any explicit measurement, just what felt right, as I didn’t have any measuring tools when I started out. It has to be stable enough to not topple over, when the phone attached to it moves. You don’t want your iPhone 24s+, which cost 7 limbs over a period of 263 years to fall display-first and shatter into a million pieces, like your hopes and dreams! Just kidding, more like a 1000 pieces.
I glued the frame using Gorilla Glue and small cross spacers to attach the two parallel spars together. I also glue two small ski-like pieces of wood to the ends of the main arm to provide a better attachment point for the two servos. The rear end of the assembly houses a caster wheel, which I also glued using Gorilla Glue. It’s pretty versatile, I think you could use it to glue your baby to your hand to prevent it from getting lost. Disclaimer: I am not responsible for any human-gorilla glue mutant/hybrids.
Next I attached the two servos using the Scotch Industrial strength double sided tape. It can withstand sufficient sudden stresses but tends to get weakened in the long run so I used some zip ties to fasten it nice and tight. I then tested the movement using my RC Tx/Rx. Elevon mixing, we meet again. So I was able to configure it to use just one control stick for movement. Pretty good fun, but I wish it was faster. Then I could have a real drift contest!
Next up was the vertical assembly to hold the servo and the arm which controls the phone’s vertical axis of movement. I had some dense packing foam lying around. It was the perfect shape and size for the robot. I also thought it would be good for shock absorption, in case it ran into a wall head on after acquiring sentience and subsequent suicidal thoughts. I stabbed it with a screwdriver in strategic locations to allow me to tie it to frame as well as a piece of cardboard I used as bracing. Very satisfying. The cardboard also came from the same packing, for a bed my room mate bought. It received the same serial killer treatment. I cut a couple of long slits in the top of the foam to allow the servo assembly to sit nestled inside the foam.
Before attaching it to the frame, I stuck the servo arm in the slits. The arm was recycled from one of my old unsuccessful projects (and incomplete blog post), the tachikoma robot. I ripped one of it’s legs off and used it to house the phone holder, also made of stiff cardboard. After securing it to the foam, I stuck the foam and the cardboard bracing onto the base, with nano-Gorillas (/glue), and let it sit for a couple of hours. I added a flat platform of cardboard to the rear, for attaching the Intel Edison and the power distribution board. The battery, a 3S lipoly, is secured to the bottom using velcro straps.
The phone holder is also made out of cardboard and the phone is secured to it using more velcro. Velcro, velcro everywhere!
After a night of glue solidification and expansion, I took it out for a test run. I hooked up my trusty RC receiver to it and along with the elevon-mixed movement servos, I used the rudder channel to control the vertical servo. A little weird controlling vertical movement with a horizontal stick, but it worked none the less.
A short video, orientation is all messed up though as the phone is placed vertically in the holder: FPV video
In the next post, I’ll explain the wiring and the Edison programming that will be required to make this controllable from anywhere in the world!
Exciting isn’t it? Just need to make sure that none of you creep up on me when I’m mutilating tomatoes in the kitchen and you catch me red handed! Pun intended.