Let's Make Robots!

My first biped 2.0

Sorta walks

This is my first attempt into making a biped walker.  I have no such background in either electronics or robotics.  Nor do i have any experience with tools or crafting. 

My first robot was the start here bot kit that i got from solarbotics.  I had a blast putting it together. While i learned a lot from that kit it made me hungry for more. So for Christmas I got a new Picaxe 28 board and 8 servos and went to work trying to do something else. After a while and many failed attempts to produce something worthwhile i shelved it. I was digging around on youtube and i saw a Lynxmotion robot biped walker. It sparked and interest in me making a walker of my own and i thought i would give it a shot. The above videos are what I came up with after about 3ish hours of work.

The frame is built from 1/8 inch PVC sheets that I cut using a jigsaw and held together with hotglue and screws.  I am currently using zip ties to hold the battery and picaxe board on as I haven't figured out a more permanent solution (I am thinking Velcro.)  As seen in the video above i am using one servo to push a foot up and change the center of balance so when the second foot servo moves it balances the weight over that foot (if that makes any sense)  Then i use the hip servos to move the other leg forward.  Then both leg servos center and then the hips center.  Then it repeats the process over and over. 

This is still very much a work in progress and i am looking for any feed back, comments, or criticism.  Realize that I have little grasp of complicated concepts and have never worked with anything but what is in the start here kit.

 

Update 2/13/12

Just uploaded a video of my newest changes.  I increased the servo move speed to max thanks to a suggestion from merser.  I also added some rubber bands for traction and reduced the hip motion to help with stability.  I am going to look for a permanent solution since I do not like the look or feel on the rubber bands.

 

Update 2/20/12

I took a suggestion from Ro-Bot-X and tried moving the legs in closer to the center of the "waist" and it worked like a charm.  It is now really easy to change the center of balance and it makes walking much smoother.  I also slowed down the walking to Pause 500 in picaxe and that helped stop most of the sliding i was having (some is still there and it still slides hard to the right (as seen in the new video it was going to walk off my desk.))  My next step is to work on left and right turning and some fine tuning of walking straight.  After that i am planning on adding a sensor for object avoidance.  I was thinking ultrasound but i am not sure.  If anyone has any suggestions or feedback i would love to get some.  Thanks.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Looks like the start of a great project!

Nice! Have you tried speeding up the motors yet? It walks pretty slowly, but at least it works ;)

I am an absolute noob so I have no idea how to speed up the servos.  Here is the code I am using for the walking motion:

walk:
Wait 1

Servo 1, 205
wait 1
Servo 3, 180
wait 1
servo 5, 100
servo 7, 100
wait 1
servo 3, 145
servo 1, 160
wait 1
servo 5, 155
Servo 7, 140
Wait 1
Servo 3, 100

wait 1
servo 1, 125
wait 1

Servo 5, 200
servo 7, 200
Wait 1
servo 3, 145
servo 1, 160
wait 1
servo 5, 155
Servo 7, 140
wait 1


goto walk

 

That is as complex as i know how to do if you can suggest anything let me know.

At the moment you have a 1 second delay between movements. Use Pause (milliseconds) will speed things up. Your servo has a speed rating usually like fractions of a second per 60 degrees turned.

One I have for instance has a rating of .19 seconds per 60 degreees. That is the same as 190 milliseconds to turn 60 degrees. If I want to turn the full 180 degrees that it is capable then that would be 3x190milliseconds or 570 milliseconds.

Always allow a little extra on top to allow for variations between servos. If you cut the delay down too short you will experience wierd behaviour because the servo is unable to reach the commanded position before receiving another movement command.

Also in the end you could get your servos turning at maximum speed they are capable of but need to slow them down because of balance issues in the design.

I had no idea.  Thank you so much.

Ok i just did this and it looks awesome and much more like what i had envisioned it doing.  I will up load a video later.  Thanks a ton. 

Nice robot! I built a micro biped that looks similar and it walks easier. The key is having the legs closer together. Then it's easy to move the COG (center of gravity) from one leg to the other. In the code I move the servos in 5 degrees steps with 20ms delay between the steps. I also don't straighten the legs between 2 walking steps. Take a look at the video to get more ideas. In that video, the robot was taking a left-right step forward then stop to take a sensor reading and continue with another left-right step. I have changed the code so the robot will start with a right-left step and change it after the next sensor reading, making the walking more fluid. I set the speed to medium, but the robot can walk faster without falling. I think I'll change the code a bit to interpolate intermediar servo positions to be able to move very fast or extremely slow, like doing Thai-Chi.

move both ankle servos at the same time. Rather than one after the other.

something that will help with your coding, aslo, is to make aliases for the servo numbers/pins. That way you can read your code and know what is going on. Heck, you could even alias your rotation numbers to make it really readable. :)

Unfortunately if i move both ankle servos at the same time it just stands on its tip toes.   How exactly do I make aliases?  I am not super familiar with coding at all.

the SYMBOL directive/function will allow you to set variable names to numbers.
SYMBOL lefthip = 1
SYMBOL leftankle = 3
etc 

You should also be able to use SYMBOL to set constants