Two weeks ago I saw the Sparkfun new product post and instantly knew their new product would make a perfect telepresence robot. Now all of my parts arrived and I finally got it all put together! It’s basically a mashup of an Arduino, Adafruit motorshield, Pololu Wixel, iPhone with Facetime, and, of course, the Sparkfun Magician robot chassis.
Video and more pictures after the break!
I’m using an iPhone with Facetime to provide the onboard video feed from the robot. I run the terminal alongside Facetime to provide motor commands over the Wixel wireless link.
As you can see, the Magician chassis is having serious problems on my carpet. I’m running four fresh AA batteries using the provided battery holder. It works fine on my smooth table but barely moves on the carpet and the bumpy linoleum in my kitchen. The chassis has limited power from the motors, one of the wheels fits on it’s axel poorly, and the bearing castor feels like it’s got sand in it, *BUT* I still feel I got my fourteen dollars worth. As a proof of concept (e.g. fun) this has been great. Some upgrades I’m considering are lower geared motors and an improved castor from Pololu.
The motors are currently controlled by a serial connection to the Arduino routed over the Pololu Wixel wireless dongle. The Wixels are fantastic little devices that provide a wireless connection equivalent to the USB cable that usually tethers my projects to my laptop. In addition to the motor controls, I can also program the Arduino with sketches remotely, which is super liberating. I will definitely use this in the future, even just for development.
The Wixels have many more capabilities and could probably handle all of the processing requirements of this project directly without the Arduino by using a custom program, but the wiring is so much simpler this way. I was also very happy to see that I could just double-stack the Wixel and Motor shields with a couple of extra pin blocks I had lying around. Xbee would also have worked here, but the Pololu devices are much cheaper and I didn’t need all of the extra mesh networking capabilities or range of the Xbee.
I built an iPhone holder out of matte board and double-sided foam taped it to the robot chassis. It’s hard to see but I added some horizontal braces that are glued in to help keep the V-shape and provide a surface for the double-sided foam tape holding it in place. I even made cutouts for a rubber band to hold the phone in place but forgot to find some rubber bands, string will work in the meantime. In testing I’ve noticed that the camera needs to be pointed up a bit more, but a servo-based tilt mount would be more awesome I think.
Other future improvements include the chassis upgrades mentioned above and adding a more pretty control interface so that I can send people a program to control my robot from their computer and they can call my phone with Facetime so that we can have remote meetings! I also ordered up some distance sensors that I’m going to use to detect impending table edges. My officemate already asked me “Tabletop telepresence robot huh, can it dump itself off the table autonomously?” In a future dream revision I’d like to have more of the control take place from the phone directly so I won’t need the Wixel connection to the motor controllers. I think some sort of iPod touch or Android phone-based solution would work really well (but $$$).
UPDATE: Cool company (Romotive) doing this stuff. I like their idea of using the audio jack but don’t like the idea of losing access to the built in speakers to use them for motor control. I wonder what is their solution.