The Two-Wheel Self-Balancing Robot is a promising application of robotics and control systems that demonstrates the ability of a machine to maintain its equilibrium on two wheels. This article utilizes an accelerometer and gyroscope sensor in conjunction with an Arduino Uno microcontroller to achieve precise balancing and control.
The sensor provides real-time data on the robot\'s orientation and angular velocity. The Arduino Uno processes this data to calculate the necessary adjustments to maintain the robot\'s balance. The control algorithm uses a proportional-integral-derivative (PID) controller to make continuous adjustments to the motor speeds, ensuring that the robot remains upright.The sensor data is collected and processed to determine the robot\'s tilt angle, and the PID controller computes the appropriate motor speed corrections to counteract any deviations from the desired upright position.This article serves as an excellent educational platform for learning about control systems, sensor integration, and real-time data processing in the context of robotics. The successful implementation of this robot demonstrates the practicality and potential applications of self-balancing technology in various fields, including transportation and automation. Moreover, the tuning of PID using the heuristic method is also carried out, and the robot\'s balancing is noticeably improved.
Introduction
Self-balancing robots, based on the inverted pendulum principle, are increasingly researched in robotics and control engineering. These robots use real-time feedback to maintain balance using minimal points of contact with the ground—typically two wheels.
Literature Review Highlights
Control Techniques: Researchers have applied various controllers including PID, LQR, Kalman Filter, complementary filters, and neural networks.
Applications: From simple balancing to complex tasks like transportation and monitoring.
Tuning: Essential for achieving stability, accuracy, and responsiveness.
Working Principle
Based on an inverted pendulum model.
Robot detects tilt using the MPU6050.
Arduino processes tilt data using a PID-based Kalman Filter.
Commands are sent to the motor driver (L298N) to adjust wheel movement and maintain balance.
Design Improvements Over Previous Systems
Shifted from Arduino Mega to UNO for compactness.
Replaced older IMUs with MPU6050 for better accuracy.
Optimized center of gravity and response time.
Sensors & Estimation
Accelerometer: Measures tilt through acceleration.
Gyroscope: Measures angular velocity.
Kalman Filter: Combines both readings to reduce noise and improve accuracy.
Performance Considerations
Responsive to changes in angle and position.
Sufficient torque for correction.
Reduced steady-state error and improved stability.
Able to operate autonomously in tasks like object transport and household aid.
Conclusion
With the expectation of making the robot balance on its own using PID and Kalman Filter, the project\'s initial goals were all accomplished. The speed of the open loop offers line with fairly smooth values with only a few unexpected odd ones. The algorithm is also excellent, offering a very low settling time of the motor’s. Testing of the PID algorithm for the motor has been done while maintaining the reference speed constant at varied voltages. The voltage variation has no impact on the speed of the motor implies that the PID Algorithm is functioning properly.Last but not least, it may be concluded that a learning platform was created through the creation and design of an self-balancing robot operating at its best.
References
[1] M.R.M. Romlay, M.I. Azhar, S.F. Toha, M.M. Rashid”Two-wheel Balancing Robot; Review on Control Methods and Experiments” ; International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-3878, Volume-7, Issue-6S, March 2019.
[2] A. Y. Ivoilov, V. A. Zhmud, and V. G. Trubin, “The tilt angle estimation in the inverted pendulum stabilization task,” 2018 Moscow Workshop on Electronic and Net-working Technologies MWENT 2018, vol. 2018-March, 2018.
[3] S. Jung and S. S. Kim, “Control experiment of a wheel-driven mobile inverted pendulum using neural network,” IEEE Trans. Control Syst. Technol., vol. 16, no. 2, 2008, pp. 297–303.
[4] M. I. Ali and M. M. Hossen, “A two-wheeled self-balancing robot with dynamics model,” 4th Int. Conf. Adv. Electr. Eng. ICAEE 2017, vol. 2018–January, 2018, pp. 271–275.
[5] Y. Zhang, L. Zhang, W. Wang, Y. Li, and Q. Zhang, “Design and implementation of a two-wheel and hopping robot with a linkage mechanism,” IEEE Access, vol. 6, 2018, pp. 42422-42430.
[6] S. Wenxia and C. Wei, “Simulation and Debugging of LQR control for two-wheeled self-balanced robot”, 2017 pp. 2391–2395.
[7] C. Gonzalez, I. Alvarado, and D. M. La Peña, “Low cost two-wheels self-balancing robot for control education,” IFAC-Papers Online, vol. 50, no. 1, 2017, pp. 9174–9179.