ARTIFICAL INTELIGENCE
Disusun Oleh :
FAKULTAS TEKNIK
2020
Kontrol Kecepatan Pada Line Follower Robot
A. Pendahuluan
1. Latar Belakang
Perkembangan robotika terus mengalami kemajuan yang sangat
pesat. Hal ini seiring dengan berkembangnnya teknologi embedded
system. Selain itu peran serta negara dalam menyediakan wadah untuk
menunjukan kreatifitas juga merupakan factor penentu dari kemajuan
tersebut. Termasuk Indonesia dalam hal ini terlihat dengan
diselenggarakannya Kontes Robot Indonesia. Robot Line Follower
umumnya dijadikan ajang kompetisi lokal bagi institusi pendidikan untuk
menyaring mahasiswa yang akan diikutkan dalam Kontes Robot
Indonesia. Line Follower Robot (LFR) adalah suatu jenis robot yang
memiliki sensor untuk mendeteksi suatu garis dengan pola tertentu
kemudian bergerak mengikuti garis tersebut. LFR kerap dijadikan ajang
kompetisi untuk para pelajar atau mahasiswa yang baru pertama kali
mempelajari bidang robotika. Berbagai metode dapat digunakan untuk
menggendalikan LFR, dari metode yang sederhana yaitu if-then-rule,
lookup-table. Metode PID juga banyak diterapkan pada LFR salah
satunya adalah oleh Amir F (Amir, F.,F, 2014). Selain sebagai ajang
kompetisi LFR juga dapat dimanfaatkan diberbagai macam bidang
seperti yang dilakukan oleh Deepak P (Punetha, D., Kumar, N., Mehta,
V., 2013) Kendali cerdas pada robot memiliki tujuan agar robot dapat
berpikir atau bertindak layaknya seperti manusia atau binatang. Berbagai
metode dapat digunakan untuk menghasilkan kendali cerdas pada robot,
salah satunya adalah Fuzzy Logic (FL). Penggunaan FL sebagai kendali
juga dapat diterapkan pada applikasi selain robot, seperti pada penelitian
(Edwar,2009) (Andry & Bambang,2008).
Sedangkan pada penelitian (Supriadi& Wajiansyah, 2014) FL
diterapkan pada perangkat embedded-sistem. Kendali cerdas berbasis FL
pada sistem kendali dikenal juga dengan sebutan Fuzzy Logic Controller
(FLC), dengan menggunakan metode ini proses pada sistem kendali
dapat dibangun lebih mudah dan fleksibel untuk menangani sistem-
sistem yang rumit tanpa memerlukan model matematis. Pada penelitian
ini akan diimplementasikan konsep fuzzy logic sebagai kecerdasan pada
LFR. Kendali cerdas berbasis fuzzy logic ini akan mengatur pergerakan
robot agar sesuai dengan referensi yang ditetapkan berdasarkan
pengetahuan yang telah ditanamkan pada LFR. Selain itu pada penelitian
ini diasumsikan untuk membaca garis digunakan sensor garis berbasis
LED Bright dan Photo-diode yang disusun secara horizontal dengan
jumlah 6 buah. Sebagai pengerak robot digunakan robot beroda dengan
konfigurasi differential-drive ditambah satu roda bebas berupa ball-
caster. Masing – masing roda digerakan oleh motor DC, yang memiliki
pengatur kecepatan putar berbasis Pulse Width Modulation.
Pada penelitian sebelumnya yang juga menggunakan sistem
kendali logika fuzzy, keduanya masih terbatas pada lebar jalur yang
‘tetap’. Hal tersebut menjadi celah menarik dan potensial untuk
dikembangkan, robot line follower yang dapat menyesuaikan
kecepatannya sesuai dengan kondisi lebar jalurnya. Dengan
menganalogikan bahwa robot line follower sebagai sebuah mobil dan
jalurnya adalah sebuah jalan raya, maka menjadi logis bila pada jalan
raya yang lebar laju mobil akan lebih cepat dibanding pada jalan yang
sempit. Pemikiran seperti itulah yang menjadi dasar penelitian ini.
2. Tujuan
Tujuan dari penelitian ini adalah untuk mengetahui implementasi
logika fuzzy untuk memperkirakan kecepatan laju robot line follower
pada lintasan dan menghitung nilai kecepatan berdasarkan lebar jalur.
B. Metode
Jenis penelitian ini merupakan penelitian eksperimen yang digunakan
untuk mencari pengaruh perlakuan output terhadap variabel input. Model ini
mengambil beberapa proses dasar seperti studi pustaka, proses prakiraan, data
hasil penelitian, dan analisis data penelitian. Berikut adalah tahapan model
penelitian eksperimen.
Mulai
Studi Literature
Selesai
Blok diagram robot terdiri dari tiga bagian utama yakni sensor
sebagai sistem input, yang berfungsi untuk mendeteksi jalur dan
mengetahui posisi robot line follower terhadap jalur tersebut. Sensor
yang digunakan adalah sensor garis terdiri dari pasangan LED (Light-
Emitting Diode) superbright yang akan memancarkan berkas sinar, dan
photo-diode sebagai penerima pantulan sinar LED superbright diatas
permukaan yang berwarna putih atau hitam. Warna putih cenderung
memantulkan sinar, sedangkan warna hitam menyerap sinar yang datang.
Besarnya intensitas cahaya yang dipantulkan kembali ke photo-diode
akibat permukaan putih maupun hitam, akan menghasilkan tegangan
yang berbeda. Perbedaan tegangan saat berada diatas permukaan putih
dan hitam itulah, yang digunakan untuk membedakan jalur hitam dan
permukaan putih.
Bagian kedua adalah bagian procesessor microcontroller yang
berfungsi sebagai ‘otak’ pengambil keputusan output apa yang harus
dilakukan berdasarkan input dari sensor. Terakhir adalah actuator bagian
output yang melakukan hasil komputasi processor yang berupa dua buah
motor DC di sisi kiri dan kanan robot line follower. Kecepatan motor DC
dikendalikan oleh microcontroller sesuai kondisi jalur yang dideteksi
sensor garis.
2. Logika Fuzzy
Logika fuzzy dikemukakan oleh Dr. Lofti Zadeh pada tahun 1965,
yang merupakan fungsi matematika untuk menangani ketidakpastian.
Dengan logika fuzzy, proses komputasi dilakukan dengan pendekatan
bahasa alami. Teori fuzzy memberikan mekanisme untuk
merepresentasikan bahasa alami semisal ‘banyak’, ‘sedikit’, ‘sering’,
‘jarang’. Secara umum, logika fuzzy memungkinkan kemampuan
penalaran seperti manusia. Sebaliknya, teori tradisional himpunan biner
hanya mendeskripsikan event yang bersifat mutlak, yakni bersifat ‘true’
atau ‘false’ saja. Berikut persamaan 1 yang merepresentasikan notasi
derajat keanggotaan himpunan fuzzy yang dinyatakan dalam µA.
µ A : x [ 0,1 ] (1)
0, x≤ A
{
µ ( x )= ( x− A)
( B− A)
, A≤ x≤B
(2)
Gambar 1.4 Representasi himpunan fuzzy turun
( B−x )
{
µ ( x )= ( B− A) , A ≤ x< B (3)
0, x≥B
0 , A≤ x∨x ≥B
{
(x− A)
, A <x≤ B
µ ( x )= (B− A) (4)
(C−x )
, C ≤ x< D
( D−C)
1, B ≤ x ≤C
{
(x− A)
, A <x≤ B
µ ( x )= (B− A)
(5
(C−x )
, C ≤ x< D
( D−C)
1, B ≤ x ≤C
3. Bentuk Lintasan
Keterangan :
ML : Kecepatan motor kiri
MR : Kecepatan motor kanan
OK : Optimalisasi kecepatan
Gambar 1.8 Fuzzy Logic Designer Percobaan Pertama
Gambar 2.6 Grafik Input dan Output dengan Penambahan 17 Input pada
Percobaan Kedua
Gambar 2.2 Tampilan pada Guide Matlab
D. Kesimpulan
Setelah di run, guide akan muncul dan dapat diisi sesuai keinginan kita,
namun juga harus memperhatikan batas tiap parameter yang diukur. Output yang
dihasilkan akan sesuai dengan rule yang telah dibuat diawal, dimana terdapat 9
rules yang menggambarkan output. Salah satu percobaan sudah diuji seperti
gambar diatas, yaitu denga memasukkan, posisi motor kiri = 0.5, posisi motor
kanan = 1, dan lebar jalur = 9. Maka, didapatkan hasil kecepatan pada motor kiri =
cepat, kecepatan pada motor kanan = cepat, optimasi kecepatan = cepat. Hal ini
karena sesuai dengan rule yang ke 5.
Namun, percobaan ini memiliki sedikit kendala pada penyampaian output,
hal ini karena ketidaksediaan library pada MatLab dan diperlukannya beberapa
fungsi tertentu utuk dapat memberikan output secara random yang tidak sama
seperti di rules.
Jadi, dalam percobaan ini saya telah mengembangkan dari percobaan
sebelumya. Dimana pada program ini sudah dapat di run dan muncul GUI hanya
saja output yang dihasilkan masih belum dapat keluar secara random.
Sehingga masih diperlukan penambahan rules agar lebih kompleks dan
detail serta menambahkan fungsi logika if-else pada coding untuk penampilan
output pada guide.
Setelah melakukan percobaan kedua dengan melakukan penambahan input
dengan setiap jalur pada lintasan robot line follower sebanyak 17 input dan
penambahan rules menjadi 12. Dengan aturan yang dibuat sendiri, maka
didapatkan hasil seperti gambar diatas. Hasil yang didapatkan lebih akurat dan pas
daripada percobaan sebelumnya yang hanya menggunakan 3 input. Dapat dilihat
dari rule viewer, dengan memasukkan nilai random di setiap jalur dan posisi
motor, maka output yang dihasilkan nya pun lebih akurat dan bervariasi. Namun,
GUI untuk penambahan 17 input tersebut masih belum dapat ditambahkan, karena
diperlukan fungsi if-else yang cukup sulit untuk diaplikasikan pada matlab dan
kemampuan peneliti dalam hal coding masih menjadi kendala dalam pembuatan
GUI pada percobaan kedua.
Referensi :
MATLAB CODE :
function varargout = linefolo(varargin)
% LINEFOLO MATLAB code for linefolo.fig
% LINEFOLO, by itself, creates a new LINEFOLO or
raises the existing
% singleton*.
%
% H = LINEFOLO returns the handle to a new
LINEFOLO or the handle to
% the existing singleton*.
%
%
LINEFOLO('CALLBACK',hObject,eventData,handles,...)
calls the local
% function named CALLBACK in LINEFOLO.M with the
given input arguments.
%
% LINEFOLO('Property','Value',...) creates a new
LINEFOLO or raises the
% existing singleton*. Starting from the left,
property value pairs are
% applied to the GUI before linefolo_OpeningFcn
gets called. An
% unrecognized property name or invalid value
makes property application
% stop. All inputs are passed to
linefolo_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose
"GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT