Walking RObots

hi i am new in making robots, i am here to ask what are the necessary things to know or to do in making humanoid robot legs, and balance without falling with every steps.
i will be glad if someone can help me.

Welcome to the world of robots!

As to the physical construction of walking robots, there are lots of ways to make the frame/links, but most people use hobby servos to control the joints. Are you familiar with hobby servos and how to control them? They are the muscles of the world of hobby robotics. Joe Strout, another user of this forum, made this neat little walker with just four servos! A lot of places make biped walking kits (including servos, servo controllers, and control software) to get beginners started. Some are just “build it and you’re done,” a few are more complete educational experiences, I could think up a list if you’re interested in that.

The balance question is a little more involved. The way robots walk, for now, is very different from the way humans walk. When you walk, your legs give you a big forward push to start, then little pushes with every step to keep your walking speed, but you’re essentially falling forward and to the side of whatever leg is off the ground, while swinging your legs around to catch yourself. This falling/swaying may seem cumbersome, but it’s actually very fast and energy efficient. We human beings conserve about 65% of our kinetic energy from step to step walking this way. The extreme case of this is penguin waddling. Emperor penguins don’t eat for four months during the harsh antarctic winter, so they seriously need to conserve energy. They may not get where they’re going very fast, but their waddling walk conserves 80% of their kinetic energy from step to step. Wow!

Anyway, for a fun little experiment, pick a direction and start walking. After a couple of steps try to freeze with one leg off the ground. If you don’t move at all from your mid-step position, you will fall over. If you were walking very quickly you’ll probably start to fall forward, just because you have a lot of forward momentum. If you were walking more slowly, you’ll probably fall more to the side of your raised leg. Unless you’re doing this on a gym mat or something I suggest you unfreeze and stop yourself from falling. I thought it was a fun experiment anyway.

Now try to walk in super-slow motion. You can do it, but in mid-step you’re basically balancing on one leg. Notice that you shift your body so that when you have one foot in the air, you are centered over the foot that is still on the ground. If you freeze in mid-step while walking like this you shouldn’t fall over.

This is how the majority of hobby biped walking robots work, and it’s probably the best way to start. When it’s taking a step, the robot first shifts over to one side, centering itself over one foot, then lifts the other off the ground. So long as the robot’s center of mass is above some part of the foot still on the ground, the robot won’t fall over. If you were to freeze the robot in mid-step it would stand on one foot, and if you were to freeze it near the end of a step it might fall until both feet were touching the ground, but wouldn’t fall completely over. The Parallax Toddler kit is a good example of this kind of walking, you can see some videos here. They have stopped making the kit, but you can still find new ones for sale at retailers. It has since been replaced by their shorter-legged Penguin kit.

Some biped robots use other tricks to walk, like not taking a foot completely off the ground, but turning it on an edge and sliding it forward. The Robosapian robots have little ratcheting wheels under their feet so they can only roll forward, and they swing their weight from side to side while sliding/rolling one foot. I think it looks rather goofy, but it’s also almost impossible to get one to fall down on a flat surface.

Some of the more advanced biped walking robots like Asimo and Qrio use a more human like walking gate. There is also some research going on into making biped robots with very few motors and more spring-joints for very energy efficient human-like walking, but that’s still a litlte way off. Anyway, I hope you’re still excited about building a walker after reading all that.

Good luck!


thanks for the info adam.
but i am still confuse about humanoid robots, what should be the basic things i need to do or understanding before starting anything.i did some research on the motors for humanoid robots legs, which is a better one, stepper or servos?

That’s an easy one, for a walking robot servo motors are better by far! They are much simpler (and cheaper) to control, offer a whole lot of torque in a very compact package, have absolute position control at speeds and resolutions that are well suited to a small walking robot. Stepper motors definitely have their uses, but I don’t think I’ve ever seen a hobby walking robot that uses stepper motors, for the above good reasons and more.

If you want to work on this problem from the ground up you could pick up some servos, rechargeable batteries, and a radio controller (transmitter and receiver pair) and start messing around, then bring in a serial servo controller for wired computer control and maybe even a microcontroller for complete autonomous when you’re ready for it.

I would recommend a more top-down approach though, with everything (including a programmable microcontroller to run the servos without a computer connected) at your fingertips and a good guidebook to walk you through it. I did some more looking, and the Parallax Penguin kit is pretty advanced, but the old Toddler kit looks really comprehensive, maybe you could find one on e-bay? It assumes a little basic programming experience on your part, but the guide book gives good examples. You might even just want to read through it for ideas, it’s free online here.

So, what got you interested in starting with a walking robot?


THanks for the great info u gave me.
i have done some research on servos but it is quite limited.
do u have links or anything that can tell me more about servo motors?eg. like the connection and prices?

The Seattle Robotics Society has a nice quick tutorial on the basics of servo motors, which is probably all you need to know about what they do and how they work to start using them.

In terms of connections, almost all hobby servo motors have just three wires: power (5V, although 4V to 6V is generally okay, and some even go up to 7.2V!), ground, and signal from the servo controller. These are (usually) arranged in a three pin header connector with the pins spaced at 0.1 inches. Wire colors vary by manufacturer, and most (but not all!) put the power pin in the middle, so that if you plug the connector in backwards the power pin is still connected correctly and you probably won’t fry your servo, or your controller, or both. If you need to, you can pull up tabs on the servo connector, and pull out and reorder the pins.

This document, Hobby Servo Fundamentals, has a table on page 2 of the wire colors and orders used by some common manufacturers (silly Airtronics putting the power pin to the side just to be different!). The rest is more about building servo control circuits so you can ignore it for now.

