3d Printed Arduino Humanoid Robot That Responds To Commands.

About the project

Hello, this is a project I've been working on for a while, a humanoid robot. It can track faces using OpenCV, listen to and respond physically and verbally to a plethora of commands. Is able to solve all arithmetic functions and it can even tell jokes and the weather! And it has a dedicated chatbot to hold conversations.

Project info

Difficulty: Moderate

Platforms: ArduinoPythonOpenCV

Estimated time: 1 week

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Arduino Uno - R3 Arduino Uno - R3 any Arduino will do x 2
Mg996R Metal Gear Continuous Servo Motor. Mg996R Metal Gear Continuous Servo Motor. x 2
Micro Servo Metal Gear High Torque Micro Servo Metal Gear High Torque x 2
19mm diameter PVC pipe 1 meters length. 19mm diameter PVC pipe 1 meters length. x 1
31mm x 24mm x 600mm wooden plank.
 31mm x 24mm x 300mm wooden plank. 31mm x 24mm x 600mm wooden plank. 31mm x 24mm x 300mm wooden plank. x 1
Fully Threaded Screw Rods with Hex Nuts and Washers - M8x165mm. Fully Threaded Screw Rods with Hex Nuts and Washers - M8x165mm. x 2
500 RPM Dc 12V High Torque Yellow Geared Motor. 500 RPM Dc 12V High Torque Yellow Geared Motor. x 2
L298N Motor Driver board. L298N Motor Driver board. x 1
5V 10A Switching Power Supply 5V 10A Switching Power Supply x 1
USB camera USB camera x 1
AUX speaker and microphone AUX speaker and microphone x 1

View all

Software apps and online services

Arduino IDE Arduino IDE
python IDLE python IDLE
VS code VS code

Hand tools and fabrication machines

3d printer 3d printer x 1
soldering iron soldering iron x 1
screw driver screw driver x 1

Story


So this is a humanoid robot I have been making for the past 2 months (instead of studying for my exams), here's all about it:


-His name is CHAD(because he is a Chad)

-Has Face tracking

-Responds to certain voice commands

-Has a dedicated chat bot to hold conversations

-Can calculate all arithmetic functions, tell about weather and get responses from the internet.

-Can tell jokes. 

-The parts in total cost ₹5000 which is about $60 (at present conversion rate of ₹83/dollar)

This project utilizes 2 Arduino Unos. One dedicated to face tracking and the other for voice responses and physical movement. Both the Arduinos are connected with the same PC and work on different python ides. 

The voice recognition and speech part was done in python using speech_recognition and pyttsx3 libraries. If the code detects a certain voice command, it send a signal though serial to the Arduino via USB and the Arduino implements the preprogrammed movement.  it has Wikipedia library, wolframalpha, pyjokes and a self built dedecated 

Here is an instructabales link if you want to know the steps to make this robot

https://www.instructables.com/3D-Printed-HUMANOID-ROBOT-With-Face-Tracking-Based/

Schematics, diagrams and documents

1st image is wiring for voice response feature. The blue servos are mg90s and the black servos are Mg996r servos. Be careful with the wiring. The power supply in the image is the Zebronics SMPS. refer to the code for more details on the wiring. For the power supply to work, locate the 5v and 12v output wires using a multimeter and connect them to the Arduinos and servos as shown in the above diagram.

step by step guide

CAD, enclosures and custom parts

Code

code for face tracking (python)

main arduino file

this code will be uploaded to a different Arduino than the one with face tracking.

main code for voice commands.

database for the chatbot

make sure this file is in the same folder as the main code for voice commands

face tracking (arduino)

Credits

Leave your feedback...