Smart two wheels balancing robot

Author: Hasan Nasir A Alshahrani

Alshahrani, Hasan Nasir A, 2020 Smart two wheels balancing robot , Flinders University, College of Science and Engineering

Terms of Use: This electronic version is (or will be) made publicly available by Flinders University in accordance with its open access policy for student theses. Copyright in this thesis remains with the author. You may use this material for uses permitted under the Copyright Act 1968. If you are the owner of any included third party copyright material and/or you believe that any material has been made available without permission of the copyright owner please contact with the details.


This project is about a smart two wheels balancing robot that has the capability of selfbalancing and can move from one location to another. Three main goals were identified for this project, i.e., balancing the robot using the PID algorithm, making the robot move while maintaining the balance using the RC transmitter and receiver, and autonomously making it navigate using GPS, compass, wheel encoders, and other sensors associated with Mission Planner software. For the achievement of these goals, an extensive literature review was performed to understand the concept and working of self-balancing robots. By utilising the available literature, it was determined that the inverted pendulum theory and control theory must be adopted for the design and development of the smart two wheels balancing robot system.

By using the theory, this robot system was developed with the ability to rotate its motor in the direction of the tilt. A cascaded PID algorithm was successfully developed to control the heading angle, pitch angle, and wheel velocity of the robot, which allows the robot to perform balancing and autonomous navigation tasks. This system is programmed to rotate the motor and wheels in the direction of the tilt of the robot's body, in both forward and backward directions. The motors of the robot are programmed to keep on rotating until the body of the robot reaches its setpoint angle, which is 0°, i.e., the upright position of the robot. A simulation using Matlab/ Simulink is used to verify the model and tune the constant used for the PID algorithm. Two programming environments are used to program the ArduPilot Mega (APM 2.8) microcontroller and Arduino Pro Mini microcontroller, these are; ArduPilot-Arduino and Arduino IDE respectively. Additionally, Mission Planner software is used to control the robot in autonomous navigation.

Keywords: PID Control System, Balancing Algorithm.

Subject: Engineering thesis

Thesis type: Masters
Completed: 2020
School: College of Science and Engineering
Supervisor: Dr. Nasser Asgari