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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
2015
|
Subjects: | |
Online Access: | http://hdl.handle.net/10356/62713 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-62713 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.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 |
institution |
Nanyang Technological University |
building |
NTU Library |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
NTU Library |
collection |
DR-NTU |
language |
English |
topic |
DRNTU::Engineering::Computer science and engineering::Hardware::Control structures and microprogramming |
spellingShingle |
DRNTU::Engineering::Computer science and engineering::Hardware::Control structures and microprogramming Alfred Setiadi A 2-wheel self-balancing robot |
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. |
author2 |
Vun Chan Hua, Nicholas |
author_facet |
Vun Chan Hua, Nicholas Alfred Setiadi |
format |
Final Year Project |
author |
Alfred Setiadi |
author_sort |
Alfred Setiadi |
title |
A 2-wheel self-balancing robot |
title_short |
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_sort |
2-wheel self-balancing robot |
publishDate |
2015 |
url |
http://hdl.handle.net/10356/62713 |
_version_ |
1759856215166287872 |