Archive for the ‘Kuliah Kontrol’ Category

Robot Wall Follower dengan Kendali PID

Nah pada postingan kali ini ane sharing tentang robot Wall Follower (follower lagi wkwkwkwkwk 🙂 ) yups mirip ama Line Follower tapi sedikit berbeda pada penggunaan sensor. Jika pada LF temen2 menggunakan sensor garis namun pada Wall Follower ini temen2 menggunakan sensor jarak. Nah tentu saja temen2 membutuhkan modal lebih lagi untuk bermain-main dengan nih robot coz sensor untuk ni robot agak mahal sih untuk kantong ane… ^_^. Topik yang akan ane bahas adalah bagaimana penerapan kendali PID untuk robot Wall Follower agar saat berjalah mengikuti Wall (dinding) dapat bergerak dengan halus, cepat dan responsif. So semoga pembahasan pada postingan kali ini dapat membantu temen2 yg saat ini sedang ngerjain Tugas Akhir ato sedang mempersiapkan robotnya pada ajang Kontes Robot Cerdas Indonesia (KRCI). Nah sebelum memulai materinya… temen2 sedianya membaca terlebih dahulu teori2 penunjang berikut ini yang telah ane susun dari berbagai referensi tentunya.

Teori Wall Follower:

Wall Follower adalah suatu algoritma untuk menyediakan orientasi navigasi kepada robot dengan menyusuri dinding. Salah satu keuntungannya adalah tidak perlu adanya garis penuntun ataupun suatu tanda khusus sebagai arahan bagi robot. Cara kerjanya adalah dengan mengatur jarak dinding dengan robot tetap konstan. Bila terjadi perubahan, maka robot akan bergerak untuk kemudian menyesuaikan jarak lagi. Proses ini akan dilakukan secara berulang-ulang. Ada empat metode dari Wall Follower:

  • Contact. Robot menggunakan saklar mekanik yang merasakan sentuhan  dengan dinding. Ini adalah metode yang paling mudah namun saklar akan cenderung mengalami kerusakan mekanis setelah beberapa waktu.
  • Noncontact, active sensor. Robot menggunakan sensor aktif yang beroperasi dalam jarak dekat seperti infra merah atau ultrasonik untuk mengukur jarak antara dinding dengan robot.
  • Noncontact, passive sensor. Robot memakai sensor pasif seperti saklar Hall effect untuk mengukur jarak antara robot dengan dinding. Pada kasus ini, dinding harus berbahan logam atau dipasangai kabel elektrik agar sensor dapat menangkap medan magnetik saat robot mendekati dinding.
  • Soft-contact. Robot menggunakan bahan mekanik untuk mendeteksi sentuhan dengan dinding, namun sentuhan ini diperhalus dengan memasang material lunak atau lentur contohnya roda dari busa atau karet. Kelebihan dari metode ini adalah berkurangnya kerusakan mekanis.

Metode-metodeWall Follower :

Selanjutnya sebelum ke materi pemrogramannya ane kenalin dulu nih ma robot ane ya temen2… ^_^

Desain mekanik robot Wall Followerku :

Desain elektronik robot Wall Followerku :

Tampilan hasil desain dan rancangan robot Wall Followerku :

Nah tu dia temen2 robot Wall follower ane… cakep kan wkwkkwkw 😀 Okedeh sekarang temen2 baca konsep kendali PID yang ane terapkan di robot ini. Semoga temen2 semua faham dan dapat di jadikan referensi ya ^_^

Pemrograman Kontroler PID pada Robot Wall Follower :

