Mini Quadruped - optimized for 9G servos
Description
Small problem though - the original design didn't fit the cheap 9G micro servos that I had on hand.
So I spent a *smaller amount of time* optimizing the design to fit the servos I (and a lot of other people might) have in stock.
I zipped up the OpenSCAD versions of the parts in case you need to tweak them to fit your servos or printer tolerances.
NOTE: what's shown in the picture are some mid-prototype parts. The finals are actually nicer with rounded corners and whatnot. Fancy!
UPDATE UPDATE: I cleaned up the OpenSCAD files in the zip package. I know some of you have servos with slightly different dimensions. The new scads should be parametric so that you can tweak a few dimensions to get parts that will fit your servos!
UPDATE UPDATE UPDATE: the parametrics now support different servo horn dimensions!
UPDATE UPDATE UPDATE UPDATE: I've included a beta version of the design intended for those that have the Tower Pro version of the blue servo, based on communicated measurements. No guarantees: I do not have one of these servos to test the fit. I do have some on order, but it could be a couple weeks before they arrive. The beta STLs are available in the zipped archive named case_qp_tower_stls-beta.zip .
Instructions
2 pcs hip
1 pcs backbone
8 pcs shoulder
8 pcs servo button
The servo buttons go in the hole in the shoulder that is opposite of the servo horn. They act as a bearing for the back of the servo as it moves. In a pinch (if your printer has issues printing these tiny bastards), you might be able to get away with some clipped up bits of the unused horns included with your servos.
I designed the junction of two shoulder pieces to be held by two 3mm x 6mm screw/nut each diagonally offsetting from different directions.
I derived the code from lumi's wonderful "chopstick jr" on letmakerobots.com letsmakerobots.com/node/29708
UPDATE: I've messed around with some of the code - at least its a start. I have only worked on the forward movements. Still nothing solid. I attached it if others would like to help improve it. Note that in the top section there are 'home' values for each servo. While I did center my servo horns on the mechanical 'center' of the servo, when I set the value to 90 degrees in the code, the servos were not at center position. I had to adjust these home values to center them. YMMV
For those wondering about the electronics and the wiring - I've just added an archive with an Eagle schematic and board file. Note that I didn't work out the traces on the board. I wired mine by hand on a protoboard, but it'll give you an idea if you're confused about how to connect things.
I soldered female pin headers to accept the Arduino Nano on a small perf board. I soldered in three rows of pin headers across the back of the D5-D12 pins (which will talk to the servos). The first row is connected to the Ardiuno pins, the +5v in the next position and GND on the last.
I'm using four (4) 1.2v rechargeable AA batteries in a 2x2 snap-in holder for power. Wired directly to the 5v rail of the Arduino. I had previously tried a 9v battery tied to the VIN line, but the Arduino's voltage regulator couldn't handle the servos and kept rebooting the board every time it made its first movement.
The eyes consist of a Ultrasonic Module HC-SR04 Distance Sensor link: goo.gl/lUK4o . TRIG is wired to D13 and ECHO is wired to D3. You can choose whichever pins you like, just make sure to change the code to reflect this.
You must be logged in to post a comment.
Hi. In a lot of quadupeds and hexapods I see the servos mounts/brackets with holes on the top and bottom, like in this one. Why is that? I mean the bottom hole, why do you need it?
to more rigidly support the servo. The "button" part goes in that bottom hole, to rest against the bottom of the servo and acts as a swivel bearing. I took at peek at your design in progress - I'm not sure that carrying the weight load on the servo horn alone would provide enough stability.
Awesome! I really like droger's adaptation and your version! :D
Thought you'd like to know that I sent the Plate_Tower.STL file to Shapeways to see if they can print it for me and from my discussion they said that for them, the servo buttons need to be on a separate sprue as they won't print right for them. I can't seem to edit the STL with Blender (I am really green when it comes to this) or anything else I have to strip out the buttons and save them to a separate file. Is it possible to get an uploaded version without the buttons and I can then print that and print the buttons separately?
Great design! The tower pro version was still a little too tight for me. The hole fit the servo body perfectly but there wasn't enough space to angle it in with the wires. I had to grow the length to 24.5 (an additional millimeter) to get it to work.
very nice with the parametric updates. i think shoulder(27,7) should be about enough for the Tower Pro 9g SG90 servos.
The only thing left is the servo horn side needs a bit more tweaking :)
I just wanted to point out, it would appear there are two popular types of the blue translucent 9g servos. The most popular one I've seen are called Tower Pro 9g SG90 servos: http://imgur.com/SSCmv.jpg They look almost identical to the ones this project uses, except for two important differences. The first are the wires come directly out of the side, and they are also a few mm taller.
This causes two problems, the first is in order to put these servos into the holders, notches have to be cut in the plastic to handle the wires on the side. The shoulders also need to be longer in order to handle the added height of the servo.
I actually had a really hard time finding the servo used in this project, but I finally found it on eBay. They look like this: http://imgur.com/rRL1m.jpg
They have a notched or angled bottom where the wires come out of, allowing these to slide into the mounts flush without a notch.
You should be able to angle the servo into the slot - clearing the wires before you slide the whole servo in.
I just added parametric versions of the OpenSCAD sources. You should be able to easily modify and export parts to fit your servos.
yea that is unfortunate, i think he is working on it though.
i made a bracket based off the ones used in this project but they are far from finished.
Not sure if you noticed, but I cleaned up the code and commented everything. I do plan on putting together a parametric version soon - the plan is to make it as simple as changing the x/y/z dimensions of the servos...
What print settings did you use?
Im having particular trouble printing the shoulder :/
how can I change file for this tfit towerpro sg90 servo, it is 27mm tall and slots in shoulder parts are just 25mm, and how to fit cable of servo if there is no space for it on the side of hip and leg?
That's why I included the OpenSCAD files - so you can change the dimensions if necessary. I'm not sure what the TowerPro servos look like. If you could link me to a picture of one - I'll see if there is a major gotcha that would cause my parts to not work with that particular servo.
Yeah, if you don't mind waiting for them to come from overseas, you can get them for around $2 each, maybe less, in bulk. $3 each is not bad for quick delivery.
very nice! what servos have you used? I'm going to buy some so might as well try to get the same ones
Very cool robot. Can you share the code to control it ?
I just added my current version of the code - still a lot of work, but it might be a better start for you than the untouched chopstick code.
There's a link in the instructions for the code that intend to attempt to use... I actually haven't gotten to that part yet.
As I refine it (or something else) to work with this bot, I will share it here.
License

Great design and familiar code :-) Did you improve the code more? I am asking that because I did not have the time to do it by myself. But now I am going to print your designed parts to see how to improve the code with a more precise robot than Chopsticks Junior :-)))
lumi! Thanks for stopping by. I haven't put as much time as I would like into the code. The stance for this bot differs from Chopstick Jr, so I did make a few tweaks to at least get him to walk forward, but that is about it. I was hoping others here would have more time to contribute to the code.