Gutsy the Rockin' Biped
This is very much in progress. I'm building on what I learnt from Duckling to design a more refined "rocking-style" biped.
2013-11-17 Construction is pretty much complete!
I spent some time trying to "finish" Gutsy. Hardware-wise, he is almost there!!
He now has a 3D-printed head (that holds an ultrasonic sensor), is controlled by an onboard micro-controller, and is powered by onboard batteries (4xAA NiMH).
He is still using my very rough test code though - so he's not walking that well, and doesn't yet use the ultrasonic sensor.
The next thing to do is to work on his software! I need to make him walk better, make him navigate, and also give him some entertaining routines. (I may also look at creating some basic software tools to make it easier to create animations for him.)
Besides that, there will be ongoing tweaks... e.g. adding a piezo transducer, adding more sensors, etc
Alright, onto some build details and photos!
1. In my last update, I did a test to see if Gutsy could walk. I found that if he's carrying the 4 AA batteries, he needs extra weight in his swinging arms to shift his body weight left and right. So, I redesigned the "Lower Arm" parts so that they now include a slot for holding a coin. An Australia 50 cent piece provides sufficient extra weight. So, I stuck one of those into each arm.
2. I thought I'd try to organise his servo wires as much as possible, so I turned them into some "suspenders" and a "belt" for him. (I hear all the cool robots are wearing their cables like this this season.)
3. I've put together Gutsy's "Electronics Core". Gutsy's body is designed to hold the 4xAA battery case, and my plan was to build all the electronics on the case, so that all of this can be easily removed/inserted. This is intended to make it easy to change batteries, and to make it easier to mess with Gutsy's electronics (e.g. adding/changing sensors, etc).
The head and ultrasonic sensor are attached on top of the "Electronics Core". Keeping the head/sensor as part of the core makes the core easier to remove/insert. (i.e. less danging wires tying the core to the body).
The other key component on the core is the micro-controller. I've attached on a mini-breadboard, and an Arduino Nano clone. The USB socket is easily accessible, so Gutsy can be programmed without removing the core form his body. (I wanted Gutsy to easy to work on.)
Note, there are 2 small bits of velcro on the core. These stick to matching velcro bits on the body to stop the core from jiggling around when Gutsy walks.
4. And here are a few shots of him with all the bits assembled! I'm pretty happy with how he turned out. He's going to be my little, desktop buddy. :)
I've tried to keep him as tidy looking as possible... but the wires in his back could probably be tidied up more by strapping them together, etc. I've left them as is for now to make the electronics easier to tinker with (since I'm still experimenting).
One of my aims of the design (with the electronics core, open back, etc) was to make him very easy to tweak and experiment with.
I'm having a lot of fun working on Gutsy! There are more hardware tweaks/improvements to make, but what he needs most is some programming attention! So, programming will by my task for next weekend. :D
Thanks for reading this update!
2013-11-03 Update - Armed and On Video
Over the weekend, I designed and printed Gutsy's arms. Each arm is made up of 2 parts, and the left arm and right arm versions are mirrored-versions of each other. There is a hex-shaped connector that enables the parts to plug together with a tight fit. I didn't need to use glue on mine. It's designed this way because it makes the parts easier to print, and also enables the arm angles to be changed if needed.
Having done the arms, I had the parts needed to get Gutsy moving. I wanted to see if he could actually work.
So, I assembled Gutsy's parts! I used double-sided foam tape to join the torso to the hips. The other parts are screwed together. Here he is!
I wanted to see if he could walk! So, I threw together some fairly hacky code to try him out! (I won't post any code until I get that cleaned up.) You can see the results in the attached video.
I found that the swinging arms were able to shift his body weight from foot to foot! So, the design works! (It requires more refinement and tweaking though! :) ) However, if I put 4xAA's into the battery case, the extra weight made it harder for Gutsy to shift his weight. With the batteries on board, I needed to add some weight to the arms in order for him to be able to move. (I blu-tacked on some coins... This is becoming a standard trick for me...)
Seeing him walk was encouraging! It is a bit rough, but it does work! Woo-Hoo!!
I had hoped that Gutsy's arms would both function as part of the walk-cycle, and also provide additional ways for Gutsy to express his personality. As a test, I put Gutsy's arms into a few poses to see what they could do.
"Strutting his stuff"
That's it for this weekend! Next, I'll be getting the batteries and the micro-controller on board (using an Arduino Micro). Then, I'll be adding some sensors, and refining his programming. Then I'll design him a 3D printed head.
2013-11-02 Update - Torso Part
After getting distracted by Wobbly for a bit, I've put my focus back onto Gutsy.
I actually designed Gutsy's torso before I started work on Wobbly, but didn't get around to printing it... and I was kind of apprehensive about printing it since it's a large part, and I've had some large parts fall off the print bed mid-print on occasion. However, the printer decided to behave itself, and printed the part out without any problems. It only just fit on the Up Plus, and I had to rotate it 45 degrees to get it to fit.
Here is the finished part:
The shoulders are designed to fit 9g servos, and the main body cavity was designed to hold a 4xAA battery box that I had lying around. Here's how it looks with the parts placed on. (It's not glued/screwed on yet.)
As you can see, the cavity in the back is designed to fit a mini-breadboard. I'll be using that with an Arduino Nano (similar to what I did with Duckling's Arduino Micro). The breadboard will be glued onto the battery box, and I'll also attach his head to the battery box.
So the battery box will be an electronics core that can slot into and out of the body easily (for swapping batteries, programming, changing sensors, etc).
Next is designing the arms!
I positioned/angled the shoulders in a way that matched how I pictured the arms in my head. However, I wanted to wait until I had the torso done before properly designing the arms. I wanted to be able to measure lengths/angles to figure out exactly how the arms should be shaped.
I'm still a little worried whether I'll be able to shift his body weight from foot to foot using the arms, but hopefully it'll work out (and maybe I'll need to add weight to the arms, etc).
Will provide another update once the arms are done! I'm hoping to get that done this weekend. :)
Thanks for reading. See you in the SB! :P
2013-10-23 First Post:
When building Duckling, I wasn't sure whether the movement would work, and it was my first time designing 3D-printed parts, so I didn't think about how they would be assembled. So I ended up using glue and double-sided foam tape to get Duckling together, and also added in bits (like the pen!) that I had lying around on my work table.
With Gutsy, I'm aiming to create something that is easy to assemble and which can be replicated (by me or others).
I'm using a very similar foot design (same angles), but this time, I've designed all the parts to come together using screws. I've reduced the amount of "foot" that exists behind the ankle to make it easier for him to turn. (With Duckling, I had to be careful with how much he turned or his feet would crash into each other.)
I'm also trying a new hip design for holding the servos. I like that this makes his legs look longer, and also kind of looks like he's wearing shorts. Besides the aesthetics, this design makes it easier to removed/replaced the servos if necessary.
I'm happy with how he's shaping up, and I've attached the STL files for the feet/hips for anyone interested.
The next step is to design the upper body.
The primary function of the upper body will be to shift his weight from foot to foot. I have a few ideas in mind, but I'm still undecided on which to go with... I know that I want to give him "arms" so that he'll look like a humanoid. I plan to use the movement/weight of the arms to shift his weight from side to side for walking.
However, I haven't decided if I want to use 1 servo (and have the 2 arms be joined), or 2 servos (giving one to each arm). Also, for both 1 and 2 servos... I have a few different ideas for the arm shapes/angles... I guess I can try them all, but I'm still trying to decide on which to go with first... I'll decide, design and print them next weekend...
I'm also still thinking about where to put the batteries... I'm still using NiMH batteries, so I was thinking of putting them on his back. However, I'm tempted to try lipos, but I have (maybe unfounded) fears about them going kaboom...