PhilBot (Aspiring Phil Collins Robot)
After seeing so many great drumming robots on LMR, I figured it was time for me to build one of my very own. I have never built a robot, or done anything quite like this, so this will be a learning process. I bought an Arduino a month or so back after reading about it constantly in my favorite magazine, MAKE. With a little help from TheCowGod, who also used the Arduino in his drumming robot, I have put together the start of PhilBot.
I also picked up a motor shield for the Arduino from Adafruit. It is a great way to use the Arduino to control multiple motors, and servos. It offers a lot of simple code to make the most out of your motors and servos. I used the body design of Brandon from Society of Robot. I used the same motor and motor mounts as well.
This morning I spent some time in front of the band saw and drill press and built the body. It was pretty quick and painless, and cleaned it all up with a bench sander. Overall, I am very pleased with the way it turned out.
I decided that before I worry about drumming, I need to get this thing to drive around, avoid walls, and find objects to drum on.
I bolted everything together and ran some code that I had written ahead of time. I am not happy with the wheels I have, but it is really hard to find wheels that will work well with a 3mm motor axel. I will probably have to fabricate something myself. I also quickly realized that my "looking" servo is far too slow. For the most part, PhilBot ran pretty well for its maiden voyage with all new code. There is still plenty of work to do, but he seemed to at least stay away from walls and obstacles, yet found a few things to drum on.
I got my new servo this morning. I picked up the Hitec HS-81 servo. This was nice and cheap ($15 at my local hobby shop), and it is fast! I cut a (somewhat sloppy) hole into the surface so the servo sits nicely inside and tapped some holes for a couple screws to hold it in place. After letting Philbot run around a bit, it quickly became obvious that my slow servo was the cause for a lot of the problems I was having before. Now it is time to fidget with the code...
I ran out of room for another motor on my motor controller (only 4, 2 for front drums, 2 for wheels). So, I am using the extra servo slot I have for the bass drum. I am also going to use the bass drum as my third leg while I am not drumming. When I find something to drum on, I will lift up the leg, the robot rear end will sit on a couple rubber feet, and it will turn into a drum. I don't know if it will work yet, as I am waiting for the JB Weld to cure. The ball is actually a top that you spin. I stuck the dowel end into a hollow aluminum pole. Also notice my new flat battery (6V 1000 mAh) that will fit nicely in between the two layers to run the motors/servos. Oh, and one more thing. The drive shafts will be trimmed down, just haven't gotten there yet, nor do I know if I am going keep these wheels...but I don't have any other options for a 3mm axel. More photos and hopefully a video once I get the two drumsticks installed and the code a little more fine tuned...