Introduction: Arduino Based Humanoid Robot Using Servo Motors

Hello everyone,

This is my first humanoid robot, made by thick plastic sheet which I don't know the name of the 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.

Comments

author
AmulS (author)2017-07-31

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

author
shreyansh1115 (author)2017-04-23

please provide connection diagram

author
shreyansh1115 (author)2017-04-22

please add me on whatsapp 8585990755 please its a request

author
SaiP45 (author)2017-02-12

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

author
BlackStar Vvek (author)SaiP452017-04-11

try this for bluetooth com

https://bluetoothmgrwp81.codeplex.com/documentation

author
BlackStar Vvek (author)SaiP452017-02-16

http://windowsapptutorials.com/

author
ShaikhG1 (author)2017-03-26

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.

author
BlackStar Vvek (author)ShaikhG12017-04-11

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..."

author
Jeya lakshmi1997 (author)2017-03-14

Nice robot, I am going to try this robot.

author

Nice, I'm going for 6 feet height robot

author

Super sir, waiting to see u with that robot

author
Crtv Yash (author)2016-11-26

heyy frenz

is anybody give me a proggramm fo two arduinos mega

in the frst arduino mega i want to attach 10 servos and one radio reciever.

and in another arduino mega i wanna attach 10 potentiometers and one radio transmiter to control all the 10 servos individuallyand wirelessly..

PLEASE HELP ME guysmy3contct dtls are;- yashchauhan112233@gmail.com

or

chauhanyash112233@outlook.com

author
BlackStar Vvek (author)Crtv Yash2017-01-25

Try to learn and build your own code using some reference coding from web

https://www.arduino.cc/

author
SaiP45 (author)BlackStar Vvek2017-02-12

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

author
electricitypinto (author)2016-10-31

Request: please specify the material used for fabrication.

author

As I said earlier, I bought these sheet in local bazaar. I don't know its name. May it looks like this

https://www.aliexpress.com/item/1pcs-5mm-200mm-300mm-White-Foam-Foamalux-PVC-Flat-Sheet-Material-Board-Modle-Plate-A261e/32694795000.html?spm=2114.40010308.4.2.dfzTnl

author
electricitypinto (author)2016-10-30

You must have had great ordeal to get it done. I'm planning to make one but using sheet metal. I won't be going for the legs on my first attempt. Will settle with wheels. I will upload the pic here when I finish it.
All the best for your future projects :)

author

Good choice! wheels will be easier and can be built easily and quickly. Looking forward to it :)

author
Jonny_X (author)2016-10-27

Hi great robot and work, looks like a lot of fun! I also build a robot whitch is controlled by a Raspberry Pi. It works great and I even got it
walking and talking. In case of interest all
information can be found at http://www.german-robot.com

author
Prashanth.AN (author)2016-08-15

Nice robot !!

i am 3rd tear b.e(ece) student ,i still working on this robot....

Rhomba Nandri Nanba!!!

i will upload photo as soon as i finish.

author

Cool bro

author
Itechboy1 (author)2016-07-25

Quick Question: I keep
Receiving feed back on my servo motors and they begin to jitter.

Did this happen to you?
If yes how can I fix it?

author
BlackStar Vvek (author)Itechboy12016-07-27

Yes I experienced this. Connect the Gnd (Ground) pin from your board to the servo's Gnd parallel to battery's -ve

author
Itechboy1 (author)2016-07-25

Quick Question: I keep
Receiving feed back on my servo motors and they begin to jitter.

Did this happen to you?
If yes how can I fix it?

author
mabrar (author)2016-05-21

This is one of the best arduino humanoids i have ever found ! its easy, fun and interesting ! i laughed out loud when he danced with the hindi song ! i'll surely make one for me soon !

author
BlackStar Vvek (author)mabrar2016-05-21

Thank you :)

author
goga-otina made it! (author)2016-01-15

hay. I'm robot Gela

temp_3588445.jpg
author

Hello, I'm Caesar. Nice meeting you.

WP_20150917_001.jpg
author
billybot (author)2016-01-16

Pretty awesome project. Obviously a lot of work. I appreciate you posting the code but very hard to understand as you used coded identifiers for your servo values etc...Maybe you could comment in some explanations. I would love to understand it better.

author
BlackStar Vvek (author)billybot2016-01-16

Sure, I named all the servos according to the positions at each joint. For example, in left leg there are 6 servos, so I named L1 - L4 from the feet to hip. In case of degrees, each servo need each values which we have to calibrate with the help of second attachment.

author

It's my fault :) I should explained it in //comment already. Still need any clarifications? I'll explain bit more.

author
nahlas1 (author)2016-01-16

i love it <3 i will do one for my final year's project

author
BlackStar Vvek (author)nahlas12016-01-16

:) Thats nice. But are you sure? There's nothing new in this robot. Everything is already made and available as open source. You can find better robot than mine in YouTube. The only thing I improved is Height! :) It is hard to balance the weight at this height. Any ways good luck :)

author
diy_bloke (author)2016-01-14

really great. musthave been quite some work to figure it all out.

I am tempted to build a life size one: I am sometimes away for longer periods and have a systemmimicking my presence, including some rudimentary movement. Though this robot moves ' robot like', if it casts a shadow on a curtain it may still seem as if someone is home. Gonna try this

author
BlackStar Vvek (author)diy_bloke2016-01-14

Thanks for the comment :) my next project is life size one. planning to use linear actuators instead of servo motors.

author
diy_bloke (author)BlackStar Vvek2016-01-15

looking forward to that linear actuators might be a good idea, but can be a bit pricy. Good luck

author
Slk_Stephane (author)2016-01-14

Awesome!

author

Thank you ?