Overview
The objective of this project was to build a robot that can move in all directions without changing its orientation using mecanum wheels, controlled entirely through intuitive hand movement for effortless, gesture-based navigation.
Approach
The system architecture is divided in two parts, the gesture controlled unit (sender) and the robot chassis (receiver).
Consequently, the project is organized in three phases ,kinematics for omnidirectional motion, connection between the two units and hardware implementation.
In the first phase, existing mathematical formulas and algorithms were utilized to enable movement in all directions without changing orientation, and these were implemented in the code.
In the second phase, the ESP-NOW protocol was employed to enable peer-to-peer communication for transmitting and receiving data between the two units.
In the final phase, the ESP32 and Inertial Measurement Unit (MPU6050) were used to transmit gesture data to the chassis wireless. Two motor drivers and the ESP32 were then employed to receive the data and execute the corresponding motion for the wheels.
Project Implementation
Software Implementation :
1. Connection of MPU6050 with ESP32
Connecting an MPU6050 to an ESP32 is a crucial step in creating an omni-directional hand gesture bot. The MPU6050 is an inertial measurement unit (IMU) that combines a 3-axis gyroscope and a 3-axis accelerometer, which can detect the orientation, movement, and acceleration of the hand. By interfacing this sensor with the ESP32, a powerful microcontroller with built-in Wi-Fi and Bluetooth capabilities, we can capture and process hand movements in real-time. This data can then be used to control the bot’s movements, allowing for intuitive and responsive gesture-based control.
2. Simulation result of MPU6050
The integration of the MPU6050 with the ESP32 results in precise real-time tracking of hand gestures, enabling smooth and responsive control of the omni-directional bot. This enhances user interaction by translating natural hand movements into accurate bot movements.

1] Gesture-Glove (Transmitter) Circuit :
The circuit in the gesture-glove is responsible for capturing hand movements and transmitting the corresponding data wirelessly to the robot.
- The PCB ensures a compact layout to fit inside the glove.
- Integrated connections for MPU6050 via I2C interface.
- Voltage Regulator for stable power supply.
- ESP32 for wireless communication.
Circuit of Hand-Gesture IMU :

2] Robot (Receiver) Circuit :
The robot’s circuit interprets the transmitted gestures and controls the Mecanum wheels for omnidirectional movement.
- Each motor driver channel is connected to an individual motor, enabling precise control for omnidirectional movement.
- Power Input for motor drivers and ESP32.
- Motor Outputs for Mecanum wheels.
Circuit of Omni-Directional Robot:

Hardware Implementation:
1. Hardware Simulation of IMU
- Purpose : To test the accuracy and responsiveness of the MPU6050 IMU sensor before integrating it into the gesture-glove.
- Procedure :
- Connected the MPU6050 to the ESP32 via Breadboard using Jumper wires.
- Simulate various hand gestures and verify the sensor’s ability to detect and transmit real-time orientation data.
- Used debugging tools like the Serial Monitor in the Arduino IDE to analyze data consistency.
- Outcome : Ensures that the IMU sensor accurately captures gestures and provides reliable input for wireless transmission.
2.Wireless Data Transfer using WiFi (ESP-NOW Protocol)
At last we used ESP-NOW Protocol for Wireless Data Transfer.
Procedure:
Used ESP32 modules for both transmitting and receiving data.
Implemented the ESP-NOW protocol, which allows peer-to-peer communication with low latency.
Transmited gesture data from the glove as control commands (e.g., direction, speed).
Validated the transmission by ensuring commands are received accurately and promptly by the robot.
RESULT
1] Forward Motion and Gesture
![]() | ![]() |
---|
2] Backward Motion and Gesture
![]() | ![]() |
---|
3] Leftward motion and Gesture
![]() | ![]() |
---|
4] Rightward motion and Gesture
![]() | ![]() |
---|
5] Backward-Right motion and Gesture
![]() | ![]() |
---|
6] Forward-Right motion and Gesture
![]() | ![]() |
---|
7] Backward-Left motion and Gesture
![]() | ![]() |
---|
8] Forward-Left motion and Gesture
![]() | ![]() |
---|
9] Clockwise motion and Gesture
![]() | ![]() |
---|
10] Anti-Clockwise motion and Gesture
![]() | ![]() |
---|
Team Members
Mentors