Each Self-Balancing Robot is composed by a mechanical platform, two DC brushed motors with 65 mm / 90 mm diameter wheels, an H bridge motor driver, a 6 DOF IMU (3 axis accelerometer plus 3 axis gyroscope) and an Arduino UNO microcontroller. Angular data measured by IMU components are fused via a simplified Kalman filter and used to feed a PID controller that drives the motors. One robot is provided with a Bluetooth module that allows speed and direction control via an Android smartphone.
Stay tuned for next improvement: Robot with obstacles avoidance system ...