T1 602011017 BAB III

(1)

BAB III

PERANCANGAN

Pada bab ini akan dijelaskan mengenai perancangan dari perangkat keras, perangkat lunak dari algoritma robot, serta metode pengujian robot.

3.1. Sistem Kontrol Robot

Kontrol utama robot menggunakan mikrokontroler ATMega128 yang bertugas mengolah data sensor-sensor, mengontrol pergerakan robot, dan mengatur proses pemadaman lilin. Sensor-sensor yang digunakan pada robot ini yaitu, sensor jarak SRF04 dan sensor infrared, sensor api TPA81, sensor cahaya UVTron, sensor warna dan sensor garis, serta sound activation. Sensor jarak SRF04 digunakan sebagai pengukur jarak dinding dalam proses wall following. Sensor infrared digunakan untuk mendeteksi adanya dog obstacle. Digunakan pula sound activation pada robot, sebagai masukkan mikrokontroler untuk memulai pergerakan penjelajahan robot.

Gambar 3.1 Blok Diagram Sistem

Pada proses pemadaman lilin, ada atau tidaknya lilin dalam suatu ruangan akan diketahui menggunakan sensor cahaya UVTron, sedangkan sensor api TPA81 digunakan robot untuk mengetahui posisi api. Bila posisi api sudah di ketahui oleh TPA81, maka 2 buah kipas yang terpasang pada robot akan diaktifkan hingga UVTron tidak dapat lagi mengetahui adanya cahaya api pada ruang tersebut.


(2)

3.2. Perancangan Perangkat Keras 3.2.1. Bentuk Fisik Robot

(a) (b) (c) Gambar 3.2 (a) Bentuk fisik dari sisi depan

(b) Bentuk fisik dari serong kiri (c) Bentuk fisik dari sisi samping kiri

Kerangka robot menyerupai bentuk sebuah mobil, berbahan dasar plat aluminium. Memiliki 4 buah motor sebagai penggerak utama dengan kecepatan rotasi 350 rpm dan memiliki torsi 8 kilogram-sentimeter untuk setiap motornya. Dengan ukuran robot (p × l × t) = 24 × 21 × 27 cm.

3.2.2. Mikrokontroler ATMega 128

Mikrokontroler ATMega 128 bertugas sebagai kontrol utama robot dan pemroses algoritma robot. Penulis memilih mikrokontroler tipe ini karena mikrokontroler tipe ini mempunyai fasilitas yang memadai untuk digunakan sebagai otak dari robot. Selain itu mikrokontroler tipe ini juga ada di pasaran dan dapat diprogram menggunakan software CodeVisionAVR. Pemrograman dapat dilakukan dengan bahasa C sehingga mempermudah penulis dalam membuat algoritma.

3.2.3. Sensor Jarak SRF04 dan Infrared

Sensor jarak SRF04 digunakan sebagai alat navigasi robot. Terdapat 6 buah SRF04 yang peletakannya digambarkan pada gambar 3.3.


(3)

Gambar 3.3. Peletakan sensor jarak SRF04

Sensor infrared digunakan untuk mendeteksi adanya dog obstacle. Pada saat sensor mendeteksi adanya dog obstacle maka keluaran sensor akan berlogika high, sedangkan saat tidak terdeteksi adanya dog obstacle maka keluaran sensor akan berlogika low. Penggunaan sensor infrared ini diletakkan pada bagian depan robot dan dirancang layaknya mendeteksi dinding yang menghalangi robot bila terdapat adanya dog obstacle.

Gambar 3.4. Sensor infrared

3.2.4. Sensor Cahaya Ultraviolet (UV-Tron) dan Sensor Api TPA81

Sensor cahaya UV-Tron digunakan untuk mendeteksi adanya cahaya lilin pada suatu ruangan. Pada saat sensor mendeteksi adanya cahaya lilin maka keluaran sensor akan berlogika high, sedangkan saat tidak terdeteksi adanya cahaya lilin maka keluaran sensor akan berlogika low. Sensor api TP81 digunakan untuk mengetahui letak lilin dalam suatu ruangan. Letak lilin dalam suatu ruangan tersebut dideteksi dengan menggunakan 3 buah sensor api TPA81, karena pada setiap TPA81 hanya dapat mendeteksi ketinggian api 2,5 cm pada jarak 30 cm. Penyusunan sensor cahaya UV-Tron dan sensor api TPA81 ditunjukan pada gambar 3.5. berikut.

