Let's Make Robots!

Se.Gu.A.Ro. (Sensor Guided Autonomous Robot)

Walks around and turns when it finds an object too much close to it.
AttachmentSize
Hexapod_Final.pde6.51 KB
Hexapod2_left_right.pde9.38 KB

Hi there!!

I am proud to show you my first creation!

This is a 2DOF hexapod entirely built by myself with a bit of external help for the pratical part.

It walks straight until an object get too close to it (perceived with the ping))) ultrasonic sensor).

The project started 7 months ago when I saw by chance a video on youtube about phoenix which captured me! I started getting informations from the internet about theory, pieces and prices of servos and other stuff, then I sketched some ideas I had to make it move.. The movement of the legs is semicircular when they have to go back to the front but the hardest part was the one where I had to put together all the 6 legs! I spent months (of non-continiuos work due to study) on this but finally I managed to write a piece of code that worked! Then the rotation gait has been the subject of study for my last 2 months but, even in this case I managed to make it working!

The pratical part, that is the building part had been hard too because of the precision required to make the holes for the servos perfectly.. But!.. As some of you had noticed reading the forum (thaks a lot), I had a "little" problem about the wheigh that I solved lightening the body (made of galvanized iron), changing 6 of the 12 servos and (this is the modify that allowed me to make it working continuosly for over 13 minutes without stumble) setting the leg's end more close to the body. Surely I explained this last part terribly but forgive me (I'm not english :D)! These images will explain better:

This is the leg before:

And this is the leg with the new setup that allowed it to stay alive for over 13 minutes:

now the force that the servo has to apply is less than before and so he get "power up"!! ^_^

 

 

Here there are the steps which led to the final result:

 

Body lightened:

Finished (for now). I want to keep adding features like optional remote control, other (maybe) degrees of freedom.. Added:

  • sensor
  • arduino and pad wit pins for servos
  • batteries
  • double switch to turn on arduino and servos concurrently

The double switch and the 9V battery:

The sensor and the mess of wires:

The homemade servo connections:

More pics with explanation :)

Top view (relative to the board oriented normally, with the board on the robot this is the bottom view):

Bottom view:

The final result:

[UPDATE]: 

  • reorganized code in functions to have a clearer and easier reading (code attached)
  • added sequence for left rotation (left or right rotation chosen randomly)

[UPDATE]:

  • added bakward walking. Waiting for ps2 controller connector to enter fun! Code will be available after controller implementation [Temporarily suspended]

[UPDATE]:

  • added a servo to pan the sensor in order to get rid of diffcult situations like corners or surfaces at first not detectable! (watch video to see it in action!!)

Side view:

Bottom view:

  • added a new optional walking gait which is less energy consuming because all the legs, apart one, are always flat on the floor.. So the weight  is distributed over five legs rather than three!

[UPDATE]:

  • Started coding to implement inverse kinematics!! Yeah you heard right! I'm on the way to implement IK expanding Seguaro's capabilities by adding the third DOF to each leg!!

Suggestions (specially about code) are welcome.

Thanks for watching =)

Comment viewing options

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

 ok thanks, I started making the robot.

good! I'm lookin forward to hearing from you news about it!

 

why are you attempting to build a robot without knowing programming at all? you should have at least basis of a prog language.. so get started! :

 

-A good start, for example, is this:http://www.learncpp.com/ just to have an idea of what you have on your hands..(you should start with c++ because processing/wiring, aka arduino programming language, is derived form it)

 

- Then you should have the arduino skd you can find it here:http://arduino.cc/en/Main/Software lookin around the site you can find almost every answer to your questions about arduino language and arduino software

 

- For arduino programming language specific troubles you can go here:http://arduino.cc/en/Reference/HomePage

enjoy :)

 

I do not know programming, you could convert the code to Ardweeny and tell me what ports to connect the servo and PING?

Thank you very much.

thank you! too gentle :)

let me know your progresses about your project!

I would be very pleased if you would give me a feedback of this tiny but interesting board!!

Thank you very much, you are very good.
I'll try to fix Solarbotics Ardweeny ( http://www.solarbotics.com/products/kardw/) to a mini Se.Gu.A.Ro

yes of course

you just have to change the servo pins numbers to yours and I think you will be ready. to start, use the first code attached! 

you can adjust the for loop I explained in the previous message or you can write all the pins numbers manually

I have a arduino Dyemilanove and try this, you can help me with changing the code?
Thank

good!

I think so but I don't remember if it has enough pins.. if I remember correctly, Duemilanove should have 10 digital pins + 5 analog(that can still be used as digital) so it should go.. I used Mega because the shield was easier to realize.. and doing so I reserved a large number of additional pins to enhance the project!

ok, I understand.

I could use arduino  Duemilanove?