cover photo

PROJECT

Humanoid Head

Sudeep HegdeAUTHORACTIVE
Adrian P IsaacCOORDINATORACTIVE
Humanoid Head
This Report is yet to be approved by a Coordinator.

Humanoid Head Project

Abstract

This project will be executed in three stages, developing three subsystems:

  1. The eye system synchronized with eyebrows.
  2. The jaw along with the tongue synchronized to words.
  3. The neck system on a six-axis platform.

The goal is to synchronize these subsystems to a central computer using a computer vision system to recognize facial expressions and mimic them with mechanical actuators for fluidic movement. Additional features like neck movement with voice detection and silicone skin can be added later.

Literature Review

1. The Eye Subsystem

2. The Jaw Subsystem

3. The Neck Mechanism (Stewart Platform)

Resource Links

  1. Google Doc
  2. YouTube Video 1
  3. YouTube Video 2
  4. YouTube Video 3

Materials or Parts Required

End Result Expected

Challenges to Be Faced and Objectives to Be Achieved

  1. Human-Like Motion:

    • Achieving natural and human-like motion is a persistent challenge. Humanoid robots need to move seamlessly and with the flexibility inherent in human locomotion. Advancements in motor control, balance, and kinematics are essential.
  2. Sensory Perception:

    • Designing sensors that mimic human perception (such as vision, touch, and proprioception) is complex. Ensuring accurate perception of the environment and interaction with humans requires robust sensor integration.
  3. Emotional Expression:

    • Creating expressive facial features and emotional responses is challenging. Humanoid heads must convey emotions through facial expressions, eye movements, and speech intonation.
  4. Speech and Language Understanding:

    • Developing natural language processing (NLP) capabilities for communication is crucial. Understanding context, nuances, and intent in spoken language remains an ongoing challenge.
  5. Energy Efficiency:

    • Powering a humanoid head efficiently while maintaining performance is a balancing act. Battery life, energy consumption, and heat management are key concerns.
  6. Robustness and Durability:

    • Humanoid heads operate in diverse environments. Ensuring robustness against wear, tear, and environmental factors (such as dust, humidity, and temperature) is vital.
  7. Realistic Appearance:

    • Achieving a lifelike appearance without entering the “uncanny valley” (where slight deviations from human features become unsettling) is a delicate balance.

Cost Split-Up (For the Eye Subsystem)

ComponentEstimated PriceReference Link
6x SG90 Micro Servos600 INRLink
M2 and M3 Screw Kits (Approx 50 pcs)500 INRA vendor from SP Road
Arduino UNO500 INROM Electronics SP Road
16-Channel Servo Driver2000 INR (Highly subject to changes)Link
5V Power SupplyMostly available in MARVELLink
Female DC Power Jack100 INRSP Road
2-Axis Joystick415 INROM Electronics SP Road
Potentiometer50 INROM Electronics SP Road
Push-to-Make Switch90 INROM Electronics SP Road
10 k Resistor100 INROM Electronics SP Road
White PLA900 INRWOL 3D Richmond Road
Jumper Wires (Entire Set)500 INROM Electronics SP Road
TOTAL5755 INR

Cost Split-Up (For the Jaw Subsystem)

ComponentEstimated PriceReference Link
7x MG90s Micro Servo1645 INRLink
2x MG996R Servo1000 INRLink
8x M2 Servo Ball-linksNo cost estimation Available
4x M2 Short Pushrod ConnectorsNo cost estimation Available
Arduino UNO500 INROM Electronics SP Road
16-Channel Servo Driver2000 INR (Highly subject to changes)Link
Potentiometer50 INROM Electronics SP Road
5V Power SupplyMostly available in MARVELLink
TOTAL5195 INR

Timeline

Eye Subsystem (Proof of Concept)

  • June 25th - 1st July: CAD simulation of parts and research as needed. Begin 3D printing parts.
  • 2nd July: Visit SP Road and purchase electronics parts for final assembly.
  • 3rd July - 10th July: Sand individual parts, assemble, and update code with Akanksh.
  • 10th July - 14th July: Assemble the joystick to control the subsystem.
  • July 16: Present the proof of concept to Marvel coordinators for project approval.

Jaw Subsystem

  • 15th July - 22nd July: Study the jaw mechanism using head models and mechanical mechanisms to keep the subsystem light on power but highly functional.
  • 23rd July - 27th July: CAD simulation of jaw mechanism parts to prevent collisions. Collaborate with Akanksh and Dhruv to upload code for text-to-movement synthesis.
  • 28th July - 5th August: 3D printing and assembly of the jaw subsystem.

Integration and Synchronization

  • Next 15 Days: Integrate subsystems on a single rig and synchronize all subsystems.

STL File

Code

//  X-axis joystick pin: A1
//  Y-axis joystick pin: A0
//  Trim potentiometer pin: A2
//  Button pin: 2

#include 
#include 

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

#define SERVOMIN  140 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX  520 // this is the 'maximum' pulse length count (out of 4096)

uint8_t servonum = 0;

int xval;
int yval;

int lexpulse;
int rexpulse;

int leypulse;
int reypulse;

int uplidpulse;
int lolidpulse;

int trimval;

const int analogInPin = A0;
int sensorValue = 0;
int outputValue = 0;
int switchval = 0;

void setup() {
  Serial.begin(9600);
  Serial.println("8 channel Servo test!");
  pinMode(analogInPin, INPUT);
  pinMode(2, INPUT);

  pwm.begin();

  pwm.setPWMFreq(60);  // Analog servos run at ~60 Hz updates

  delay(10);
}

// you can use this function if you'd like to set the pulse length in seconds
// e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise!
void setServoPulse(uint8_t

UVCE,
K. R Circle,
Bengaluru 01