Arduino Based Humanoid Robot Using Servo Motors

by BlackStar Vvek in Circuits > Arduino

70145 Views, 169 Favorites, 0 Comments

Arduino Based Humanoid Robot Using Servo Motors

Robo dances for Jingunamani song from jilla! (using servo motors)
Arduino based Humanoid robot using servo motors
WP_20151127_11_34_00_Pro.jpg
WP_20151127_11_37_44_Pro.jpg

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.

Trials and Errors on Designing the Model

WP_20150125_13_58_46_Pro.jpg
WP_20150125_14_08_44_Pro.jpg
WP_20150610_008.jpg
WP_20150131_23_27_15_Pro.jpg
WP_20150202_19_14_19_Pro.jpg
WP_20150307_23_44_02_Pro.jpg
WP_20150210_12_28_39_Pro.jpg
WP_20150131_18_17_49_Pro.jpg
WP_20150310_12_52_01_Pro.jpg
WP_20150610_005.jpg
Arduino controlled Walking Robot using Servo motors
My dog scarred seeing the robot walking!
WP_20160114_009.jpg
WP_20160114_010.jpg

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.

Designing the Model and Algorithm

WP_20150122_20_53_58_Pro.jpg
WP_20150912_004.jpg
WP_20150201_12_42_48_Pro.jpg
WP_20150224_20_53_44_Pro.jpg

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.

Components Required

WP_20150806_002.jpg
WP_20160114_007.jpg

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!

Building the Body

WP_20150912_003.jpg
WP_20150912_005.jpg
WP_20150912_007.jpg
WP_20150913_002.jpg
WP_20150924_005.jpg
WP_20150924_003.jpg
WP_20150917_001.jpg

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

Wiring

WP_20150913_004.jpg
WP_20150913_005.jpg
WP_20151123_14_03_37_Pro.jpg

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.

Increasing Power

WP_20151117_21_13_25_Pro (3).jpg

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.

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.