Let's Make Robots!

The way we walk...

Walks straight ahead
FourServoWalker-080617a.zip65.31 KB

This is an attempt to build a walking biped with only 4 servos, since that's what I have left right now. Since I don't have any video recording equipment right now, I'll try to describe how it walks. It start by tilting left to put all the wight on the left foot and lift the right foot. This is done by turning the left foot servo to the left, while turning the right foot to the right to support the robot as far as possible in the tilt, like this:


When the left servo turns further to the left, the weight will be on the left foot and the right leg will be lifted:


After the leg has been lifted, the robot will use the other two servos to move it forward. At this point, I always reach out for it, because it looks like it's going to fall:



Next step might be to add a gyro or acceleratometer, so it might adjust itself, if it's going to fall.

The "brain" is an Arduino that is mounted on a perf board. Only port 0-7 are connected because, the Arduino designers have, in their infinite wisdom placed the connector for port 8-13 half a unit from the 0-7 connector, so it won't fit on a standard perf board.

Perf board with connectors

I'll add a video next week, when I get my hands on a camera that can record video (no, there is no camera in my phone and my webcam doesn't work)


UPDATE: Video available.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
That sentence doesn't make much sense, but if you are having a problem with the servo library, make sure that you use the correct one. I used this one: http://www.arduino.cc/playground/ComponentLib/Servo

i did a little testing and you need the modified servo library

i have hosted it on my site so click here to download

on the regular servo library reshresh is not defined as a function

I like the fact that it could steer. Great use of limitted servos.
can i just copy and paste that code into the arduino enviorement, what is the appletfolder for, what bo ido with it ,imnew to arduino and so far ive got a servo sweeping but thats it. any help would be greatly appriciated , beacuse when i just copy and paste it i get a  whole bunch of weird errors
what errors are you getting?
Thanks. These examples will help.
You where right your code is hard to understand. I have a question do you know a simple way to controol servos. Like how to position a servo in the center? I dont know how to do this. Is there any way to easily controol servos with audrino? If so some sample code would be nice.

See http://www.arduino.cc/playground/ComponentLib/Servo and http://www.arduino.cc/playground/Learning/SingleServoExample

The attached code is an archive, which packs a lot of files beside the code I wrote myself.  My code is in FourServoWalker.cpp

Did anyone spot my rant there in the middle of that? I'm done ranting now.

Dunno about arduino. If you can set an output line high for 1ms, then bring it low for 17.5ms repeatedly, THAT will make your servo move to the middle. Variable pulse widths (NB NOT the same as Pulse-Width Modulation and I wish people would stop saying they control servos with PWM, 'cos the don't) are the easiest way. Althought, some of the chaps here use some new-fangled high-level stuff that probably has a built-in command "set servo to middle" or something like that.