The project basically deals with designing the humanoid robot and then fabricating it using scrap metal parts. The design replicates that of human beings. I decided to make this project as it was very challenging and also I was very impressed by the ASIMO and NAO robots and wanted to make something like that. Thus I decided to begin the journey which led to the following model.
MAKING HUMANOID FROM SCRATCH
Technical Implementation: Bipedal Motion and Servos
This project reveals the hidden layers of simple code-to-gesture interaction:
- Identification layer: Twelve High-Torque Servos act as high-resolution joints, providing precise physical movement for the hips, knees, and arms.
- Data Strategy layer: Using a PCA9685 16-Channel Driver, the Arduino manages 12 individual servo pulses using only two I2C pins.
- Walking Logic layer: The Arduino code follows a "sequential decoding" (or gait-step) strategy: it performs coordinated "Left Leg" and "Right Leg" movement to avoid falling and maintain balance.
- Conversion layer: The Arduino uses digital I/O pins to receive Bluetooth commands and coordinate gesture tasks.
- Visual Interface layer: Two Ultrasonic Sensors (Eyes) provide visual feedback for obstacle avoidance.
Hardware Infrastructure
- Arduino Nano: The tiny "brain" of the project, managing high-speed timing for 12 servos and coordinating Bluetooth sync.
- MG996R/SG90 Servos: Providing high-precision physical torque and orientation for each joint of the robot.
- PCA9685 Driver: Providing high-speed and reliable data monitoring for low-pin-count servo updates.
- Li-ion Batteries (18650): Essential for providing high voltage and energy-efficient power for the humanoid robot.
- 3D-Printed Chassis: Acts as the high-performance mechanical housing for the humanoid's internal circuits.
- Micro-USB Cable: Used to program the Arduino and provide the primary power source for initial bench testing.
Walking and Interaction Step-by-Step
The humanoid robot process is designed to be very efficient:
- Initialize Hardware: Correctly seat the servos inside the 3D-printed limbs and connect the PCA9685 driver to the Arduino.
- Setup High-Power Sync: In the
setup()function, define the Bluetooth baud rate and initialize the 12 servos to their center position. - Internal Dialogue Loop: The Arduino constantly performs high-performance gait-checks and updates limb status in real-time with Bluetooth joysticks.
- Visual and Audio Feedback: Watch the custom robot automatically become a rhythmic visual signal, pulsing and following joystick settings on the floor.
Future Expansion
- OLED Identity Dashboard Integration: Add a small OLED display inside the robot chest to show "Battery Level (%)" or the "Current Gait Status."
- Multi-sensor Climate Sync Synchronization: Connect an MPU-6050 (Gyro/Accel) sensor to build a truly autonomous "Self-Balancing" humanoid with stabilization.
- Cloud Interface Registration Support Synchronization: Add a specialized web-dashboard on a smartphone over WiFi/BT to precisely track and log mission history.
- Advanced Velocity Profile Customization Support: Add specialized "IK (Inverse Kinematics)" code to perform more complex movements and orientations for the bot's gestures.
How To Make A Humanoid Robot is a perfect project for any electronics enthusiast looking for a more interactive and engaging robotics tool!