sRobotics is a custom self-balancing robot project that seamlessly integrates SolidWorks design, Arduino Mega 2560 processing, and cutting-edge control strategies. This comprehensive endeavor incorporates advanced features such as the MPU6050 IMU, L298N motor driver, LCD display, Ultrasonic Sensor, and DC Motors. Notably, the project boasts the implementation of a sophisticated Complementary Filter and PD (Proportional -Derivative) control, adding finesse and precision to the robot's stability and responsiveness.
IMU (MPU6050): The MPU6050 provides 6 degrees of freedom, combining a 3-axis gyroscope and a 3-axis accelerometer. This sensor is crucial for detecting the tilt and motion of the platform, which is essential for the balancing algorithm. The data from the MPU6050 is filtered through a complementary filter (or optionally a Kalman filter) to obtain accurate and stable readings of the platform's orientation.
Complementary Filter: Combines the accelerometer and gyroscope data to provide a stable and accurate measurement of the robot's inclination angle. This filter effectively merges the short-term accuracy of the gyroscope with the long-term stability of the accelerometer, making it well-suited for applications requiring precise orientation control.
PD Controller: The Proportional-Derivative (PD) controller is employed to maintain the balance by adjusting the motor speeds based on the tilt angle detected by the IMU. It calculates the error between the desired position (upright) and the current position, then adjusts the motor's power to correct the tilt.