Pembuatan program kontroler PID ini dilakukan berdasarkan persamaan kontroler PID digital. Pertama-tama  akan  dibuat dua buah variabel berupa error, last_error. Gunanya adalah untuk menyimpan data error dan last_error yang akan digunakan pada perhitungan aksi kontroler PID. Setiap satu kali looping program, error akan diperbaharui dengan data yang diambil dari sensor dan sebelumnya akan disimpan di last_error. Keluaran dari perhitungan program kontroler PID ini adalah nilai PWM. Nilai PWM ini dapat bernilai positif ataupun negatif. Positif dan negatif pada nilai PWM ini menandakan arah putaran motor. Keluaran kontroler berupa nilai PWM ini akan memanggil fungsi pengendali driver motor, pada fungsi ini apabila PWM bernilai positif, maka motor akan berputar maju, sebaliknya bila PWM bernilai negatif, maka motor akan berputar mundur. Nilai PWM keluaran dari kontroler PID ini akan ditambahkan dan dikurangkan terlebih dahulu dengan base PWM untuk masing-masing motor dan dijumlahkan dengan offset PWM pada masing-masing motor tersebut. Ilustrasi aplikasi kontroler PID dapat dijelaskan pada diagram blok berikut.

Diagram blok kontroler PID pada robot Wall Follower :

Deviasi/simpangan antar variabel terukur (PV) dengan nilai acuan (SP) disebut error (galat). Setpoint (SP) adalah suatu prameter nilai acuan atau nilai yang diinginkan. Present Value (PV) adalah nilai pembacaan sensor saat itu atau variabel terukur yang di umpan balikan oleh sensor (sinyal feedback). Berikut Gambar ilustrasi kontroler PID pada robot Wall Follower dan arsitektur kontroler PID pada robot Wall Follower.

Ilustrasi kontroler PID pada robot Wall Follower :

Dan ini dia video hasil eksperiment robot Wall Follower ane dengan kendali Kendali PID …

Robot Wall  Follower PID -ku part 1:

Robot Wall  Follower PID -ku part 2:

Robot Wall Follower with Right Rule Tracer and Obstacle Avoidance:

Robot Wall Follower with Left Rule Tracer and Obstacle Avoidance:

Semoga informasi ini bermanfaat 🙂

Iklan

Simulasi Logika Fuzzy dengan Simulink-Matlab

Belajar logika fuzzy tidak cukup dengan hanya memahami teorinya… temen2 juga dapat mencobanya dalam simulasi atau aplikasi… nah pada postingan ini, ane mencoba berbagi pengalaman bagaimana cara mensimulasi logika fuzzy dengan Simulink-Matlab, silakan temen2 unduh file tutorialnya disini.

Setelah teman2 baca, lihat sample gambar yg ane gunakan saat simulasi logika Fuzzy dengan Simulink-Matlab:

  • FIS editor

  • 7 Membership error

  • 7 Membership derror

  • 5 Membership Speed (PWM)

  • Rule Inference using 49 Rules

  • Simulink Fuzzy Mobile Robot

ini video hasil simulasi logika fuzzy ane menggunakan simulink-matlab…

dan video berikut aplikasi Fuzzy untuk kontrol suhu, bagus juga buat ditonton…

Semoga informasi ini bermanfaat 🙂

Memahami PID Kontroler

Nah sudah lama tidak update blog… bingung mau nulis tentang apa hehehe… 🙂 nah kali ini posting informasi paper singkat yang keren banget isinya… judulnya “PID Without a PhD” nih silakan sedot papernya di sini… Dan informasi yg didapat dari YouTube, kemaren2 pernah nemu di YouTube video judulnya memahami PID kontroler dalam waktu 4 menit, tapi kalo dikuliahan 1 semester hehehehe… ya video ni cocok buat temen2 yg sudah pernah mengambil mata kuliah tentang kontroler PID… so video ini hanya akan memperjelas pengertian temen2 tentang apa itu kontroler PID… silakan temen2 lihat video nya… selain itu ada juga video2 lainnya yg bagus buat temen2 lihat… 🙂

nah buat temen2 yg pengen belajar lebih jauh lagi PID dan Control System via YouTube bisa juga kunjungi link berikut http://www.youtube.com/user/megr438/videos

Semoga informasi ini bermanfaat 🙂

Robot Line Follower dengan Kendali PID-Fuzzy

Robot Line Follower dengan Kendali PID-Fuzzy

