PGNTA: 17 DOF Humanoid Ardunio Robot

Introduction

During my first-year summer break, I embarked on an ambitious project to create PGNTA, a humanoid Arduino robot. This project was born out of a fascination with robotics and a desire to challenge myself in the fields of electronics, programming, and mechanical design. PGNTA, standing at 53 cm tall, represents my first foray into complex robotics and serves as a testament to what can be achieved with determination and a willingness to learn.

PGNTA Version 1

Project Overview

PGNTA is a 17 Degree of Freedom (DOF) humanoid robot powered by an ESP32 microcontroller. Built primarily from wooden plywood, it combines servo motors, sensors, and custom-designed joints to create a functional bipedal structure.

Key Features:

Overview

Objectives:

  1. Design and build a functional humanoid robot using Arduino technology
  2. Gain practical experience in servo motor control and power management
  3. Explore challenges in balance and movement for bipedal structures
  4. Create a platform for future enhancements and learning in robotics
  5. Integrate sensors and cloud connectivity for advanced functionality
Robot during construction

Development Process

1. Component Selection

The construction of PGNTA involved careful selection of components to balance functionality, cost, and availability. The key components included:

Component layout

2. Structural Design

PGNTA's structure was primarily built using 3mm wooden plywood, chosen for its availability, ease of modification, and cost-effectiveness. The robot's frame consists of:

The frame was constructed using the following techniques:


3. Servo Configuration

The 17 servos were strategically placed to mimic human joint movements:

4. Power Management

Initial power supply using 9V batteries proved insufficient. The final solution involved:

Power Management

5. Programming and Control

Circuit Documentation

ESP32 Version

This circuit manages precise servo motor movements using an Adafruit PCA9685 PWM Servo Breakout board, interfaced with an ESP32 microcontroller.

Component List:

Wiring Details:

(Detailed wiring information for ESP32, sensors, and servos) Click here
Circuit Documentation for ESP32 Click here

Arduino Nano Version

This circuit is an alternative version using an Arduino Nano microcontroller.

Component List:

Wiring Details:

(Detailed wiring information for Arduino Nano, sensors, and servos) Click here
Circuit Documentation for Arduino Nano Click here

Circuit diagram

Circuit Documentation

will be uploaded soon on my github account !


Challenges & Solutions

  1. Servo Movement Limitations:

    Challenges : MG995 servos mechanically limited to 0-180 degrees
    Solutions : Used Tim's Servo x16 Controller software to fine-tune servo positions and advanced Created preset configurations and scripts for movements

  2. Power Supply Issues

    Challenge : Initial power supply (9V batteries) insufficient for high current draw
    Solution : Switched to 18650 Li-ion batteries for higher current capacity Implemented a 2S3P configuration for balanced voltage and current

  3. Weight Management

    Challenge : Excessive weight due to 3mm plywood frame
    Solution : Future versions to consider lighter materials & Ongoing optimization of design for weight reduction

  4. Assembly Mistakes

    Challenges : Servos joined to body without prior testing, restricting some motions
    Solution : Learned importance of component testing before final assembly & Future iterations to include modular design for easier modifications

  5. Wiring and Connections

    Challenge: Improper soldering of pins in PWM 9685 boards caused connection issues
    Solutions : Re-soldered connections using 30-watt soldering iron & Gained hands-on soldering experience

Current Capabilities

Future Improvements (Planned Phases)

Version 2

Version 3

Version 4