Perancangan dan Implementasi Embedded Fuzzy Logic Controller Untuk Pengaturan Kestabilan Gerak Robot Segway Mini
Helmi Wiratran 2209105020
1
2
Latarbelakang (1) • Segway PT: Transportasi alternatif dengan motto Keep it green, A Clean, eco-friendly machine
3
Permasalahan • Bagaimana menjaga Robot segway agar tetap seimbang sesuai dengan masukan yang diberikan. Robot segway memiliki titik berat yang berada di atas sumbu putar motor penggeraknya, sehingga menyebabkan sistem ini tidak akan stabil apabila diberi ganguan.
4
Tujuan penelitian • Menerapkan algoritma fuzzy pada mikrokontroler AVR untuk menjaga kestabilan robot • Memilik respons yang cepat terhadap perubahan kemiringan sudut elevasi
5
Robot Segway
6
Inverted Pendulum (1)
7
Inverted Pendulum (2)
Stabil
Condong Ke Kanan
Condong Ke Kiri
8
Pengenalan logika fuzzy (1) • Dr. Lotti A. Zadeh (1965) - Konsep ketidak pastian atau kesamaran - Penerapkan fuzzy pada pemrogram PC.
9
Pengenalan logika fuzzy (2)
10
Arsitekture logika fuzzy • Untuk mendapatkan keluaran diperlukan 4 tahapan diantaranya : 1. Pembentukan himpunan fuzzy (fuzzyfikasi). 2. Aplikasi fungsi implikasi (fuzzy rules) 3. Komposisi aturan 4. Penegasan (defuzzyfikasi)
11
Spesifikasi Sistem • Robot segway mini dapat menyeimbangkan dirinya secara otomatis tanpa bantuan gaya luar. • sensor accelerometer MMA7260Q 3-axis sebagai sensor sudut keseimbangan. • Kriteria seimbang : berosilasi antara -8 hingga 8 Robot segway mini dapat menyeimbangkan diri secara otomatis dengan gangguan sebesar sudut 5 derajat saja.
12
Perancangan Dan Implementasi • Perancangan Perangkat Keras ▫ Desain Mekanik ▫ Desain Sistem elektronik
• Perancangan Perangkat Lunak ▫ Logika Fuzzy
13
Blok diagram Perancangan Sistem Mikrokontroler + LCD + Keypad
Driver Motor
Setpoint +
-
Sensor Accelerometer
Motor GearBox
14
Desain Mekanik 12.5 cm 2 cm
13 cm
8 cm
9 cm
18 cm
Tampak atas
Tampak Depan
15
Desain Mekanik
16
Desain Sistem Elektronik Catu Daya
Regulator 5VDC
ADC Accelerometer MMA7260Q DRIVER MOSFET
Kanan/Kiri
Mikrokontroler ATMega32 LCD 2x16
Serial Keypad
Motor
17
Sistem Minimum
18
Driver Motor MOSFET
19
Sensor MMA7260Q
20
Perhitungan Sudut
Ax arctan Ay
21
Perancangan Logika Fuzzy • Fuzzy-PD • Input error dan Delta Error (sudut) • Output PWM r
e
+
Ke
d dt
+
Fuzzy Controller
∆e Ke
-
Sensor Accelerometer
u Ku
Robot Segway-Mini
y
22
Fungsi Keanggotaan
-Ѳ
+Ѳ
23
Fungsi Keanggotaan Error (1) • • • • • • •
NB : error < -15⁰ NM : -15⁰ < error < -5 NK : -10⁰ < error < 0 Z : -5⁰ < error < 5 PK : 0⁰ < error < 10 PM : 5⁰ < error < 15 PB : error > 15
24
Fungsi Keanggotaan Error (2) NB
NM
NK
ZERO
PK
PM
-10
-5
0 ERROR
5
10
PB
1
Degree of membership
0.8
0.6
0.4
0.2
0 -20
-15
15
20
25
Fungsi Keanggotaan Delta–Error (1) • • • • • • •
NB : delta_error < -15⁰ NM : -15⁰ < delta_error < -5 NK : -10⁰ < delta_error < 0 Z : -5⁰ < delta_error < 5 PK : 0⁰ < delta_error < 10 PM : 5⁰ < delta_error < 15 PB : delta_error > 15
26
Fungsi Keanggotaan Delta–Error (2) NB
NM
NK
-10
-5
ZERO
PK
PM
0 5 DELTA-ERROR
10
PB
1
Degree of membership
0.8
0.6
0.4
0.2
0 -20
-15
15
20
27
Fungsi Keanggotaan PWM (1) • • • • • • •
NB :PWM< -21⁰ NM : -21⁰ < PWM < -7 NK : -14⁰ < PWM < 0 Z : -7⁰ < PWM < 7 PK : 0⁰ < PWM < 14 PM : 7⁰ < PWM < 21 PB : PWM > 21
28
Fungsi Keanggotaan PWM (2) NB
NM
NK
ZERO
PK
PM
PB
1
Degree of membership
0.8
0.6
0.4
0.2
0 -25
-20
-15
-10
-5
0 PWM
5
10
15
20
25
29
Fuzzy Rule • Penerapan rule - rule logika fuzzy, yaitu : 1. 2. 3. 4. 5. 6. 46 47 48 49
IF (e = NB) AND (∆e = NB)THEN (PWM = NB) IF (e = NB) AND (∆e = NM) THEN (PWM = NB) IF (e = NB) AND (∆e = NS) THEN (PWM = NM) IF (e = NB) AND (∆e = Z) THEN (PWM = NM) …………………………….. …………………………….. IF (e = PB) AND (∆e = Z) THEN (PWM = PM) IF (e = PB) AND (∆e = PS) THEN (PWM = PB) IF (e = PB) AND (∆e = PM )THEN (PWM = PB) IF (e = PB) AND (∆e = PB) THEN (PWM = PB)
30
Tabel Fuzzy
Delta Error
Error NB
NM
NS
Z
PS
PM
PB
NB
NB
NB
NB
NM
NM
NM
Z
NM
NB
NB
NM
NM
NM
Z
PM
NS
NB
NM
NM
NK
Z
PM
PM
Z
NM
NM
NK
Z
PK
PM
PM
PS
NM
NM
Z
PK
PM
PM
PB
PM
NM
Z
PM
PM
PM
PB
PB
PB
Z
PM
PM
PM
PB
PB
PB
31
Defuzzifikasi Metode rata- rata (Average) : • u* : nilai keluaran •k : harga maksimum • ui : nilai keluaran maksimum ke-j • µi(ui) : derajat keanggotaan elemenelemen pada k
ui * (ui ) u*
i 1 k
(ui ) i 1
32
Diagram alir
MULAI
Timer 0 (Ts=1ms) Timer 1 (PWM) ADC 8 Bit Setpoint = 0 Error=0 Derror=0
Baca Parameter Ke, Ked, Ku
Baca Sensor
Hitung Error dan Delta-Error
T Fuzzifikasi
Inferensi Fuzzy
Defuzzifikasi
Keluarkan nilai hasil defuzzifikasi Untuk Menggerakan motor
Tombol stop?
Y Berhenti
33
Pengujian FLC • Ke = 0.9 • Ked = 0.7 • Ku = 3
34
Pengujian FLC (1) Respon Sudut Kemiringan 40 Respon sudut Set point Sudut (derajat)
20
0
-20
-40
0
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 Waktu (milidetik) grafik PWM terhadap waktu
100 PWM
PWM
50
0
-50
-100
0
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 Waktu (milidetik)
35
Pengujian FLC (2) Respon Sudut Kemiringan 40 Respons sudut Set Point
Sudut (derajat)
30 20 10 0 -10 -20 -30
0
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 Waktu (milidetik) grafik PWM terhadap waktu
100 PWM
PWM
50
0
-50
-100
0
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 Waktu (milidetik)
36
Video • http://www.youtube.com/user/helmoik
37
Kesimpulan • FLC dapat menstabilkan robot dengan sudut osilasi (-8) – (+8) derajat • Fungsi Keanggotaan Output PWM didapatkan dari Percobaan • Parameter FLC Ke = 0.9, Ked = 0.7, dan Ku = 3 didapatkan dari hasil percobaan • Desain mekanik, torsi motor dan kecepatan motor berpengaruh dalam kestabilan
38
Terima Kasih