Servo cost varies from under $10-%15 for “standard” servos, to $40-$50 for special “high torque” or “high speed” servos, to over $100 for super special digital servos with high torque and speed, titanium gear trains, and diamond/ruby-encrusted cases. Okay, I’m kidding about the diamonds and rubies, but for $100 you would expect something special, right? Anyway, no reason to break the bank right away, you can make an excellent small walker with $10 servos.

Servos also come in a variety of size classes, large and minuscule. Large servos are very powerful and robust, but also heavy and expensive. Miniature servos have great power for their size, but tend to be much more fragile. I would recommend you start playing around with standard-size servos first. Pololu carries GWS brand servos, which are my favorite brand for mini/micro sized servos. For standard size servos though, I usually go with Hitec or Futaba brand. The Hitec HS-311 is my go-to servo for standard-size general applications, and can be had for $9 from either Servo City or Tower Hobbies.

Now that you’re thinking about buying some servos, have you thought about how you’re going to control them to start?


Haha thanks for the help.i am building a humanoid robot that is 1.3m in height, and for my group we are doing the legs with is 70cm.Btw this is a school project.
And can i ask what u mean by controlling them to start?

WOAH! That’s HUGE! That’s a whole different ballgame than tabletop walkers!

If you keep it incredibly light-weight you might still be able to get away with using hobby servos, but you would need way more torque than the HS-311 has to muster. You might consider something like the HS-805BB, which is a torque-tastic monster. Actually some of the smaller digital servos give you similar torque, but at 3X the price! You could even consider having two HS-805BBs per leg, one on each side. Hmm, are these legs going to be multi-jointed?

A harder approach, but with potentially better results, would be to build your own servo motor. A servo-mechanism is after all any actuator controlled by measurement feedback. You could get a powerful DC gearmotor to position the leg, and measure it’s position with a potentiometer, just like a hobby servo does. You would need a motor controller to drive the motor and a microcontroller with analog inputs to read the position of the potentiometer and command the motor controller.

Alternatively, Pololu makes two motor controllers with built-in feedback control that you can tune, the 3 amp SMC03A, and the 14 amp SMC04B.

And by controlling them to start I just meant that, if you’re not familiar with servomotors, it might be nice to get a couple and play around with them, and a hobby radio controller is a quick way to be able to make them move without having to do any programming. You can totally skip this step though, and you may want to skip the servos all together. If you do go with servos you will need a serial servo controller (a variety of models available from Pololu here) to run them either from a computer or a microcontroller, either of which have their own challenges.

By the way, were you intending for this robot to be wired (connected to a computer an a power supply for example) or autonomous (with it’s own internal microcontroller and batteries)?

And just for my own curiosity, what kind of class is this, and what level of school are we talking about (I promise I won’t be too jealous)? How many people are on your team? How long do you have to work on the project? Do you have a budget?

Wow, good luck!


Oh my group consist of 3 people, our group is doing the legs.We are told to use software on the computer to control the legs and make it walk.if i am not wrong the software is LabView.We have around 3 months to do it and we are not sure about the budget.(Most likely it wont be alot).
You said about building ur own servos, that is possible?
i am still researching about the control circuits about servos, is that possible if u have any infos u can share?and how do i calculate the torque?

thanks for the help adam :smiley:

Good luck with LabView, I am NOT a fan! Controlling the motors from a computer will make things simpler though.

Do you mean how do you calculate torque in general, or how do you calculate a motor’s torque at a given voltage?

This website: Designing with DC motors, is a good (short) basic primer, you might want to read through it. Third section of it: Understanding D.C. Motor Characteristics, does a good job of answering both questions, better than I can do with just text here (although I can help if things still don’t make sense after reading it).

As to building your own servos, you absolutely can. When people say servo motors they usually mean those little black box hobby servos, but any electric motor with position-controlling feedback (or even other kinds of feedback) is a servo motor. The term servo comes from the Latin word for slave, so it is literally a slave motor, controlled by signals from a master sensor.

Building a control system can be very difficult though. If you have an unlimited budget you might want to buy some HS-805BB servos and a serial servo controller right away and see if they are strong enough for your walker’s legs, then get stronger motors and dc motor controllers only if you need them. Do you have a basic leg design, or an idea of how many joints to use?

You can plug a Pololu seral servo controller right into a computer’s serial port, and run up to eight hobby servos. If you need more servos you can add on a micro serial servo controller (actually you can run one or more of these straight from a serial port, but you have to cut up a serial cable to connect it). It’s a little more expensive, but there’s also a USB servo controller that will run 16 servos, since serial ports are less common on new computers these days. And yes, you can control any of them from LabView (after a fair bit of programming, but there are some examples around).


P.S. On that DC motor website, that is the COOLEST way I have ever seen someone figure out a torque-speed curve (having the motor draw it out)! Just so you don’t get the wrong idea, usually you just go look up the curves or formulas for them in the manufacturer’s datasheet.

Wow thanks adam, u are really awesome.You have been a great help to me really glad that u helped.i will try to figure out the servos.if i have any problems i will post here and hope you will help. thanks :laughing:

Hello do anyone have any mechanical design for humanoid robots?? or any links that can help me?

There are lots of servo-based humanoid robot kits, would that help? They’re all a bit smaller than you were planning.

This website has a good comparison of pre-built humanoid robots, and more importantly for you, humanoid robot kits, rated by things like price, size, ease of use, pros and cons, etc. There’s also an (incomplete) comparison table for looking at all the features at a glance.