Skip to content
This repository has been archived by the owner on Nov 2, 2024. It is now read-only.

Building self-balancing robot using LQR controller

License

Notifications You must be signed in to change notification settings

iamAkshayrao/LQR-BalanceBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 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

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