Gesture Controlled Robot

Introduction

A Gesture Controlled Robot is a robot that can be controlled using hand gestures. It uses sensors like accelerometers or IMU (Inertial Measurement Unit) to detect hand movements and converts them into robot motion commands.

This technology eliminates the need for buttons or remote controls, making it intuitive, interactive, and futuristic.


Objective of the Project

  • To control a robot using simple hand gestures
  • To implement wireless gesture-to-robot communication
  • To demonstrate innovative robotics for real-time applications
  • To create an interactive and user-friendly control system

Working Principle

  1. A gesture glove or handheld device with MPU6050 (accelerometer + gyroscope) detects hand movement
  2. Sensor data is sent to a microcontroller (Arduino / ESP32)
  3. Microcontroller interprets gestures like forward, backward, left, right
  4. Signals are sent to motor driver to move the robot accordingly

Components Required

  • Arduino Uno / ESP32
  • MPU6050 (Accelerometer + Gyroscope Sensor)
  • HC-05 Bluetooth Module (for wireless commands)
  • Motor Driver L298N
  • DC Motors with wheels
  • Robot chassis
  • Jumper wires and battery pack

Block Diagram

Gesture Glove (MPU6050)
           ↓
       Arduino / ESP32
           ↓
     Bluetooth / Direct Connection
           ↓
      Motor Driver L298N
           ↓
         DC Motors
           ↓
       Robot Movement

Circuit Connections

MPU6050

VCC → 5V
GND → GND
SCL → A5 (Arduino)
SDA → A4 (Arduino)

HC-05 Bluetooth

VCC → 5V
GND → GND
TX → RX (Arduino)
RX → TX (Arduino)

L298N Motor Driver

IN1 → Arduino Pin 8
IN2 → Arduino Pin 9
IN3 → Arduino Pin 10
IN4 → Arduino Pin 11
ENA → 5V / PWM Pin
ENB → 5V / PWM Pin
Motor A → Left Wheel
Motor B → Right Wheel

Arduino Code (Gesture Controlled Robot)

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();

  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  int16_t ax, ay, az;
  mpu.getAcceleration(&ax, &ay, &az);

  // Example gestures
  if (ax > 15000) { // Forward gesture
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
  } 
  else if (ax < -15000) { // Backward gesture
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
  }
  else if (ay > 15000) { // Right gesture
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
  }
  else if (ay < -15000) { // Left gesture
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
  }
  else { // Stop
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, LOW);
  }

  delay(100);
}

Code Explanation

  • MPU6050 reads acceleration along X, Y, Z axes
  • Threshold values determine gestures: forward, backward, left, right
  • Motor driver moves robot according to hand movement
  • Provides real-time gesture-based control

Advantages

  • Hands-free and intuitive control
  • No physical buttons needed
  • Can be combined with voice or AI systems
  • Fun and educational robotics project

Applications

  • Gesture-controlled toys and robots
  • Robotics education
  • Smart wheelchair / assistance robots
  • Human-machine interactive systems

Future Enhancements

  • Combine with voice control for multi-modal control
  • Add camera and object detection
  • Wireless gesture control via IoT
  • AI-assisted gesture recognition

Conclusion

The Gesture Controlled Robot demonstrates the power of sensors and robotics. It is a mini innovation project that combines motion sensing, real-time control, and robotics, making it highly interactive and futuristic.

Leave a Reply

Shopping cart

0
image/svg+xml

No products in the cart.

Continue Shopping