Skip to content

Building self-balancing robot using LQR controller

License

Notifications You must be signed in to change notification settings

swalberg/LQR-BalanceBot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LQR-BalanceBot

LQR-BalanceBot is a two wheel self-balancing robot, based on Arduino Mega. It uses Linear-Quadratic-Regulator, an optimal controller which optimizes a cost function using energy-based method to give optimum gains according to our requirements. A six-state variable state space model has been designed to control position, velocity, yaw (using Quadrature encoders), and tilt angle (using GY-87 sensor) of the bot.

Video Demonstration

https://youtu.be/7lbDvhHPumI

Results Snapshots

Traversing slope

drawing drawing drawing

Object pick up and drop

drawing drawing drawing

Position hold

drawing

Control Architecture

architecture

Contributors

Akshay S Rao, Aliasgar AV, Ankit Kumar, Mohammed Rehab Sait.

Repository Contents

  • Libraries: Contains MPU and I2C libraries
  • code: Contains the code for controlling the bot
  • Model: Contains code files for Mathematical modelling of Robot
  • Report: Documentation on the working of the robot and all the task submissions
  • Images: contains images

About

Building self-balancing robot using LQR controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 70.1%
  • C 25.2%
  • Processing 3.0%
  • MATLAB 1.7%