The Hexbug Spider Hack Project
My goal in this project is to turn the Hexbug Spider into an Arduino-controlled robot platform. Ideally this would be a small scale model of a slightly larger version, perhaps based on a kit produced in the future. Such a kit is being developed by Jaime Manzell, the man who as far as I can tell is the real inventor of the design used in the Hexbug Spider.
Since this is really my first foray into physical computing I am thinking of working in phases of increasing technical complexity. Since I started, I have had a pretty good reality check, so as of May 2011, I have revised my short-term goals.
The first phase will be to just get the robot controlled by the Uno and remove the IR control system it has. It has two
small tiny motors which I have to be able to control via Arduino to get anywhere. So if I can get both motors to go forward and reverse, I’m good there. I have a nice kit that comes with stuff for me to practice on, so I have a couple motors, LEDs, an tons of resistors to mess with, as well as a guide to doing it. Check it out if you are a noob like me who is a sucker for neat packages.
Ideally I will also replace the battery compartment with a rechargeable battery, but as of this edit (May 2011), both the Arduino and the motors are powered by a single 9V battery.
I will simultaneously be working on getting the Joystick shield working, but that should be pretty easy – so far I have found incredible resources are pretty easy to come by in this subject. The Sparkfun site itself has great guides for lots of items they sell right on the product pages. The hardware I plan on using for the first phase of this project is the Arduino Uno, a Joystick Shield for the Arduino board, and of course, the Hexbug Spider robot itself. I was able to put it together for a fit test quite quickly. I am sure that things will get more interesting once I have to solder everything! The headers seem a little wobbly. Fortunately I have those breakaway ones, so I can see if they fit better.
The focus of the second phase is to make the robot autonomous, and allow it to navigate it’s surroundings effectively (albeit without an objective). I would like to create some sort of purpose for the robot, some small task which it can complete for it’s owner. The way it moves is kind of cute, which gives it a little personality, but I think that it could have a much bigger impact if it seems to have more of a personality. I have done several experiments with a small LCD screen, with the hopes of turning it into the face of the robot. Currently one of the biggest obstacles for this is the weight of everything. I estimate that in it’s current prototyping setup, the robot is about 3-4x it’s original weight. That being said, it is handling that weight pretty well. I plan on adding a little soft potentiometer which will allow people to touch the robot to interact with it. I am considering making the robot get “happier” as it is petted, and “saddened” when it is neglected. This should make the robot into a sort of simple companion. I am currently thinking of ways that the relationship with the robot could be two way – if he is happy, what benefit does he provide? Maybe he “poops” out jelly beans?
The third phase will be to get a second Uno board and try to set up communication between the controller and the robot. The goal being that I be able to control the robot with signals the sweet little tiny controller’s joystick. This would let me override the autonomous mode as needed, allowing both manual and self-control as options for the robot. It has 6 buttons available, so this is only scratching the surface of what could be done. The guide for reading the button input from the joystick is available freely online, and
by this point I should know what I need to send to the arduino attached to the spider to get it to move around, the question will be is: How do I open communication between the boards? The answer seems to be xBee, and there is a very alluring amount of XBee stuff available at the NYU computer store…