Ane mau… sharing lagi nih ma temen2 tentang LF… mungkin ada yg bosen kok isi blog ini kebanyakan robot LF aja heheheeehe 😀 Ya begitulah kondisinya temen2 ane maniak banget dengan ni robot LF makanya ane suka ber-eksperiment tentang bagaimana menerapkan berbagai kendali yg tepat untuk diterapkan di robot LF ini supaya pergerakannya itu halus cepat dan responsif. Yups ane dah menerapkan kendali PID pada ni robot dan saat ini ane mencobanya dengan menggabungkannya dengan kendali Fuzzy. Ide itu berawal dari setelah ane dapat matakuliah sistem pengaturan cerdas di Teknik Elektro ITS. Matakuliah (walaupun cuma 2 sks) itu saat ane senangi temen2… dimana dosennya mantep banget (perfect) jelasinnya (terimakasih banyak ya pak) tidak hanya teori tapi praktek juga… so ane terrapin deh di robot LF ane :D. Nah oleh sebab itu ane coba share ilmu yg sedikit ini kepada temen2 semua… semoga bermanfaat dan bisa dijadikan referensiya… ^_^

Nah sebelum ane jelasin tentang logika Fuzzy-nya ane kenalkan dahulu ye ma robot LF ane yang tersisa, maksudnya yang kondisinya masih FIT alias sehat (masih bisa nyala). Ni dia foto-fotonya:

Temen2 semua dah liatkan robot LF ane yang satu ini… Jelekkan (kurang estetika)… hehehe 😀 itu lah robot ane.. desain mekanik ala kadarnya… menggunakan acrylic sisa dan PCB bolong sebagai kerangka robotnya… sensornya pun langsung ditanam di PCB bolong gak pake desain layout langsung solder aja praktis bukan… komposisi gearbox-nya pake kanibal maenan tank terus ane tempel ke bodi robotnya pake Lem Tembak… itulah senjata ane gan ^_^  walaupun mekanik robotnya jelek,  setelah diberi kontroler yang tepat jalannya bisa halus lo hehehe 😀 ini dia salah satu aksi robotnya pada kasus Line Maze Robot.

Nah ni dia spesifikasi lengkap dari robot LF ane :

  • Mikrokontroler AVR = ATMega32
  • Sensor = LED Super Bright Putih – Photo Dioda (8 di depan, 3 di sayap kiri, 3 di sayap kanan dan 1 di tengah belakang sebagai kondisi NOS… total pake 15 sensor dengan Konfigurasi ADC-Multiplekser)
  • Motor DC = DVD 6.0 V
  • Gear  = Kanibal dari maenan Tank
  • Battery = LiPo 850mAH / 11,1V
  • Driver Motor = L293d
  • Dimensi = panjang; 18 cm × lebar; 15 cm
  • Bahasa Pemrograman = Bahasa C dengan compiler  CodeVision AVR

Selanjutnya untuk penjelasan logika Fuzzy ini temen2 bisa googling di mbah google ato baca sedikit penjelasnya disini ato sedot ni paper. Berikut ini aturan yang harus temen2 fahami tentang logika Fuzzy yang ane uraikan sebagai berikut (bila ada kesalahan mohon ane dikoreksi ya gan ^_^ ).

Tahap Pemodelan dalam logika Fuzzy:

Nah bila kita terapkan dalam pengendalian proses dapat diterapkan seperti blok di bawah ini:

Dari uraian blok diatas dapat kita fahami bahwa didalam logika Fuzzy terdapat tiga hal terpenting yang harus temen2 fahami diataranya:

  1. Fuzzifikasi adalah proses untuk mengubah variabel non fuzzy (variabel numerik) menjadi variabel fuzzy (variabel linguistik).
  2. Inferencing (Ruled Based) , pada umumnya aturan-aturan fuzzy dinyatakan dalam bentuk “IF……THEN” yang merupakan inti dari relasi fuzzy.
  3. Defuzifikasi adalah proses pengubahan data-data fuzzy tersebut menjadi data-data numerik yang dapat dikirimkan ke peralatan pengendalian.

