My First Humanoid 22 DOF Robot © GPL3+
This is my first humanoid 22 DOF robot.
Update April 11th 2018 : Finally I assembled the robot. It will be a 22 DOF humanoid, as I customized a little the chassis, for more freedom. I also used a BLUNO MEGA instead of Arduino Mega, due to its convenience updating the code remotely using Bluetooth. Also, I will update with the correct Items List soon.
Fist Post : It’s my first attempt to build a humanoid robot based on a 17 DOF humanoid chassis. It will be controlled by a PS2 controller and later on I want to act on its own, as my main occupation is a programmer and I feel that this is a very interesting field. I am still at the beginning, though, any help would be appreciated.
MIA-1 Open Source Advanced Handmade Humanoid Robot! © GPL3+
An open source, Arduino and Python-based advanced humanoid robot!
Hi everyone, today I’ll be showing how I made the robot MIA-1, which is not only advanced and unique but also open source and can be made without 3D printing! Yes, you got it, this robot is completely hand made. And open source means — you get the codes and every details for free , you too can make this robot if you wish to.
Here we see only her speech, but there’s many more things she can do!
Here are the things she can do:
- Can listen and talk back to you
- Can see and recognize you using her left eye’s camera
- Can detect motion and capture photo
- Has a GUI with touch screen LCD to command her
- Shows images on her lcd
- Download images and shows on her screen
- Can target things using a laser pointer on her right hand
- Moves hands while talking
- Stands on her feet without any help of others
- She can also bow (watch the video)
- And many more!
To make this robot I’ve used all the things that are available at our local store.
Microcontrollers + Computers (The Brain):
- Arduino Mega (for controlling the servo motors)
- A full computer (You can use Raspberry Pi, but I’be used my laptop as her brain initially)
MIA-1 has 13 degrees of freedom.
- LDX227 dual axis servo motors 8x
- MG996r / MG996 servo motors 3x
- For figers ive used micro servo sg90
Note that I have added a robotic claw and it uses another MG996r servo motor.
And jumper wires and etc
For image processing such as taking photo and detecting faces etc. I’ve used an USB camera .
NOTE: This tutorial is for intermediate and advanced level makers, I’ll be focusing mainly on codes as it is the code that makes MIA-1, MIA-1. And if you get the code everything is easy for you.
Step 1: Body and Motor Layout
The body is made using PVC sheet, different pieces are attached using Hot Glue and screws (see picture). I’ve cut the pvc sheet using cutter knife (be very careful!! don’t cut your fingers instead!!). From picture one and two you can see the servo layout. As I was making a girl robot I have given it a female body shape and figure.
The servo connectors are made using thin pvc sheets as they bend well.
The head is made using a balloon, blew air in the balloon (see picture), added small wet pieces of papers and then dried it. After adding 8 layers it has become strong and sustainable.
Then just colored it white (whole body) using spray color.
Turned out the design is so amazingly balanced and she (MIA-1) stands right on two feet of her!!
Adding the display:
After that just used some screws and hot glues to mount the lcd on her chest (last photo).
Step 2: Circuit Diagram
The circuit diagram looks complex but it isn’t. I drew the circuit as the motor layout on body so that you can understand it more easily. Make sure to common the ground. The arduino takes power from the computer via its usb cable. There is a laser diode which enables mia to target things takes power from pin 13(led pin) of arduino.
As you can see that all the motors and the arduino itself is on the back side of the body. I also have put all the cables from back. Bought an extended USB cable so that it can be connected to the computer.
Step 3: The CODE
As you know I’ve used an arduino mega. The arduino mega controls the Servo motors, the motors are pre-programmed. Get the motors code from here . Please note the default servo positions, while building the robot maintain this. Just power the motors with arduino without making the body and the servo motors will reach to the default position (default pos below)
The motor control code is of more than 750 lines (be careful while editing).
The main processing is done using a python3 script.
Python has pySerial library that communicates with the arduino over serial. Mind the ‘COM PORT’.
You also need to pip install these libraries
Everything is easy using pip install. For opencv type in the command prompt:
The GUI (Graphical User Interface) your’e seeing is developed using tkinter. For this and every other libraries you can install by this command:
then it will be installed.
Also take a look if your’re using a webcam it is more likely the cam is denoted as 1
And if you want to know more on how this robot actually talks back please read this tutorials.
MIA-1’s code is just an extended version of this.
As of commanding the arduino, computer sends a bite, the arduino takes actions according to the bites it receives, thus it looks Mia’s movement and talking is asynchronous.
Now to get the code go the link below.
Step 4: Power and Finishing
I’ve powered the robot using a 7.4 v lipo battery. The LDX227 servos are very power hungry (but are of good quality) so make sure they get at least 7.3 v any time. On the other hand the MG996r servo motors are cheap can be damaged easily, make sure they don’t get more than 7.8V. So the highest power supply for this robot should be in between 7.4 to 7.8 volts.
Happy making! If you like this robot be sure to support by subscribing the channel for more amazing projects.
This robot is the first ever open source humanoid robot of Bangladesh!! And the cheapest of it’s kind. I made this robot open source so that other students and interested people can know the logic of robots. May in future nobody will ever take robotics as science fiction. To the robot era!!
Easy Talking Humanoid Robot! © GPL3+
A robot pal you can make easily with Arduino
Everybody loves Talking Robots. It’s like having a little pal to mess around with. If the robot is humanoid then it’s more fun than ever. Among all other robots, humanoid robots suddenly become a ‘he/she’ instead of ‘it’. Having a humanoid talking robot feels like awesome, but talking robots are seemingly complicated to make. Today I will talk about an approach that I followed to make one easily. Let’s begin.
The final result will look something like this —
1. Arduino Pro mini / Arduino Nano
2. Micro sd TF module and micro SD card (2GB or less)
3. Servo motor — 3x
4. IR sensor (shown in pic1) — 3x
5. 7805 voltage regulator IC — 2x
6. Sound box/ mini speaker
7. 3.7V lipo batteries — 2x
8. Some male female headers
9. Jumper Wires10. Ribbon Cable etc.
For making the body we need some
1. PVC sheets, preferably white color so that you can paint on them later.
2. Cutter knife and
3. Glue gun to glue things together. That’s it. Now proceed.
How the robot works?
Let’s talk about what we are going to do before rushing to it. Yes, we are making a robot but let us learn something first so that we can teach others too. Okay, to make a robot talk we can go through two methods (a) Speech Synthesis (b) Prerecorded audio. Among them option a doesn’t perform understandably well with Arduino. So we are going for method b. So, we make some Audio file (.wav) and save them into a SD card. The robot will have some joints to move with the help of servo motors. And some sensors to interact with the outside world. If the sensors detect something it/she will play the audio files. Like if I point at eyes she reacts and moves her head.
Talk (Process Audio)
To make the audio files I used and Android application — Text to Speech (STT) . The app lets you write text and save as wav file. You can change language, voice speed, pitch etc.
After saving the audio files take them to your computer. Then go to this site — audio.online-convert.com — to process the audio files for the last time. Go ahead and upload the audio file. Then set —
1. Bit resolution > 8 bit
2. Sampling rate > 16000Hz
3. Audio channel > mono
4. Click ‘Advanced Options’ and set pcm unsigned 8 bit.
After doing so copy the audio files into a Micro sd card. Do not save them into a folder, just paste them into sd card. Note: Arduino can write on any sd card (I tested on 64GB) but Arduino can only read from 2GB or less memory containing sd card. So, do manage a sd card that has memory capacity not more than 2GB.
Build The Circuit or PCB
The circuit diagram is pretty straight forward. Connect all the servo motors to Arduino digital pins.TF module takes 6 pins and 4 digital pins. Digital Pin 9 is for audio output, connect the speaker in that pin. The sensors have a voltage regulator for constant 5V power. The whole system is powered using 2x 3.7V lithium batteries. So the board and servo motors get 7.4 volts.
The circuit may seem complex at some point. That’s why I made a pcb using easyEDA and printed from PCBWay.com . I am using that PCB for the next version of this robot. The PCB quality of them is very good and that solved my issue too. Click here to download the circuit diagram or pcb gerber files.
This is the most cool part. As of my design you can see, you can shape it any ways you wish to. I used cardboard box to make the head, pvc sheets to make the entire body. Then painted it red. The circuitry and motor places can be seen in the pictures. I put 2 sensors on head and one sensor on chest. That’s pretty much it. I used a ribbon cable on the back to connect head sensors and led with main board.Go ahead and shape it any way you want.
The code is simple enough to understand. The only problem was when I had to use the tmrpcm library to play audio using arduino the servo motors won’t spin. It’s because the servo and tmrpcm library both works on timer1 of Arduino. To overcome the problem I used servoTimer2 library. Download the libraries. Place them into your arduino library folder and include. That’s it. Download the code from here or copy from below. I recommend downloading.
Upload the code and test it.
That’s it. Power the robot using 7.4V DC source and have fun. The audio can be hard to hear, if so then use any audio amplifier to amplify the sound. Now you have a talking humanoid robot pal!
Final Result (Demo)
Otto DIY Humanoid Robot (alike) © CC BY-SA
Otto got arms and LED matrix to look similar to a «Human». Assemble with our Builder Kit H or create your own using the opensource designs.
PLEASE NOTE THAT HUMANOID IS AN ADVANCED ROBOT compared to the simple biped Otto, IT WILL REQUIRE YOU TO HAVE SOME EXPERIENCE BUILDING ROBOTS AND MORE TIME, WE RECOMMEND YOU TO FIRST BUILD THE BASIC Otto DIY AT LEAST, OTHERWISE TAKE IT AS A CHALLENGE :D
Otto is truly Opensource; it means the hardware is easily discerned so that others can make it, Arduino compatible, 3D printable and customizable, the perfect opportunity to build and have your very first robot, learn robotics and have fun, you will learn the logical connection between code and action, and by assembling it, you will understand how its components and electronics work. Visit www.ottodiy.com for more detailed info.
Build Your Own Robot
Otto DIY Humanoid can be made with Builder Kit Humanoid (full with 3D printed parts) and Maker Kit Humanoid (only electronics) or create your own project with this open source content.
Humanoid Otto is the evolution to a more advanced robot but most importantly easy to replicate so that more people is empower to make robots anywhere in the world. Thanks to all Otto builders that continue collaborating in this project from the start.
Otto Humanoid walks, dances, makes sounds and avoids obstacles, like the basic but also has 2 arms, one LED matrix to express emotions and a gyroscope to measure orientation and movement for interactions.
If you bought a Builder kit you can skip ahead but if you have the Maker kit you have to 3D print the parts but Otto is very well designed for 3D printing, so wont give you trouble if you follow this common parameters:
- Recommended to use a FDM 3D printer with PLA material.
- No need supports or rafts.
- Resolution: 0.20mm
- Fill density 20%
It should take around 12 hours (or even less) to 3D print a full set of parts for one Otto Humanoid.
- Unzip and install.
- Open an example.
- Connect your Otto robot.
- Select Arduino nano, USB port where Otto is connected.
- Check the code.
- Upload and yes is that easy!
If your computer did not recognize the USB device you should install the driver CH340 for your Operative System find it here: https://sparks.gogo.co.nz/ch340.html
For more advanced Arduino programming try to follow our coding guide from the files tab folder, it will allow you to really exploit the potential of your robot.
- Download the software for free here: Arduino IDE (version 1.8.5) https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
- Install Arduino IDE software.
- Download all the libraries from the files tab and unzip in your libraries folder (for example C:\Users\user\Documents\Arduino\libraries)
- Connect your Arduino Nano through USB make sure the driver CH340 is installed in your computer by checking is in COM#
- Open one of the code examples in the code files tab folder
- Upload the code and check that everything is working.
Before inserting the AA batteries you should check your connections and test your robot with the USB cable connected to a computer.
As a good practice you should check your electronics and software in your computer, before assembling all robot to avoid having to disassemble the whole robot to fix something. You can do this by just connecting at least all the servos, in the place indicated in the wring below and upload any code that makes Otto move with Otto Blockly or Arduino.
If you are ready for Batteries you can also check if your power source works, depending of the type of cells you have there can be 2 options: