Continuing with my post re-posting, here's most of the details of the ill-fated MK2.
Originally posted December 30th, 2008:
Wow... 2 months since I did any kind of project worth blabbin' about here. I blame the holidays. And maybe Fallout 3.
About a month back, I was inspired by Admin (Yeah, that's the name he goes by) of SocietyOfRobots.com and his project "ERP", the Experimental Robot Platform. The idea was to build a reusable base platform that could easily be changed and built upon to try out new algorithms and mechanical designs without having to build a new (and basically the same) platform each time. This was the idea behind the ADAM project as well, but that proved to be kinda ill conceived on my part. I placed a good deal of emphasis on the breadboarding section and headers for ADAM's first incarnation, and I really didn't need/want all of that after all. Sure, it was great practice, and a fun first attempt at something useful to keep me occupied and geek-saturated, but I know I can do better. SOR's Admin has WAY more talent for this then I, and does a great job of planning, sketching, modeling, and documenting his projects. His site and forum are easily the primary reason I decided to finally build in the first place.
In the spirit of continuing improvement (possibly through repeated failure) of ADAM, I came up with a MK 2 design to enhance my fun. And in the spirit of a filthy, filthy zombie, I cannibalized the hell out of ADAM MK 1 to build him (and took his brains now that I think of it...)
The plan is to swap out the AVR micro for a full Arduino Decimilla, cut the form factor down by about half the size, replace the silly RC car salvage wheels with RC aircraft tires (again, thanks Admin!), and add a 2 deck design for plenty of space to add servos, sensors, arms, etc. The upper platform could be easily swapped out completely for new ones if need be, and the whole thing will just look more professional then a crappy Radio Shak board on a piece of crappilly cut plastic. (6/7/2010 EDIT: Boy was I wrong! Haha!)
Deciding I'd like to place the servos underneath the lower platform, I needed some quick brackets to hold them in place. Firing up my scroll saw for the first time since I bought it (finally!) I cut up 2 little "C" shaped brackets out of trusty HDPE.
These I could mount on the sides of the platform to hold the servos. ADAM MK1 used a load of Gorilla Glue directly on the servos for this. I don't recommend it, as it makes one look both unprofessional and lazy (not to mention impossible to fix right if a servo burns out). I also realized that glue + HDPE is not an easy marriage to work through (although in a pinch, E-6000 is absolutely GREAT). A few minutes drilling pilot holes and I was in business.
The main problem I had with ADAM MK1 (besides the fact that I wanted to switch to an Arduino) was keeping him straight. I couldn't tell if it was programming and servo calibration, the recycled RC wheels, or the el-cheapo caster on the front that was making him swerve all over unpredictably. Besides the nice RC plane foam tires I'm using in MK2, I ordered up a pair of omni-wheels. This would reduce drag to an absolute minimum up front, as omni-wheels can easily move in any direction with little friction. I haven't quite figured out how I want to mount them, but the idea is to drop down a piece of HDPE on either side of the lower platform up front, and run an axle between them. (6/7/2010 EDIT: Don't do like I did here and mount TWO omni-wheels on the same axle. The added point of contact is unnecessary and hurts performance.)
So that's where I'm at after tonight's fun. I still need to find standoffs for the second platform to mount on, and I'm thinking about battery placement for the servos. I'm planning on either using some of the empty portion in front of the micro and 9V casing, or just velcroing the pack to the underside, since I have about 2 1/4" of clearance, and the pack I'm using is about 1/2" thick.
So far, I'm pretty happy. It's WAY more professional looking, and should be easy to play with after I've figured out the upper platform. Once I find a few standoffs and mount the omni wheels, I should be driving this lil' guy all over the house. First planned project: mobile web-controlled camera to screw with the cat from work.
Originally posted January 4, 2009:
Further work has gone into the improved ADAM platform. So far, this includes:
- Mounting the omni-wheels to a front axle (a threaded rod with hex nuts to hold everything in the proper place)
- Mounting the axle through two HDPE brackets screwed into the chassis
- Adding standoffs to the base chassis to hold the Arduino board
- Mounting the 9V battery holder and switch, as well as the 6V battery pack (between the servos on the underside)
To easily wire in the servos, I placed a small breadboard in front of the arduino to act as a power/signal bus. In the future, this could be removed and replaced by using a Roboduino instead of the Arduino. Maybe in version 3...
One issue I've run into is the differences in how the servo control signal is pulsed between my old AVR code and Arduino code. If I tell the servos to stop (i.e. rotate to 90 degrees for an unmodified servo), they continue to rotate. I've dissected the servos and readjusted the internal pots to keep the wheels from rotating in that case, so I'll have to keep an eye on that. The servo pots are so sensitive that I may have to go back in and replace them with a set of fixed resistors instead in the future.
The other lesson learned was signal noise messing with my servo setup. Apparently, if I connect the ground from my 6V battery to the ground of the Arduino, the noise can be eliminated, and it seems to have done the trick.
Hopefully, this means I'll have a finished bot sometime within the next few days. After that, I'll need to work on the wireless control system.
Well, the MK2 incarnation wasn't a total failure in the end. He's been pretty dead in the water the last few months as I got wrapped up in other projects and "real" life. Here's the one pic I could scrounge up taken before I cannibalized the parts for other projects:
-Use ONE omni-wheel on the forward axle. Two causes drag when you take a corner.
-Mounting servos perfectly straight is hard. Making sure the wheels are also straight on the servo horns is also difficult.
-I have problems properly cutting HDPE into usable shapes without mangling it. I blame my jigsaw, which I have recently discovered is SUPPOSED to cut crooked. Grr...
-Try to use separate power supplies for your microcontroller and the servos. Line noise and voltage drops add to troubleshooting issues. But remember, tying all the ground lines together helps to reduce noise.