Selasa, 21 Mei 2019

Tugas UAS


Perancangan Sensor Warna dengan Algoritma Genetika



1. Tujuan [Kembali]

Pada Kontes Robot Pemadam Api Indonesia, terdapat sebuah misi untuk memadamkan api yang terdapat di dalam sebuah model rumah. Robot diharuskan melakukan navigasi sendiri tanpa bantuan operator. Salah satu alat bantu navigasi robot pada arena adalah warna lantai yang bervariasi yaitu hitam, abu-abu, dan putih. Untuk dapat membedakan ketika warna tersebut robot memerlukan sensor yang berfungsi mengkoleksi data yang merepresentasikan warna pada lantai. Salah satu cara yang sederhana adalah dengan inframerah dan phototransistor.
a. Photo-transistor

b. LED Infra-merah
c. Resistor

3. Dasar Teori [Kembali]

a. Gambaran Umum

Sensor inframerah-phototransistor yang dibuat harus bisa memaksimalkan kapasitas Analog-to-Digital Converter (ADC) pada mikrokontroler yang digunakan. Diasumsikan mikrokontroler yang digunakan adalah Arduino Nano (ATmega328p) yang memiliki spesifikasi ADC 10bit dengan tegangan kerja 5V. Ini berarti ADC memiliki ketelitian hingga ~5mV.

b. Skema Rangkaian
Rangkaian di atas adalah model sederhana dari Rangkaian inframerah-phototransistor yang akan digunakan. Untuk analisa kali ini LED Inframerah dapat kita hilangkan.
Vout adalah tengangan yang akan diberikan ke ADC yang kemudian akan diproses oleh mikrokontroler. Vout harus bervariasi dari 0-5V agar mikrokontroler dapat dengan mudah mengelompokkan warna hitam, warna abu-abu, serta warna putih. 

Vout dapat diperoleh dari persamaan berikut. 


dengan tegangan kerja 5V, Vout menjadi:
Nilai R2 diperoleh dari komponen phototransistor. Sedangkan R1 adalah Resistor tetap yang harus diatur agar Vout memiliki rentang sebesar mungkin. Diasumsikan nilai minimal R1 adalah 8KOhm dan nilai maksimal R1 adalah 20KOhm, sehingga: 


Dari persamaan di atas sangat mudah untuk memperoleh nilai R2 yang sesuai agar delta Vout maksimal jika R2 yang dipakai adalah sebuah resistor yang nilainya dapat ditentukan. Dalam kasus ini diasumsikan R2 adalah 10 buah Resistor yang diserikan, sehingga:
Nilai r1 hingga r10 dapat bernilai 100 ohm hingga 56k ohm. Nilai resistor-resistor r1 hingga r10 sangat sulit sulit dicari secara manual. Banyak sekali iterasi yang harus dilakukan dan ada kemungkinan iterasi terjebak dengan nilai maksimum lokal.

4. Pembahasan [Kembali]

a. Algoritma Genetika

Dari pemabahasan di atas maka dapat ditentukan
  • Fungsi Obyektif

  • Jumlah Populasi = 100
  • Individu


Individu terdiri dari 10 kromosom yang direpresentasikan oleh r1, r2, r3, r4, r5, r6, r7, r8, r9, dan r10.

b. Program

Buat fungsi fitness sebagai berikut menggunakan Matlab dengan mengklik New>Function lalu simpan dengan nama delta_v.m.

Funsgsi Fitness:

function tegangan = delta_v(r)
    total_r = r(1)+r(2)+r(3)+r(4)+r(5)+r(6)+r(7)+r(8)+r(9)+r(10);
    tegangan = (5 * total_r) / (8000 + total_r);
    tegangan = tegangan - ((5 * total_r) / (20000 + total_r));
    tegangan = 5 - tegangan;
 
end

Pada Command Window ketikkan optimtool ga


Isi bagian yang kosong dengan nilai berikut.

    fitness function = @delta_v
    number of variables = 10

    lower = [100,100,100,100,100,100,100,100,100,100]
    upper = [5600,5600,5600,5600,5600,5600,5600,5600,5600,5600]



    population size = 100



    centang best fitness dan best individual untuk menampilkan hasil dalam bentuk grafik.


Terakhir klik start


Berikut ini adalah hasilnya.



5. Link Download [Kembali]

Fungsi fit download

Referensi