Gambar 3.5. Peletakan sensor cahaya UV-Tron dan sensor api TPA81

19,0 cm 17,5 cm 16,0 cm TPA81

UV-TRON

8,0 cm Arah depan


(4)

3.3. Perancangan Perangkat Lunak

Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak. Perancangan perangkat lunak yang akan dijelaskan dibagi menjadi dua bagian yaitu perancangan perangkat lunak algoritma pertama dan perancangan perangkat lunak algoritma kedua. Algoritma kedua dibuat untuk dijadikan pembanding dengan algoritma yang pertama. Algoritma pertama dan algoritma kedua akan diuji pada Bab IV dan algoritma yang kinerjanya paling baik akan digunakan sebagai algoritma pada KRPAI 2015 oleh tim R2C divisi beroda.

3.3.1. Perangkat Lunak Algoritma Pertama

Algoritma pertama ini adalah algoritma baru yang dirancang oleh penulis. Perancangan algoritma ini memprioritaskan penjelajahan dan pencarian api di daerah lawan setelah menemukan dan memadamkan setidaknya 1 api di daerah sendiri. Gambar 3.6. menunjukkan diagram alir algoritma pertama.

Berikut ini adalah penjelasan algoritma pertama :

a. Pertama kali robot diaktifkan dengan sound activation atau tombol start. b. Robot akan melakukan inisialisasi flag-flag, robot akan melakukan

penjelajahan dengan mengikuti dinding sebelah kanan robot bila berada di sisi merah atau dinding sebelah kiri robot bila berada di sisi biru.

c. Robot akan keluar dari lingkaran home untuk menemukan warna lantai pertamanya. Bila robot mendapatkan warna merah atau biru maka robot berada di luar ruangan, sedangkan bila robot mendapatkan warna hitam maka robot berada di dalam ruangan. Bila robot berada di dalam ruangan, maka robot diharuskan keluar dahulu dari ruangan tersebut.

d. Robot yang berada di luar ruangan melakukan penjelajahan mengikuti dinding hingga menemukan garis berikutnya.

e. Ketika robot menemukan sebuah garis, maka robot akan melakukan perhitungan jarak garis sebelumnya dengan yang sekarang. Bila garis yang sebelumnya masih cukup dekat dengan yang sekarang maka garis yang sekarang merupakan garis perbatasan, sedangkan bila garis yang sebelumnya cukup jauh jaraknya dengan yang sekarang maka garis yang sekarang merupakan garis ruangan.


(5)

(6)

f. Ketika robot sudah menemukan sebuah garis ruangan, maka robot akan mengecek adanya cahaya api dalam ruangan tersebut dengan menggunakan sensor cahaya UV-Tron. Bila ditemukan adanya api, robot akan mengecek apakah ruangan tersebut berkarpet. Bila ruangan tidak berkarpet maka robot akan masuk kedalam ruangan tersebut dan memadamkan api. Bila ruangan berkarpet, robot akan mengecek warna karpet tersebut. Bila warna karpet ruangan sesuai dengan warna sendiri maka api tidak akan dipadamkan dan robot akan berputar balik untuk melanjutkan pencarian ruangan selanjutnya, sedangkan bila warna karpet ruangan sesuai dengan warna lawan maka api akan dipadamkan. Ketika api sudah dipadamkan robot akan menambahkan penanda jumlah api yang sudah dipadamkan sebanyak 1 api. Bila api yang dipadamkan sudah mencapai 5 maka robot akan berhenti mencari api, sedangkan bila api yang dipadamkan belum mencapai 5 maka robot akan keluar ruangan serta mengecek apakah api yang dipadamkan terakhir merupakan api pada ruangan perbatasan. Bila api yang dipadamkan terakhir merupakan api pada ruangan perbatasan maka acuan dinding yang diikuti oleh robot akan diganti menjadi lawannya, sedangkan bila api terakhir bukan merupakan api pada ruangan perbatasan maka acuan dinding yang diikuti oleh robot tetap. Robot akan kembali mencari ruangan selanjutnya.

g. Ketika robot sudah menemukan sebuah garis perbatasan, maka robot akan mengecek jumlah api yang sudah pernah dipadamkan. Bila api yang dipadamkan masih 0 maka robot akan berputar balik untuk kembali mencari ruangan selanjutnya di daerah sendiri, sedangkan bila api yang dipadamkan sudah lebih dari sama dengan 1 maka robot akan diperkenankan untuk melewati garis perbatasan tersebut dan mengecek penanda api pada ruang perbatasan apakah sudah padam. Bila belum padam maka acuan dinding yang diikuti oleh robot akan diganti menjadi lawannya, sedangkan bila sudah padam maka acuan dinding yang diikuti oleh robot tetap. Ketika robot sudah diperkenankan melewati garis perbatasan, maka robot akan mencari ruangan selanjutnya di daerah lawan.


(7)

3.3.2. Perangkat Lunak Algoritma Kedua

Algoritma kedua ini adalah algoritma baru yang dirancang oleh penulis sebagai pembanding algoritma pertama. Perancangan algoritma ini memprioritaskan penjelajahan dan pencarian api di daerah sendiri semaksimal mungkin, lalu setelah itu baru melakukan penjelajahan dan pencarian api di daerah lawan. Gambar 3.7. menunjukkan diagram alir algoritma kedua.

Berikut ini adalah penjelasan algoritma kedua :

a. Pertama kali robot diaktifkan dengan sound activation atau tombol start. b. Robot akan melakukan inisialisasi flag-flag, robot akan melakukan

penjelajahan dengan mengikuti dinding sebelah kiri robot bila berada di sisi merah atau dinding sebelah kanan robot bila berada di sisi biru.

c. Robot akan keluar dari lingkaran home untuk menemukan warna lantai pertamanya. Bila robot mendapatkan warna merah atau biru maka robot berada di luar ruangan, sedangkan bila robot mendapatkan warna hitam maka robot berada di dalam ruangan. Bila robot berada di dalam ruangan, maka robot diharuskan keluar dahulu dari ruangan tersebut.

d. Robot yang berada di luar ruangan melakukan penjelajahan mengikuti dinding hingga menemukan garis berikutnya.

e. Ketika robot menemukan sebuah garis, maka robot akan melakukan perhitungan jarak garis sebelumnya dengan yang sekarang. Bila garis yang sebelumnya masih cukup dekat dengan yang sekarang maka garis yang sekarang merupakan garis perbatasan, sedangkan bila garis yang sebelumnya cukup jauh jaraknya dengan yang sekarang maka garis yang sekarang merupakan garis ruangan.

f. Ketika robot sudah menemukan sebuah garis ruangan, maka robot akan mengecek adanya cahaya api dalam ruangan tersebut dengan menggunakan sensor cahaya UV-Tron. Bila ditemukan adanya api, robot akan mengecek apakah ruangan tersebut berkarpet. Bila ruangan tidak berkarpet maka robot akan masuk kedalam ruangan tersebut dan memadamkan api. Bila ruangan berkarpet, robot akan mengecek warna karpet tersebut. Bila warna karpet ruangan sesuai dengan warna sendiri maka api tidak akan dipadamkan dan robot akan berputar balik untuk melanjutkan pencarian ruangan selanjutnya,


(8)

(9)

sedangkan bila warna karpet ruangan sesuai dengan warna lawan maka api akan dipadamkan. Ketika api sudah dipadamkan robot akan menambahkan penanda jumlah api yang sudah dipadamkan sebanyak 1 api. Bila api yang dipadamkan sudah mencapai 5 maka robot akan berhenti mencari api, sedangkan bila api yang dipadamkan belum mencapai 5 maka robot akan keluar ruangan dan robot akan kembali mencari ruangan selanjutnya.

g. Ketika robot sudah menemukan sebuah garis perbatasan, maka robot akan mengecek jumlah api yang sudah pernah dipadamkan. Bila api yang dipadamkan masih 0 maka robot akan berputar balik untuk kembali mencari ruangan selanjutnya di daerah sendiri, sedangkan bila api yang dipadamkan sudah lebih dari sama dengan 1 maka robot akan diperkenankan untuk melewati garis perbatasan tersebut dan mengecek penanda api pada ruang perbatasan apakah sudah padam. Bila sudah padam maka acuan dinding yang diikuti oleh robot akan diganti menjadi lawannya, sedangkan bila belum padam maka acuan dinding yang diikuti oleh robot tetap. Ketika robot sudah diperkenankan melewati garis perbatasan, maka robot akan mencari ruangan selanjutnya di daerah lawan.


