SELF-BALANCING ROBOT

Design, rapid prototyping, and closed-loop PID control of a two-wheeled inverted pendulum robot.

Explore other projects ↗

THE CHALLENGE

Designing and building an autonomous two-wheeled robot capable of maintaining vertical equilibrium in real time. The core challenge was integrating hardware design with real-time sensor processing and dynamic motor control to prevent tipping under continuous angular disturbances.

HOW

Mechanical Design & Prototyping:

  • Modeled the multi-tier chassis in Siemens NX and laser-cut the structure from lightweight plywood (triplex), assembled with threaded rods and hex hardware.

  • Positioned the heavy battery pack at the top tier to elevate the center of gravity, increasing the moment of inertia for more controllable corrective response.

  • Electronics & Embedded Architecture:

    • Integrated an Arduino Nano 33 BLE (equipped with an onboard 6-axis IMU: accelerometer + gyroscope) and a dual H-bridge motor driver to control two independent DC motors.

  • Sensor Fusion & PID Control:

    • Developed embedded firmware in Arduino C++ to acquire IMU data and apply sensor filtering for accurate tilt-angle estimation.

    • Implemented and tuned a closed-loop PID control algorithm to dynamically modulate motor direction and PWM speed for balance correction.

  • Data Acquisition & Analysis (MATLAB):

    • Streamed real-time IMU telemetric data to MATLAB to log, visualize, and analyze transient angle responses during PID gain tuning.


PORTFOLIO

© 2026