perancangan dan implementasi kontroler fuzzy pid … · •pergerakan joint robot menggunakan motor...
TRANSCRIPT
GANANG DIAN PRATOMO
2209106054
Dosen Pembimbing
Ir. Ali Fatoni, MT.
Ir. Rusdhianto Effendie A.K, MT.
PERANCANGAN DAN IMPLEMENTASI KONTROLER
FUZZY PID GAIN SCHEDULING UNTUK MENGATUR
GERAKAN ROBOT MANIPULATOR 4-DOF
MATERI PRESENTASI
Pendahuluan
Perancangan Sistem
Pengujian dan Analisa
Kesimpulan
Senin, 06 Februari 2012
Senin, 06 Februari 2012
PENDAHULUAN
LATAR BELAKANG
• Robot manipulator Lynx5 4-DOF
• Arm arthromorphic
• Stationary robot
• Robot servo point to point
• Fuzzy PID Gain Scheduling
• Metode kendali dimana nilai parameter PID dijadwalkan
berdasarkan titik kerja atau kondisi operasi yang dihadapi
Senin, 06 Februari 2012 Pendahuluan
PERMASALAHAN & BATASAN MASALAH
• Pergerakan joint robot menggunakan motor DC servo,
sehingga diperlukan identifikasi pada motor DC servo
• Kontroler yang dirancang berfungsi untuk mengatur
posisi joint dalam melakukan trajectory
• Pada kasus ini, parameter plant motor servo berubah
mengikuti posisi joint yang lain sehingga diperlukan
kontroler Fuzzy PID Gain Scheduling
Senin, 06 Februari 2012 Pendahuluan
TUJUAN
Merancang dan mengimplementasikan kontroler Fuzzy
PID Gain Scheduling pada robot manipulator 4-DOF untuk
mempertahankan posisi motor sesuai set point yang
ditentukan
Senin, 06 Februari 2012 Pendahuluan
Senin, 06 Februari 2012
PERANCANGAN SISTEM
ROBOT LYNX5 4-DOF
Senin, 06 Februari 2012 Perancangan Sistem
• Mempunyai 4 joint
• Mempunyai 3 link
• Mempunyai 1 gripper
• Penggeraknya adalah
motor DC servo
• Gerakan joint adalah
revolute
• Bahan baku dari
akrilik
BAGIAN SISTEM ROBOT
Senin, 06 Februari 2012 Perancangan Sistem
• Kontroler • Mikrokontroler
• Mekanik robot • Fungsi gerak, derajat kebebasan
(Degree of Freedom)
• Sensor • ON/OFF
• Potensiometer
• Aktuator • Motor listrik
• Pneumatik
• Hidrolik
• Ujung tangan • Manipulasi
Sistem Aktuator
Kontroler
Mekanik Robot
Ujung tangan:· Mengikuti referensi trajectory· Mengikuti objek· Memegang, mengambil, mengangkat,
memindah atau mengolah objek
Untuk manipulasi (gerak tangan)
Aktuator
Sensor
Sistem Robot
KINEMATIK ROBOT – TABEL DH
Link Joint ai αi di θi
1 1-2 0 90° 2cm θ1
2 2-3 10cm 0 0 θ2
3 3-4 10cm 0 0 θ3
4 4-5 12cm 0 0 θ4
Senin, 06 Februari 2012 Perancangan Sistem
d1
a2
a3a4
z2
θ2
x2
y2
z0
θ0
x0
y0
z3
θ3 x3
y3
z4
θ4
x4
y4
z1
θ1
x1
y1
Base
Shoulder
ElbowWristGrip
KINEMATIK ROBOT – KOORDINAT EoE
Senin, 06 Februari 2012 Perancangan Sistem
(22.55, 13.02, 1.81)
(23.65, 13.66, 14.85)
(22, 0, 19.32)
(21.25, -12.27, 10.73)
(22.55, -13.02, 1.81)
Y
Z
KINEMATIK ROBOT – SUDUT JOINT
Posisi Motor 1 Motor 2 Motor 3 Motor 4
q0 90° 90° 90° 90°
q1 60° 40° 0° 145°
q2 60° 40° 90° 50°
q3 90° 60° 90° 30°
q4 120° 60° 0° 145°
q5 120° 40° 0° 145°
Senin, 06 Februari 2012 Perancangan Sistem
IDENTIFIKASI PLANT
• Untuk mengetahui karakteristik plant
• Dilakukan pada masing-masing joint (motor servo)
dengan berbagai kombinasi posisi joint
• Dilakukan secara loop terbuka dengan menggunakan
identifikasi dinamis melalui proses PRBS
• Untuk mendapatkan model plant dengan mencoba
menggunakan beberapa pendekatan pada Matlab
• Yang paling mendekati data input-output yaitu
pendekatan ARMAX
Senin, 06 Februari 2012 Perancangan Sistem
PARAMETER TRANSFER FUNCTION MOTOR
1
θ2 θ3 θ4 a1 a2 b0 b1 90 90 90 11.643491 45.615459 0.819253 45.28397
40 0 145 6.991016 20.479924 2.114 20.47004
40 90 50 9.112481 38.995159 2.317751 39.42135
60 90 30 10.658081 46.983339 2.26202 46.75607
60 0 145 8.240396 25.501404 1.7562 25.03272
Senin, 06 Februari 2012 Perancangan Sistem
𝐺 𝑠 =𝑏0𝑠 + 𝑏1𝑠2 + 𝑎1𝑠 + 𝑎2
PERSAMAAN REGRESI
𝑛𝐶0 + 𝐶1 𝜃2
𝑛
𝑖=1
+ 𝐶2 𝜃3
𝑛
𝑖=1
+ 𝐶3 𝜃4
𝑛
𝑖=1
= 𝑎1
𝑛
𝑖=1
𝐶0 𝜃2
𝑛
𝑖=1
+ 𝐶1 𝜃12
𝑛
𝑖=1
+ 𝐶2 𝜃2𝜃3
𝑛
𝑖=1
+ 𝐶3 𝜃2𝜃4
𝑛
𝑖=1
= 𝜃2𝑎1
𝑛
𝑖=1
𝐶0 𝜃3
𝑛
𝑖=1
+ 𝐶1 𝜃2𝜃3
𝑛
𝑖=1
+ 𝐶2 𝜃32
𝑛
𝑖=1
+ 𝐶3 𝜃3𝜃4
𝑛
𝑖=1
= 𝜃3𝑎1
𝑛
𝑖=1
𝐶0 𝜃4
𝑛
𝑖=1
+ 𝐶1 𝜃2𝜃4
𝑛
𝑖=1
+ 𝐶2 𝜃3𝜃4
𝑛
𝑖=1
+ 𝐶3 𝜃42
𝑛
𝑖=1
= 𝜃4𝑎1
𝑛
𝑖=1
Senin, 06 Februari 2012 Perancangan Sistem
𝑎1 = 𝐶0 + 𝐶1𝜃2 + 𝐶2𝜃3 + 𝐶3𝜃4
𝑎1 = 6.639851 + 0.062469𝜃2 + 0.007938𝜃3 − 0.014811𝜃4 𝑎2 = 31.945539 + 0.251074𝜃2 + 0.049149𝜃3 − 0.148335𝜃4 𝑏0 = 5.0193085 − 0.017888𝜃2 − 0.0136769𝜃3 − 0.0151018𝜃4 𝑏1 = 31.44197 + 0.228134𝜃2 + 0.064268𝜃3 − 0.138602𝜃4
PARAMETER TRANSFER FUNCTION MOTOR
1
No θ2 θ3 θ4 a1 a2 b0 b1
1 40° 0° 30° 8.6943 37.5384 3.8507 36.4093
2 40° 0° 90° 7.8426 29.0092 2.9446 28.4397
3 40° 0° 145° 6.9910 20.4799 2.1140 20.4700
... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ...
25 90° 90° 30° 12.5322 54.5156 1.7254 53.6001
26 90° 90° 90° 11.6805 45.9863 0.8193 45.6305
27 90° 90° 145° 10.8289 37.4570 -0.011 37.6609
Senin, 06 Februari 2012 Perancangan Sistem
PERANCANGAN KONTROLER
Senin, 06 Februari 2012 Perancangan Sistem
PARAMETER KONTROLER PID
No θ2 θ3 θ4 Kp τi τd1 τd2
1 40° 0° 30° 0.8968 0.2316 0.1058 0.1059
2 40° 0° 90° 1.2090 0.2726 0.1048 0.1034
3 40° 0° 145° 1.7485 0.3414 0.1033 0.1018
... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ...
25 90° 90° 30° 1.4281 0.2299 0.0322 0.0606
26 90° 90° 90° 1.7298 0.2553 0.0181 0.0744
27 90° 90° 145° 2.1379 0.2891 -0.0003 0.0926
Senin, 06 Februari 2012
DESAIN LOGIKA FUZZY - SUGENO
• Daerah keanggotaan θ2
Senin, 06 Februari 2012 Perancangan Sistem
Kecil Sedang Besar1
0.5
030 40 65 90 100
DESAIN LOGIKA FUZZY - SUGENO
• Daerah keanggotaan θ3
Senin, 06 Februari 2012 Perancangan Sistem
1
0.5
0
Kecil Sedang Besar
0 45 90 100
DESAIN LOGIKA FUZZY - SUGENO
• Daerah keanggotaan θ4
Senin, 06 Februari 2012 Perancangan Sistem
Kecil Sedang Besar
1
0.5
020 30 90 145 150
DESAIN LOGIKA FUZZY - SUGENO
Aturan fuzzy if (θ2 is Kecil) and (θ3 is Kecil) and (θ4 is Kecil) then (Kp is Kp1)(ti is ti1)(td1
is td11)(td2 is td21)
if (θ2 is Kecil) and (θ3 is Kecil) and (θ4 is Sedang) then (Kp is Kp2)(ti is ti2)(td1 is td12)(td2 is td22)
if (θ2 is Kecil) and (θ3 is Kecil) and (θ4 is Besar) then (Kp is Kp3)(ti is ti3)(td1 is td13)(td2 is td23)
...
if (θ2 is Sedang) and (θ3 is Besar) and (θ4 is Kecil) then (Kp is Kp16)(ti is ti16)(td1 is td116)(td2 is td216)
...
if (θ2 is Besar) and (θ3 is Besar) and (θ4 is Kecil) then (Kp is Kp25)(ti is ti25)(td1 is td125)(td2 is td225)
if (θ2 is Besar) and (θ3 is Besar) and (θ4 is Sedang) then (Kp is Kp26)(ti is ti26)(td1 is td126)(td2 is td226)
if (θ2 is Besar) and (θ3 is Besar) and (θ4 is Besar) then (Kp is Kp27)(ti is ti27)(td1 is td127)(td2 is td227)
Senin, 06 Februari 2012 Perancangan Sistem
DESAIN SIMULINK
Senin, 06 Februari 2012 Perancangan Sistem
Senin, 06 Februari 2012
PENGUJIAN DAN ANALISA
PENGUJIAN POSISI SUDUT
Sebelum menggunakan Fuzzy
PID Gain Scheduling
Motor 1 Motor 2 Motor 3 Motor 4
q0 89.34° 86.61° 89.3° 89.42°
q1 59.95° 38.29° 0° 144.1°
q2 60.66° 38.52° 89.3° 49.68°
q3 89.57° 57.79° 89.3° 29.81°
q4 117.8° 57.44° 0° 144.1°
q5 119.9° 38.29° 0° 144.1°
Setelah menggunakan Fuzzy
PID Gain Scheduling
Motor 1 Motor 2 Motor 3 Motor 4
q0 90° 90° 90° 90°
q1 60° 40° 0° 145°
q2 60° 40° 90° 50°
q3 90° 60° 90° 30°
q4 120° 60° 0° 145°
q5 120° 40° 0° 145°
Senin, 06 Februari 2012 Pengujian dan Analisa
ANALISA KONTROLER
• Posisi 2 (θ1 = 60°, θ2 = 40°, θ3 = 0°, dan θ4 = 145°)
Senin, 06 Februari 2012 Pengujian dan Analisa
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
10
20
30
40
50
60
70
Waktu (s)
Sudut
Set Point
Setelah menggunakan Gain Scheduling
Sebelum menggunakan Gain Scheduling
ANALISA KONTROLER
• Posisi 5 (θ1 = 120°, θ2 = 40°, θ3 = 0°, dan θ4 = 145°)
Senin, 06 Februari 2012 Pengujian dan Analisa
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-20
-10
0
10
20
30
40
50
Waktu (s)
Sudut
Set Point
Setelah menggunakan Gain Scheduling
Sebelum menggunakan Gain Scheduling
PENGUJIAN POSISI EoE
• Posisi awal (θ1 = 90°, θ2 = 90°, θ3 = 90°, dan θ4 = 90°)
Senin, 06 Februari 2012 Pengujian dan Analisa
Sebelum
menggunakan Fuzzy
PID Gain Scheduling
Setelah
menggunakan Fuzzy
PID Gain Scheduling
Xe 0 2.281 0
Ye 0 0.036 0
Ze 34 33.917 34
PENGUJIAN POSISI EoE
• Posisi 1 (θ1 = 60°, θ2 = 40°, θ3 = 0°, dan θ4 = 145°)
Senin, 06 Februari 2012 Pengujian dan Analisa
Sebelum
menggunakan Fuzzy
PID Gain Scheduling
Setelah
menggunakan Fuzzy
PID Gain Scheduling
Xe 22.5 22.536 22.5
Ye 13 13.037 13
Ze 1.8 0.848 1.8
PENGUJIAN POSISI EoE
• Posisi 3 (θ1 = 90°, θ2 = 60°, θ3 = 90°, dan θ4 = 30°)
Senin, 06 Februari 2012 Pengujian dan Analisa
Sebelum
menggunakan Fuzzy
PID Gain Scheduling
Setelah
menggunakan Fuzzy
PID Gain Scheduling
Xe 22 22.745 22
Ye 0 0.176 0
Ze 19.3 18.207 19.3
PENGUJIAN POSISI EoE
• Posisi 5 (θ1 = 120°, θ2 = 40°, θ3 = 0°, dan θ4 = 145°)
Senin, 06 Februari 2012 Pengujian dan Analisa
Sebelum
menggunakan Fuzzy
PID Gain Scheduling
Setelah
menggunakan Fuzzy
PID Gain Scheduling
Xe 22.5 22.569 22.5
Ye -13 -12.978 -13
Ze 1.8 0.848 1.8
PENGUJIAN POSISI EoE
• Trajectory dari end effector
Senin, 06 Februari 2012 Pengujian dan Analisa
-20
0
20-30 -20 -10 0 10 20 30
-30
-20
-10
0
10
20
30
X
Y
Z
Lynx5
Sebelum menggunakan Fuzzy PID Gain Scheduling
Setelah menggunakan Fuzzy PID Gain Scheduling
x
yz
• RMSE end effector sebelum menggunakan kontroler Fuzzy PID Gain Scheduling: • Xe = 0.821269
• Ye = 0.298926
• Ze = 1.089693
• RMSE end effector setelah menggunakan kontroler Fuzzy PID Gain Scheduling: • Xe = 0
• Ye = 0
• Ze = 0
Senin, 06 Februari 2012
KESIMPULAN
KESIMPULAN
• Gerakan dan posisi joint robot dipengaruhi oleh posisi joint yang lain. Dengan adanya kontroler Fuzzy PID Gain Scheduling, dapat meminimumkan error pada gerakan dan posisi joint robot.
• RMSE posisi koordinat end effector tanpa kontroler adalah Xe = 0.821269, Ye = 0.298926, dan Ze = 1.089693, dengan menggunakan kontroler Fuzzy PID Gain Scheduling, error effector dapat diminimumkan menjadi 0.
• Untuk mendapatkan pergerakan yang halus dibutuhkan nilai koordinat end effector yang lebih banyak sesuai dengan lintasan yang ditentukan.
Senin, 06 Februari 2012 Kesimpulan
Senin, 06 Februari 2012
TERIMA KASIH
Senin, 06 Februari 2012
LAIN-LAIN
PID MODIFIKASI
Senin, 06 Februari 2012
• Closed Loop Transfer Function (CLTF) sistem dapat dituliskan sebagai berikut,
𝑌(𝑠)
𝑋(𝑠)=
𝐾𝐾𝑝[τ𝑖 𝜏𝑑1 + 𝜏𝑑2 𝑠2 + 𝜏𝑖 + 𝜏𝑑2 𝑠 + 1](𝜏𝑠 + 1)
𝜏𝑖 𝜏𝑑2𝑠 + 11𝜔𝑛2 𝑠2 +2𝜉𝜔𝑛𝑠 + 1 + 𝐾𝐾𝑝[τ𝑖 𝜏𝑑1 + 𝜏𝑑2 𝑠2 + 𝜏𝑖 + 𝜏𝑑2 𝑠 + 1](𝜏𝑠 + 1)
• Dari Persamaan di atas, jika dipilih 𝜏𝑑2 = 𝜏 dan 𝜏𝑖 + 𝜏𝑑 = 2𝜉 𝜔𝑛 serta 𝜏𝑖(𝜏𝑑1+𝜏𝑑2) = 𝜔𝑛−2 maka,
𝑌 𝑠
𝑋 𝑠=𝐾𝑝𝐾
𝜏𝑖𝑠 + 𝐾𝑝𝐾
• atau, 𝑌 𝑠
𝑋 𝑠=1
𝜏∗𝑠 + 1
• dengan,
𝜏∗ =𝜏𝑖𝐾𝑝𝐾
• Tampak bahwa sistem hasil desain adalah orde 1 dan zero offset, dengan time constant sistem τ*.
• Berdasarkan hubungan formulasi di atas, parameter kontroler dapat dituliskan sebagai,
𝜏𝑑2 = 𝜏
𝜏𝑖 =2𝜉
𝜔𝑛− 𝜏
𝜏𝑑1 =1
2𝜉𝜔𝑛 − 𝜏𝜔𝑛2)− 𝜏
𝐾𝑝 =2𝜉
𝜏∗𝜔𝑛𝐾− 𝜏
PID TUNING EMPIRIK
1. Langkah awal gunakan kontroler proporsional terlebih dahulu, abaikan konstanta integratif dan derivatifnya dengan memberikan nilai nol pada integratif dan derivatif.
2. Tambahkan terus konstanta proporsional maksimum hingga keadaan stabil namun robot masih berosilasi.
3. Untuk meredam osilasi, tambahkan konstanta diferensial dengan membagi dua nilai proporsional, amati keadaan sistem robot hingga stabil dan lebih responsif.
4. Jika sistem robot telah stabil, kontrol integral dapat menjadi optional, dalam artisan jika ingin mencoba-coba tambahkan kontrol integral tersebut, namun pemberian nilai integral yang tidak tepat dapat membuat sistem robot menjadi tidak stabil.
5. Nilai sampling time (waktu cuplik) juga mempengaruhi perhitungan PID, tentunya saat penggunaan kontrol integral dan diferensial.
6. Periksa kembali performa sistem hingga mendapatkan hasil yang memuaskan.
Senin, 06 Februari 2012