Tuesday 27 November 2012

WIP: 20 DOF Humanoid Robot (video)

I've always been fascinated by robots, especially humanoid ones from watching Power Rangers, Gundam, Medabots, etc. When I was young I always dreamed I'd one day get to build a Megazord or Gundam. I guess I'm now slowly heading towards that dream.


This is a work in progress for my build of a 20 DOF (degree of freedom) humanoid robot. Video of some current progress can be seen after the break.
A few years ago I was surfing on the web when I came across videos for Robo One robots. These were humanoid robots made of up hobby grade servo motors that could walk and even fight. I was instantly hooked. This looked like a step towards my own personal Gundam or Medabot. I was watching all of the videos about them and looking at how I could build my own. Unfortunately, back then, the kits were very expensive, with the cheapest kit costing over $1000. I couldn't afford that so building one of these was a fantasy. One day, however, I came across the Emma U0A Humanoid Robot. This robot used smaller, cheaper servos and was still able to do the same things the bigger humanoids could do. I was very intrigued. I ended up finding a build page about the Emma including the type of servo it used. The servos it used were much cheaper than normal servos and I was able get all of the materials to build one for less than half of what it cost to get a normal sized Robo One robot, although the Emma Robot and the servos are not that much smaller than they are.


This is the current form of my humanoid robot. I will go into detail on what I used and how I built it down below.

Here is a video of what it can do currently. 



The robot waves, in its own form of "Hello, world" and then tries a very simple form of the Gangnam Style dance. You will notice that it does not use its legs or walk. This is due to limitations in my current design and from my current power source which I will talk about below. I have already thought of some solutions to the limitations and am currently working on implementing them.

First is the brains of the robot. Right now, the brain is my laptop. It interfaces with a Lynxmotion SSC-32 servo controller. I use Lynxmotion's SSC-32 Sequencer program which allows me to create the steps and sequences to make the robot move.


Next, the body of the robot. This robot uses 20 functioning (and 2 temporarily placeholder) servo motors. The ones used by this robot are the GWS Micro 2BBMG micro servo. These servos are smaller than regular servos and not as strong, but since the whole robot is smaller due to them, the servos are strong enough to move the robot. The servos had their original mounting slots removed so that they take up less space. New mounting holes were drilled into the casing.


The servos were held together by marine grade aluminum. The Emma robot used CNC Mills to mill out its aluminum parts, but being a poor student at the time, did not have access to one. I had to manually cut and drill out all of my parts. What I did was design the parts I wanted to make on AutoCAD, then printed it out on paper. I then cut out the paper and attached it to the sheets of aluminum that I cut to shape using a band saw. I then marked out all of the holes I needed and drilled them out using a drill press. I had a sheet metal bender which I used to make angled parts.

Parts designed in AutoCAD and printed out
Paper designs, bent parts and parts with holes drilled in
Manually marking holes, drilling and tapping
Sheet metal bender
The big downside to doing all of this manually is that it is hard to get parts as precise as I want it to. This leads to parts not being completely aligned and uneven, which makes programming the robot a bigger challenge. It also does not allow me to machine certain components such as the servo horns so I have to use the original ones which are flimsy and causes the robot to wobble even when all of the servos are still.

The wobble of the robot makes it difficult to make it balance, which is needed when trying to make the robot walk. I would like to be able to machine my own servo horns which would reduce or eliminate the wobble, but I plan on designing extra support to critically wobbling areas such as the thighs that would be easier to produce with the tools I have now.

Currently, the robot's servos are powered using 6 AAA rechargeable batteries producing 7.2V. I originally chose to use these as they were readily available and because they recharged quickly (I used 15 minute recharging ones). This proved to be insufficient, however, as the AAA batteries were heavy, and the battery harnesses both added to the weight, and were unable to provide enough current for all 20 of the servos running at once.

When I tried making the robot walk, as soon as I tried to make it stand on one leg, the load from the servos was too great, causing all of the servos to go out of control. The weight of the batteries and harness also made the robot too top heavy, making balancing more difficult. The solution to this is a different power supply. I am currently in the process or sourcing Lithium Polymer batteries as they are light, small, and can provide enough current to power the servos. 

With these changes I am confident that I can make my robot walk and perform other tricks that Robo One robots can do.

I started building this robot a few years ago back at the start of university but had to put it on the back burner to focus on school. Now that I've graduated I have more time to tackle this project. From the time I've started the project to now, the humanoid robot environment has changed a lot. Now there are many more kits to buy and they are comparable to the amount I spent making this robot. They would not have the problems that I have encountered building mine.

If I had the choice to buy a kit or to make my own, I would still have chosen to make my own. I love to be hands on and build my own things. I also would not have gained as much knowledge and experience that I have gained in building and programming this robot if I had just bought a kit.

Hopefully, I will be able to finish the redesign of certain parts and have my robot walking soon to share with you all.

I plan to eventually make my robot to be controlled by an Android tablet or phone, or to make it autonomous. 

Here are some more pics. I will also have to clean up the wires in the back =P







No comments:

Post a Comment