Giter VIP home page Giter VIP logo

lqr_lqg_controller's Introduction

Linear Quadratic Regulator and Linear Quadratic Gaussian Controller Design

The control system was designed for the system shown in the figure. Please have a look at the detailed report here

Problem Statement

Consider a crane that moves along an one-dimensional track. It behaves as a friction-less cart with mass M actuated by an external force F that constitutes the input of the system. There are two loads suspended from cables attached to the crane. The loads have mass m1 and m2, and the lengths of the cables are l1 and l2, respectively. The following figure depicts the crane and associated variables used throughout this project.

Design Procedure

  1. Obtain the equations of motion for the system and the corresponding nonlinear state-space representation.
  2. Obtain the linearized system around the equilibrium point specified by x = 0 and θ1 = θ2 = 0. Write the state-space representation of the linearized system.
  3. Obtain conditions on M, m1, m2, l1, l2 for which the linearized system is controllable.
  4. Choose M = 1000Kg, m1 = m2 = 100Kg, l1 = 20m and l2 = 10m. Check that the system is controllable and obtain an LQR controller. Simulate the resulting response to initial conditions when the controller is applied to the linearized system and also to the original nonlinear system. Adjust the parameters of the LQR cost until you obtain a suitable response. Use Lyapunov’s indirect method to certify stability (locally or globally) of the closed-loop system.
  5. Suppose that you can select the following output vectors: x(t), (θ1(t), θ2(t)), (x(t), θ2(t)) or(x(t), θ1(t), θ2(t)). Determine for which output vectors the linearized system is observable.
  6. Obtain your "best" Luenberger observer for each one of the output vectors for which the system is observable and simulate its response to initial conditions and unit step input. The simulation should be done for the observer applied to both the linearized system and the original nonlinear system.
  7. Design an output feedback controller for your choice of the "smallest" output vector. Use the LQG method and apply the resulting output feedback controller to the original nonlinear system. Obtain your best design and illustrate its performance in simulation. How would you reconfigure your controller to asymptotically track a constant reference on x ? Will your design reject constant force disturbances applied on the cart ?

Results

lqr_lqg_controller's People

Contributors

pruthvi-sanghavi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

fagan2888

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.