Oke deh… segitu aja ya penjelasan dari ane tentang teori logika Fuzzy-nya… selanjutnya ane jelasin tentang cara pengaplikasiannya pada robot LF… tapi logika Fuzzy yang ane terrapin pada robot LF ini tidak murni hanya dengan logika Fuzzy saja tapi digabungkan (hybrid) dengan kendali PID… so judulnya yang lebih tepat adalah Robot Line Follower dengan Kendali Hybrid PID-Fuzzy.

Diagram Blok Hybrid Kendali PID – Fuzzy

Nah untuk penjelasan Kendali PID-nya bisa temen2 lihat postingan ane yg lampau disini. Dan untuk penjelasan logika Fuzzy-nya ialah sebagai berikut:

Perhatikan step berikut temen2 :

Aplikasi pemrograman logika fuzzy ini ane terapkan dalam bahasa C (codevisonAVR), ini dia potongan program untuk penentuan membership pada proses penentuan crisp input dalam proses fuzzikasi-nya. Ane menggunakan 7 membership dalam proses cris input pada Fuzzifikasi error dan derror-nya, dengan fungsi keanggotaan segitiga (triangle membership function).  Berikut ini sample code fuzzifikasi-nya:

fuzzifikasi

Proses fuzzifikasi, fungsi keanggotaanya ane aktifkan dengan fungsi keanggotaan segitiga yang selanjutnya masuk ke proses Rule Base Evaluationnya. Proses Rule Evaluation-nya mengacu pada tabel MacVicar Whelan dengan menggunakan Mamdani Inference Rule, berikut ini contoh tabee proses rule evaluationya menggunakan teknik dari MacVicar Whelan dengan menggunakan 5 membership error dan derror. Untuk case pada robot ini, ane gunakan 7 membership error dan derror.

Nah berikut ini sample codenya untuk Mamdani Inference Rule using MacVicar Whelan Method:

Inference Rule

Dari hasil rule evaluasi ini kita dapatkan hasil kontrol logika fuzzy-nya yang selanjutnya kita defuzzifikasi yaitu dengan banyak cara (bisa lihat disini sebagai reference) diantaranya yang paling umum adalah dengan teknik Center of Gravity (COG). Nah untuk case robot ini, ane gunakan teknik dari Sugeno menggunakan Weighted Average (WA). Berikut ini sample code defuzzifikasi-nya:

defuzzifikasi

Dari proses defuzzifikasi ini baru lah kita dapatkan sinyal kontrol logika Fuzzy yang akan kita terapkan pada robot LF nantinya. Nah selajutnya proses pemberian nilai PWM motor robot LF ane adalah gabungan (hybrid) antara kendali PID dengan logika Fuzzy. Berikut sample code untuk ditransfer ke aktuator (driver motor robot) dalam bentuk PWM:

Dan ini dia video robot LF ane dengan kendali Kendali PID – Fuzzy…

Semoga informasi ini bermanfaat :)

Kontroler PI pada Plant Orde 1 dengan SIMULINK

Kita dapat mendesain suatu kontroler Proportional-Integrator (PI) yang diinginkan sedemikian rupa sehingga output hasil desain menjadi dua kali lebih cepat dari respon awal. Sebagai contoh τ = 0,004 detik menjadi τ*=0,002  detik.

Sebagai contoh hasil identifikasi plant Motor DC menggunakan perangkat lunak LabVIEW ditunjukkan pada Gambar 1.Gambar 1. Identifikasi plant motor DC dengan waktu sampling sebesar  1ms.

Dari grafik respon diperoleh fungsi alih  Plant Motor DC ialah

K=gain overall=3,618

τ=4,142*1 ms = 0,004142 detik

sehingga diperoleh model matematis plant-nya sebagai berikut:

τ* yang diinginkan ialah

Parameter kontroler:

K=gain overal =3,618

Berikut desain simulasi simulink:

Gambar 2. Simulink diagram dari kontroler PI

Gambar 3. Hasil scope simulink diagram dari kontroler PI