(1)

3.3. Perancangan Perangkat Lunak

Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak. Perancangan perangkat lunak yang akan dijelaskan dibagi menjadi dua bagian yaitu perancangan perangkat lunak algoritma pertama dan perancangan perangkat lunak algoritma kedua. Algoritma kedua dibuat untuk dijadikan pembanding dengan algoritma yang pertama. Algoritma pertama dan algoritma kedua akan diuji pada Bab IV dan algoritma yang kinerjanya paling baik akan digunakan sebagai algoritma pada KRPAI 2015 oleh tim R2C divisi beroda.

3.3.1. Perangkat Lunak Algoritma Pertama

Algoritma pertama ini adalah algoritma baru yang dirancang oleh penulis. Perancangan algoritma ini memprioritaskan penjelajahan dan pencarian api di daerah lawan setelah menemukan dan memadamkan setidaknya 1 api di daerah sendiri. Gambar 3.6. menunjukkan diagram alir algoritma pertama.

Berikut ini adalah penjelasan algoritma pertama :

a. Pertama kali robot diaktifkan dengan sound activation atau tombol start. b. Robot akan melakukan inisialisasi flag-flag, robot akan melakukan

penjelajahan dengan mengikuti dinding sebelah kanan robot bila berada di sisi merah atau dinding sebelah kiri robot bila berada di sisi biru.

c. Robot akan keluar dari lingkaran home untuk menemukan warna lantai pertamanya. Bila robot mendapatkan warna merah atau biru maka robot berada di luar ruangan, sedangkan bila robot mendapatkan warna hitam maka robot berada di dalam ruangan. Bila robot berada di dalam ruangan, maka robot diharuskan keluar dahulu dari ruangan tersebut.

d. Robot yang berada di luar ruangan melakukan penjelajahan mengikuti dinding hingga menemukan garis berikutnya.

e. Ketika robot menemukan sebuah garis, maka robot akan melakukan perhitungan jarak garis sebelumnya dengan yang sekarang. Bila garis yang sebelumnya masih cukup dekat dengan yang sekarang maka garis yang sekarang merupakan garis perbatasan, sedangkan bila garis yang sebelumnya cukup jauh jaraknya dengan yang sekarang maka garis yang sekarang merupakan garis ruangan.


(2)

(3)

f. Ketika robot sudah menemukan sebuah garis ruangan, maka robot akan mengecek adanya cahaya api dalam ruangan tersebut dengan menggunakan sensor cahaya UV-Tron. Bila ditemukan adanya api, robot akan mengecek apakah ruangan tersebut berkarpet. Bila ruangan tidak berkarpet maka robot akan masuk kedalam ruangan tersebut dan memadamkan api. Bila ruangan berkarpet, robot akan mengecek warna karpet tersebut. Bila warna karpet ruangan sesuai dengan warna sendiri maka api tidak akan dipadamkan dan robot akan berputar balik untuk melanjutkan pencarian ruangan selanjutnya, sedangkan bila warna karpet ruangan sesuai dengan warna lawan maka api akan dipadamkan. Ketika api sudah dipadamkan robot akan menambahkan penanda jumlah api yang sudah dipadamkan sebanyak 1 api. Bila api yang dipadamkan sudah mencapai 5 maka robot akan berhenti mencari api, sedangkan bila api yang dipadamkan belum mencapai 5 maka robot akan keluar ruangan serta mengecek apakah api yang dipadamkan terakhir merupakan api pada ruangan perbatasan. Bila api yang dipadamkan terakhir merupakan api pada ruangan perbatasan maka acuan dinding yang diikuti oleh robot akan diganti menjadi lawannya, sedangkan bila api terakhir bukan merupakan api pada ruangan perbatasan maka acuan dinding yang diikuti oleh robot tetap. Robot akan kembali mencari ruangan selanjutnya.

