Skip to content

Implementation of An Optimal Control Approach to Robust Control of Robot Manipulators paper in python

Notifications You must be signed in to change notification settings

mayankysharma/Optimal-Control-Robot-manipulator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ENPM667 Project 1

An Optimal Control Approach to Robust Control of Robot Manipulators

Group of 2:

  • Yashveer Jain : 119252864
  • Mayank Sharma : 119203859

Overview:

With Uncertainty in state dynamics and input matrix, for Robot Manipulator, the controlling become difficult and there different ways to design controller, either using Robust Control Approach or Optimal Control Approach. Here we're implementing the paper which uses Optimal Control Approach i.e LQR controller to solve the Robust Control problem of Robot Manipulator.

Results for $\epsilon = 0$

Plot

Animation

Install dependencies

pip install -r requirements.txt

Run

python3 code/scara.py <path/to/store/result image file> <epsilon value b/w (0,1)>
  • example:
python3 code/scara.py results/e_0.png 0

Note:

  • If path argument are not given, then script will exit.
  • By default
    • epsilon = 0 if epsilon argument is not given.
    • animation output = True, and need to set it to False manually in line 228 in the file, if animation is not needed.
  • dt should be very small, currently we are using dt = 0.01.
  • total time taken as 50 sec instead of 100 sec because of higher code runtime.
    • for changing total_time, in line 233, when calling method run_controller, you can give total_time as argument, [file](code/ scara.py).

Interactive code

Interactive code can be found here

Report

click here

Presentation

click here

Reference:

About

Implementation of An Optimal Control Approach to Robust Control of Robot Manipulators paper in python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 57.7%
  • Python 42.3%