← Back to Project Vault

DCDC PROJECT HUB

Self-Balancing Two-Wheel Robot Using PID & IMU

3RD YEARRoboticsHARD

Problem statement

Balancing an inverted pendulum is a classical problem in control systems engineering. Creating a stable two-wheel robot is challenging due to continuous corrections required to maintain balance.

Abstract

This robot uses an MPU6050 IMU to measure angular tilt. The data is filtered using a complementary or Kalman filter. A PID controller calculates the required motor speed to counteract tilt in the opposite direction. The system remains upright and can move forward/backward without falling.

Components required

  • MPU6050 IMU Sensor
  • Arduino / ESP32
  • Motor Driver (L298N)
  • DC Motors
  • Battery Pack

Block diagram

IMU Sensor
Angle Estimation Filter
PID Controller
Motor Driver
Balancing Action

Working

IMU measures tilt → angle estimated → PID calculates correction → motor driver adjusts wheel speed to stabilize the robot. Continuous feedback maintains balance.

Applications

  • Control system research
  • Robotics competitions
  • Segway-like personal transport systems