A 2-wheel self-balancing robot

This project involves the development of a microcontroller based controller for a 2-wheel self-balancing robot, where the digital feedback control is based on a Linear Quadratic Regulator (LQR) algorithm using a state-space representation to model the dynamics of the system. The initial process...

Full description

Bibliographic Details
Main Author: Alfred Setiadi
Other Authors: Vun Chan Hua, Nicholas
Format: Final Year Project (FYP)
Language:English
Published: 2015
Subjects:
Online Access:http://hdl.handle.net/10356/62713
_version_ 1826123988442546176
author Alfred Setiadi
author2 Vun Chan Hua, Nicholas
author_facet Vun Chan Hua, Nicholas
Alfred Setiadi
author_sort Alfred Setiadi
collection NTU
description This project involves the development of a microcontroller based controller for a 2-wheel self-balancing robot, where the digital feedback control is based on a Linear Quadratic Regulator (LQR) algorithm using a state-space representation to model the dynamics of the system. The initial process begins with the study of the robot designs and the components that make up the robots. Schematics of the robot are then created for references. Understanding of each component used in the design is then used to determine the parameters to be used in the state-space representation. The flow of the report is as follows. It first discusses the procedure used to obtain the measurements of the (four) state variables that are crucial for the implementation of the robot. Simulations of the system dynamic using Matlab are then presented. These simulations are used to determine the appropriate feedback gain level required for the robot to balance itself. Implementation of the digital control loop, in the form of pseudo-code, is then described, which provide an overview of how the controller is designed. Test results indicate that the model used is still not very accurate. The main causes include reasons like assumptions made, and parts not performing at the level specified in the data sheet. In order to overcome the imperfect model, fine-tuning method was used although it is time-consuming and is a tedious process. Several improvements were made to the control algorithm, mainly to address problems due to steady-state error and dead-zone level of the motors. The end result of the project is that the robot is able to perform at a satisfactory level, including the ability to withstand minor nudge applied and remained in balance. This demonstrates that the implementation of LQR algorithm is largely successful although it was improved using a fine-tuning method. In conclusion this project has provided a good exposure to using formal modelling technique for control system design, and is also an interesting experience in exploring the feasibility of using adaptive control during the course of this project.
first_indexed 2024-10-01T06:13:19Z
format Final Year Project (FYP)
id ntu-10356/62713
institution Nanyang Technological University
language English
last_indexed 2024-10-01T06:13:19Z
publishDate 2015
record_format dspace
spelling ntu-10356/627132023-03-03T20:28:36Z A 2-wheel self-balancing robot Alfred Setiadi Vun Chan Hua, Nicholas School of Computer Engineering DRNTU::Engineering::Computer science and engineering::Hardware::Control structures and microprogramming This project involves the development of a microcontroller based controller for a 2-wheel self-balancing robot, where the digital feedback control is based on a Linear Quadratic Regulator (LQR) algorithm using a state-space representation to model the dynamics of the system. The initial process begins with the study of the robot designs and the components that make up the robots. Schematics of the robot are then created for references. Understanding of each component used in the design is then used to determine the parameters to be used in the state-space representation. The flow of the report is as follows. It first discusses the procedure used to obtain the measurements of the (four) state variables that are crucial for the implementation of the robot. Simulations of the system dynamic using Matlab are then presented. These simulations are used to determine the appropriate feedback gain level required for the robot to balance itself. Implementation of the digital control loop, in the form of pseudo-code, is then described, which provide an overview of how the controller is designed. Test results indicate that the model used is still not very accurate. The main causes include reasons like assumptions made, and parts not performing at the level specified in the data sheet. In order to overcome the imperfect model, fine-tuning method was used although it is time-consuming and is a tedious process. Several improvements were made to the control algorithm, mainly to address problems due to steady-state error and dead-zone level of the motors. The end result of the project is that the robot is able to perform at a satisfactory level, including the ability to withstand minor nudge applied and remained in balance. This demonstrates that the implementation of LQR algorithm is largely successful although it was improved using a fine-tuning method. In conclusion this project has provided a good exposure to using formal modelling technique for control system design, and is also an interesting experience in exploring the feasibility of using adaptive control during the course of this project. Bachelor of Engineering (Computer Science) 2015-04-28T02:19:32Z 2015-04-28T02:19:32Z 2015 2015 Final Year Project (FYP) http://hdl.handle.net/10356/62713 en Nanyang Technological University 43 p. application/pdf
spellingShingle DRNTU::Engineering::Computer science and engineering::Hardware::Control structures and microprogramming
Alfred Setiadi
A 2-wheel self-balancing robot
title A 2-wheel self-balancing robot
title_full A 2-wheel self-balancing robot
title_fullStr A 2-wheel self-balancing robot
title_full_unstemmed A 2-wheel self-balancing robot
title_short A 2-wheel self-balancing robot
title_sort 2 wheel self balancing robot
topic DRNTU::Engineering::Computer science and engineering::Hardware::Control structures and microprogramming
url http://hdl.handle.net/10356/62713
work_keys_str_mv AT alfredsetiadi a2wheelselfbalancingrobot
AT alfredsetiadi 2wheelselfbalancingrobot