Metode Tuning Ziegler Nichols dalam desain kontroler PID

Aspek yang sangat penting dalam desain kontroler PID ialah penentuan parameter kontroler PID supaya sistem close loop memenuhi kriteria performansi yang diinginkan. Hal ini disebut juga dengan tuning kontroler.

Terkadang pemodelan matematis suatu plant susah untuk dilakukan. Jika hal ini terjadi maka perancangan kontroler PID secara analitis tidak mungkin dilakukan sehingga perancangan kontroler PID harus dilakukan secara eksperimental.

Ziegler – Nichols mengusulkan aturan untuk menentukan nilai Kp, Ti dan Td berdasarkan pada karakteristik tanggapan peralihan dari plant yang diberikan. Metode pertama  Ziegler – Nichols menentukan nilai Kp, Ti, dan Td:

 

 

Gambar Kurva S Analisa Grafis Ziegler Nichols

Aturan perpotongan garis lurus terjadi pada kondisi linier dari kurva S repon sistem. Ketepatan dalam pengambilan perpotongan ini sangatlah penting karena menentukan parameter T dan L yang menjadi acuan dari kontroler.

Kutipan dari buku OGATA:

Sumber lain:


Karakteristik Respon Sistem

Karakteristik Respon Sistem Orde Satu

Fungsi alih sistem orde satu dinyatakan sebagai berikut:

Dimana :

K = Gain Overall

τ  = Konstanta Waktu

Untuk masukan sinyal unit step, , transformasi Laplace dari sinyal masukan . Maka, respon keluaran sistem orde satu dengan masukkan sinyal step dalam kawasan s adalah

Dengan menggunakan inversi tranformasi Laplace diperoleh respon dalam kawasan waktu yang dinyatakan dalam persamaan berikut:

Kurva respon orde satu untuk masukan sinyal unit step ditunjukkan oleh Gambar  berikut.

Gambar Respon Orde Satu Terhadap Masukan Unit Step

Ketika diberi masukan unit step, keluaran sistem c(t) mula-mula adalah nol dan terus naik hingga mencapai nilai K. salah satu karakteristik sistem orde satu adalah ketika nilai t = τ, yaitu ketika nilai keluaran mencapai 63,2% dari nilai akhirnya.

Karakteristik Respon Sistem Orde Dua

Persamaan umum sistem orde dua dinyatakan oleh persamaan berikut

Dimana:

Bentuk umum kurva respon orde dua untuk masukan sinyal unit step ditunjukkan oleh Gambar berikut:

Gambar Respon Orde Dua Terhadap Masukan Unit Step

Dari grafik di atas diketahui karakteristik keluaran sistem orde dua terhadap masukan unit step, yaitu:

1.       Waktu tunda (delay time), td

Ukuran waktu yang menyatakan faktor keterlambatan respon output terhadap input, diukur mulai t = 0 s/d respon mencapai 50% dari respon steady state. Persamaan berikut menyatakan besarnya waktu tunda dari respon orde dua.

2.       Waktu naik (rise time), tr

Waktu naik adalah ukuran waktu yang di ukur mulai dari respon t= 0 sampai dengan  respon memotong sumbu steady state yang pertama. Besarnya nilai waktu naik dinyatakan pada persamaan berikut:

3.        Waktu puncak (peak time), tp

Waktu puncak adalah waktu yang diperlukan respon mulai dari t=0 hingga mencapai puncak pertama overshoot. Waktu puncak dinyatakan pada persamaan berikut:

4.       Overshoot maksimum, Mp

Nilai reltif yang menyatakan perbandingan antara nilai maksimum respon (overshoot) yang melampaui nilai steady state dibanding dengan nilai steady state. Besarnya persen overshoot dinyatakan dalam persamaan berikut:

5.       Waktu tunak (settling time), ts

Waktu tunak adalah ukuran waktu yang menyatakan respon telah masuk ±5%, atau ±2%, atau ±0.5% dari keadaan steady state, dinyatakan dalam persamaan berikut:

Orde1 Vs Orde2