g. Ketika robot sudah menemukan sebuah garis perbatasan, maka robot akan mengecek jumlah api yang sudah pernah dipadamkan. Bila api yang dipadamkan masih 0 maka robot akan berputar balik untuk kembali mencari ruangan selanjutnya di daerah sendiri, sedangkan bila api yang dipadamkan sudah lebih dari sama dengan 1 maka robot akan diperkenankan untuk melewati garis perbatasan tersebut dan mengecek penanda api pada ruang perbatasan apakah sudah padam. Bila belum padam maka acuan dinding yang diikuti oleh robot akan diganti menjadi lawannya, sedangkan bila sudah padam maka acuan dinding yang diikuti oleh robot tetap. Ketika robot sudah diperkenankan melewati garis perbatasan, maka robot akan mencari ruangan selanjutnya di daerah lawan.


(4)

3.3.2. Perangkat Lunak Algoritma Kedua

Algoritma kedua ini adalah algoritma baru yang dirancang oleh penulis sebagai pembanding algoritma pertama. Perancangan algoritma ini memprioritaskan penjelajahan dan pencarian api di daerah sendiri semaksimal mungkin, lalu setelah itu baru melakukan penjelajahan dan pencarian api di daerah lawan. Gambar 3.7. menunjukkan diagram alir algoritma kedua.

Berikut ini adalah penjelasan algoritma kedua :

a. Pertama kali robot diaktifkan dengan sound activation atau tombol start. b. Robot akan melakukan inisialisasi flag-flag, robot akan melakukan

penjelajahan dengan mengikuti dinding sebelah kiri robot bila berada di sisi merah atau dinding sebelah kanan robot bila berada di sisi biru.

c. Robot akan keluar dari lingkaran home untuk menemukan warna lantai pertamanya. Bila robot mendapatkan warna merah atau biru maka robot berada di luar ruangan, sedangkan bila robot mendapatkan warna hitam maka robot berada di dalam ruangan. Bila robot berada di dalam ruangan, maka robot diharuskan keluar dahulu dari ruangan tersebut.

d. Robot yang berada di luar ruangan melakukan penjelajahan mengikuti dinding hingga menemukan garis berikutnya.

e. Ketika robot menemukan sebuah garis, maka robot akan melakukan perhitungan jarak garis sebelumnya dengan yang sekarang. Bila garis yang sebelumnya masih cukup dekat dengan yang sekarang maka garis yang sekarang merupakan garis perbatasan, sedangkan bila garis yang sebelumnya cukup jauh jaraknya dengan yang sekarang maka garis yang sekarang merupakan garis ruangan.

f. Ketika robot sudah menemukan sebuah garis ruangan, maka robot akan mengecek adanya cahaya api dalam ruangan tersebut dengan menggunakan sensor cahaya UV-Tron. Bila ditemukan adanya api, robot akan mengecek apakah ruangan tersebut berkarpet. Bila ruangan tidak berkarpet maka robot akan masuk kedalam ruangan tersebut dan memadamkan api. Bila ruangan berkarpet, robot akan mengecek warna karpet tersebut. Bila warna karpet ruangan sesuai dengan warna sendiri maka api tidak akan dipadamkan dan robot akan berputar balik untuk melanjutkan pencarian ruangan selanjutnya,


(5)

(6)

sedangkan bila warna karpet ruangan sesuai dengan warna lawan maka api akan dipadamkan. Ketika api sudah dipadamkan robot akan menambahkan penanda jumlah api yang sudah dipadamkan sebanyak 1 api. Bila api yang dipadamkan sudah mencapai 5 maka robot akan berhenti mencari api, sedangkan bila api yang dipadamkan belum mencapai 5 maka robot akan keluar ruangan dan robot akan kembali mencari ruangan selanjutnya.

g. Ketika robot sudah menemukan sebuah garis perbatasan, maka robot akan mengecek jumlah api yang sudah pernah dipadamkan. Bila api yang dipadamkan masih 0 maka robot akan berputar balik untuk kembali mencari ruangan selanjutnya di daerah sendiri, sedangkan bila api yang dipadamkan sudah lebih dari sama dengan 1 maka robot akan diperkenankan untuk melewati garis perbatasan tersebut dan mengecek penanda api pada ruang perbatasan apakah sudah padam. Bila sudah padam maka acuan dinding yang diikuti oleh robot akan diganti menjadi lawannya, sedangkan bila belum padam maka acuan dinding yang diikuti oleh robot tetap. Ketika robot sudah diperkenankan melewati garis perbatasan, maka robot akan mencari ruangan selanjutnya di daerah lawan.