Arduino Based Humanoid Robot Using Servo Motors

38,841

144

45

Hello everyone,

This is my first humanoid robot, made by PVC foam sheet. It is available in various thickness. Here, I used 0.5mm. At now this robot can just walk when I switched ON. Now I'm working on connecting Arduino and Mobile through Bluetooth module. I have already done an App like Cortana and Siri for windows phone which is available in app store https://www.microsoft.com/en-us/store/apps/patrick... After Successfully connecting both, I can control it through voice command in Windows Phone.

I've spent many months in solving the battery over weight problem and ended with an epic fail due to budget problem. So, finally I decided to give power from external Lead-Acid Battery.

Lets see how I figured out the perfect design of the body for the robot.

Step 1: Trials and Errors on Designing the Model

At first I have no idea about the power of Servo motors and Electronics-Electricals that deals with batteries and circuits. I first planned for a life size robot for about 5 to 6 feet. After trying almost 6 or 7 times I realized the maximum torque of a servo and reduced upto 2 to 3 feet of total height of the robot.

I then tried upto hip of the robot to check the walking algorithm.

Step 2: Designing the Model and Algorithm

Before moving on we need to decide how many motors needed, where we need to fix. Then design the body parts according to the images given.

Step 3: Components Required

1) Plastic sheet

2) Super Glue

3) 15 - High torque Servo motors ( I used TowerPro MG995 )

4) Arduino Atmega 2560 or other Arduino boards

5) 6V Battery (minimum 3 nos. Atmost 5 motors for each battery)

6) HC-05 Bluetooth module for communication

7) Other basic stuffs which every hobbyist have!

Step 4: Building the Body

After struggling with wooden pieces I found this plastic sheet pretty easy to cut and paste to make various shapes.

I cut holes to fit servo motors directly into the sheet by applying super glue (I used 743).

Step 5: Wiring

I'm not studying an electronics or electrical major. And I have not enough patience to design a PCB or designing proper wiring. That's why this messy wiring.

Step 6: Increasing Power

You can see that I used only 11 servo motors at first. due to over weight problem, It fell down and broken during testing. So, I increased 4 more servos at each joins of legs.

Step 7: Coding

I've attached Arduino code.

for(i=0;i<180;i++)

{

servo.write(i);

}

This is the basic code for rotate any servo motor attached to any Arduino board.

But calibrating the rotating degrees and deciding which motors should run during the movement of each leg is the most tricky part of coding. It can be done by another Sketch called (Servo_Test). By testing the degree of rotation of each motors through serial communication through Arduino board, we can calibrate every motors.

Finally, the robot begins to walk after entering the value "0" in serial monitor window.

I have also included a sample windows phone 8.1 sample source code for connecting Arduino and Mobile using bluetooth.

Share

Recommendations

  • Warm and Fuzzy Contest

    Warm and Fuzzy Contest
  • Comfort Food Challenge

    Comfort Food Challenge
  • PCB Contest

    PCB Contest

45 Discussions

0
None
Ccit

19 days ago

Hello sir
I want to ask about the servo motor that you are using. The type is whether the servo type rotates 360 degrees or 180 degrees. Please help me, with my email: ccit.micro@gmail.com
Thanks.
0
None
akshaybodhi

11 months ago

sir please send circuit diagram and coding of robot to my e-mail akshaybodhi15@gmail.com sir please send body part coding and leg walking coding please send on my e-mail sir please

0
None
AmulS

1 year ago

I tried this robot myself and i face some problems?

1. how you manage robot balancing problem after putting battery as battery is so heavy?

2.what are the ratings of battery used, and how many battery need for below hip portion?

3.how you provide power to servo motor? directly via battery or via Arduino pin (VIN/VCC)?

please reply asap, my mail id - sharmaamul01@gmail.com

1 reply
0
None
akshaybodhiAmulS

Reply 11 months ago

sir please send circuit diagram and coding of robot to my e-mail akshaybodhi15@gmail.com sir please send body part coding and leg walking coding please send on my e-mail sir please

0
None
akshaybodhi

Question 11 months ago on Step 7

sir please send circuit diagram and coding of robot to my e-mail akshaybodhi15@gmail.com sir please send body part coding and leg walking coding please send on my e-mail sir please

0
None
akshaybodhi

Question 11 months ago on Step 5

sir i am making a robot so please tell me the circuit diagram and the coding which you have made sir please send sir please on my g-mail akshaybodhi15@gmail.com

0
None
JaydenY1

Question 11 months ago on Step 5

Is it possible we could see a diagram of the wiring (sorry for necroposting)

0
None
f.altamura.07

1 year ago

Wiring Please i need it Please!!!

0
None
shreyansh1115

1 year ago

please provide connection diagram

0
None
shreyansh1115

1 year ago

please add me on whatsapp 8585990755 please its a request

0
None
SaiP45

1 year ago

hey... u hav done with the hardware work... can u plzz send the arduino bluetooth cmplt coding for the above nd app to be used to control it....patric app is not available now.... any simmilar app

2 replies
0
None
BlackStar VvekSaiP45

Reply 1 year ago

try this for bluetooth com

https://bluetoothmgrwp81.codeplex.com/documentation

0
None
ShaikhG1

1 year ago

Awsome thing! A small doubt about the position of servo motors in the code "Julie_2.0". Can't figure out which motor corresponds to which position.

1 reply
0
None
BlackStar VvekShaikhG1

Reply 1 year ago

Sorry for the late reply, Servo "Lx" stands for Left leg, "Rx" stands for right leg, and the numbers L1, L2, L3... starts from down to up (foot to hip) and Servos "C" is at the center of the hip, "LH and RH" are for hands. similarly, servo values are stored in the variables "lp1,lp2,lp3..."