Skip to content

This repository contains PID GA optimizer that has been reimplemented from scratch on MATLAB.

Notifications You must be signed in to change notification settings

fadhln/autotune-PID-GA-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autotune PID

Repository ini terdiri dari file source code yang merupakan implementasi dari Genetic Algorithm untuk melakukan penalaan kendali PID.

Kendali PID (Proportional, Integral, Derivative) merupakan sistem kendali yang dapat mengatur atau meregulasi sinyal untuk sebuah sistem. Blok diagram PID ditunjukkan pada gambar di bawah:

Blok diagram di atas mengilustrasikan persamaan berikut:

Dimana u(t) adalah Control signal. Fungsi PID dapat direpresentasikan menjadi transfer function, yaitu:

Sehingga, kendali PID membutuhkan tiga parameter yaitu Kp, Ki, dan Kd.

Genetic Algorithm (GA) adalah sebuah metode optimasi fungsi yang mencari individu 'terbaik' pada suatu generasi. Pada implementasi ini, individu 'terbaik' didefinisikan berdasarkan nilai error terkecil antara respon step sistem yang diberikan dan yang diinginkan.

Pada pendekatan ini, digunakan metode optimasi Genetic Algorithm yang diimplementasi from scratch dari Samuel-Ayankoso/Real-Coded-Genetic-Algorithm-GA dengan beberapa penyesuaian. Beberapa penyesuaian tersebut antara lain:

  • Fitness function yang disusun didasarkan dari hasil selisih stepinfo() dengan nilai yang diinginkan (desired value).
  • Sistem yang diuji adalah sistem diskrit yang diubah menggunakan c2d() dengan metode ZOH.

Cara Penggunaan

Untuk menggunakan, ikuti langkah berikut:

  1. Definisikan sistem dan nilai respon yang diinginkan pada file defineSys.m
  2. Definisikan parameter GA pada file main.m
  3. Jalankan main.m di aplikasi MATLAB

About

This repository contains PID GA optimizer that has been reimplemented from scratch on MATLAB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published