Algoritma Pendeteksian Obstacle dan Furniture Menggunakan ...
Transcript of Algoritma Pendeteksian Obstacle dan Furniture Menggunakan ...
24
BAB III
PERANCANGAN SISTEM
Bab ini berisi penjelasan mengenai perancangan sistem baik bagian mekanik,
perangkat lunak dan algoritma robot, serta metode pengujian yang akan dilakukan.
3.1. Perancangan Mekanik Robot
Robot yang dibuat sudah terealisasi secara nyata dan komponen-komponen
perangkat keras. Pada bagian ini akan dijelaskan bagian-bagian tersebut sesuai dengan
yang ditunjukkan pada gambar 3.1 tampak atas dan gambar 3.2 tampak depan.
Gambar X. Realisasi Desain Mekanik Tampak Atas
Gambar 3.1. Realisasi Desain Mekanik Tampak Atas
1 2 3 4
5
5
6
25
Gambar 3.2. Realisasi Desain Mekanik Tampak Depan
Keterangan dari adalah sebagai berikut :
1. Tombol Stop
2. Mic
3. LED Indikator Mic dan Garis
4. Tombol Start
5. LED Indikator Boneka
6. Extinguisher / penyemprot
7. Sensor Jarak SRF04
8. Flame Sensor
9. UVtron
10. Sensor Garis
11. Sensor Suhu TPA81
12. Infrared Proximity Sensor
13. Kaki Robot
3.1.1 Perhitungan Peletakkan Sensor Infrared
Untuk peletakkan kedua buah sensor infrared proximity menggunakan metode
triangulasi dan perhitungan dengan menggunakan aturan sinus. Rumus 3.1 dan 3.2
berikut yang akan digunakan untuk perhitungan dengan keterangan sesuai gambar 3.3.
9
8
7
10
8 12 11
13
26
Gambar 3.3. Sudut dan Sisi Segitiga yang Terbentuk
…...……………………………. (3.1)
………………………………… (3.2)
Dimana a diketahui sebesar 3 cm yaitu jarak minimal yang dapat dideteksi sensor yang
terdapat pada datasheet, namun kenyataannya ketika diuji dengan cara mengatur
potensio sampai sensor dapat mendeteksi pada jarak sedekat mungkin, lalu jarak
terpendek tersebut diukur dengan penggaris dan didapat sensor memiliki jarak deteksi
terpendek ~6 . Oleh karena itu digunakan a = 6 untuk perhitungan jarak sensor.
Sementara nilai sama dengan β yaitu 150 (batas maksimal sudut deteksi). Untuk nilai γ
adalah 1500 didapat dari 1800 – (2*150) = 1500.
=
L =
L =
L =
L adalah jarak antara kedua sensor infrared proximity dan didapat hasil ~11.5911 cm.
3.1.2 Mekanik
Bagian-bagian robot terdiri dari kepala badan dan kaki yang terbuat dari
alumunium dan acrylic dengan dimensi 29 x 28 x 26 cm dimana sudah memenuhi
aturan pertandingan KRPAI. Dimensi maksimal pada aturan KRPAI adalah 31 x 31 x
27 cm. Bahan tersebut dipilih karena bahan tersebut ringan dan cukup kuat, jadi
apabila robot menabrak dinding, robot tidak akan mengalami kerusakan yang fatal.
Boneka
Sensor Infrared
27
Untuk bagian depan robot dimana dulu digunakan sebagai tempat sensor infrared
diganti menjadi tempat untuk tpa81 dan flame sensor, dimana dua buah infrared
proximity sensor diletakkan disamping kanan dan kirinya, tempat tersebut terbuat dari
alumunium yang dibaut ke bagian shield robot.
Bagian kepala robot mengalami perubahan dimana dibuat menjadi octagon
dikarenakan ditambahkan SRF04 di bagian delapan robot, selain itu agar bagian
dalamnya lebih luas sehingga dapat meletakkan mikrokontroler dengan baik.
Kemudian untuk lengan kaki robot ketika digunakan untuk trial ternyata ada beberapa
yang bengkok karena tidak kuat menahan body robot yang sekarang sudah menjadi
lebih berat, oleh karena itu digunakan dua buah lengan kaki agar lebih kuat dan tidak
bengkok sewaktu berjalan. Selain itu untuk bagian bawah dimana dulunya
menggunakan sistem minimum arm sebagai servo controller sekarang diganti
menggunakan SSC-32 dan menggunakan sistem minimum ATmega8 sebagai bagian
dari pengendalian dengan SSC-32. Peletakkan ATmega8 berada di tengah-tengah agar
memudahkan untuk menyambungkan antara mikrokontroler atas yang bertindak
sebagai pengirim perintah dan SSC-32 yang bertugas mengeksekusi perintah, selain itu
juga menghemat penggunaan kabel dan meminimalisir adanya error.
Peletakkan SSC-32 di frame bagian tubuh agar jarak antara SSC-32 dengan servo pada
kaki dapat sedekat mungkin, sehingga pergerakan kaki dapat lebih leluasa.
3.1.3 Elektrik
Gambar 3.4. Berikut adalah skema pada bagian servo controller yang
sebelumnya menggunakan ARM m0 diganti menjadi SSC-32 :
Gambar 3.4. Skema Servo Controller
28
Selain itu terjadi perubahan pada bagian mikrokontroller untuk mengolah data sensor,
dimana sekarang menggunakan 2 buah mikrokontroller ATmega324 dengan
komunikasi USART1 melalui pin TX/RX. Juga perubahan sensor dari GP2D12 menjadi
dua buah infrared proximity sensor ditunjukkan oleh gambar 3.5 dan gambar 3.6.
Gambar 3.5. Skema Komunikasi antar ATmega324 dan SRF04 serta IR Sensor
Gambar 3.6. Sensor GP2D12 (atas) dan Infrared Proximity Sensor (bawah) Robot.
29
3.2. Perancangan Perangkat Lunak
Pada bagian ini akan dijelaskan tentang perintah-perintah yang diberikan dari
mikrokontroler ATmega324A master ke ATmega8 sebagai mikrokontroler yang
mengendalikan servo controller SSC-32 serta algoritma pendeteksian boneka dan
furniture.
3.2.1. Perintah-Perintah dari Mikrokontroler Master ke Mikrokontroler Slave
Perintah yang diberikan oleh berupa sebuah fungsi yang berguna untuk
mengatur keluaran dari 4 buah PORTA pada ATmega324 master. Keluaran tersebut
akan diterima oleh mikrokontroler slave ATmega8 dan kemudian ATmega8 akan
memberikan sinyal ke SSC-32 untuk mengatur posisi sudut tiap servo.
Berikut adalah beberapa perintah yang tersedia :
Tabel 3. Perintah Mikrokontroler ATmega324A Master ke Mikrokontroler Atmega8
No Perintah Kondisi Robot
1 PassData(0); Berhenti
2 PassData(1); Maju
3 PassData(2); Mundur
4 PassData(3); Belok Kanan
5 PassData(4); Belok Kiri
6 PassData(5); Rotate Kanan
7 PassData(6); Rotate Kiri
8 PassData(7); Geser Kanan
9 PassData(8); Geser Kiri
10 PassData(9); Bergoyang
30
Algoritma pendeteksian boneka yang diterapkan pada robot dibagi menjadi dua,
yaitu algoritma pendeteksian yang lama, dan algoritma pendeteksian baru yang
direalisasikan dalam skripsi ini.
3.2.2. Algoritma Lama
Bagian ini menjelaskan tentang algoritma pendeteksian boneka dan furniture
pertama yang digunakan sebelumnya, diagram alir dari algoritma ini adalah sebagai
berikut:
Gambar 3.7. Flowchart Pendeteksian Boneka dan Furniture Lama
Untuk pendeteksian Boneka dan furniture algoritma yang lama seperti pada
flowchart gambar 3.7. Pertama-tama robot melakukan inisialisasi sensor kemudian
mengikuti dinding dan akan melakukan pengecekan apakah robot berada di dalam room
atau tidak untuk mengetahui adanya perubahan dari room ke lorong atau sebaliknya
robot menggunakan sensor garis, disini garis putih digunakan sebagai pintu room. Bila
Tidak
Follow Dinding
Ya
GP2D12
mendeteksi
boneka?
Balik Arah
Tidak
Ya
Room?
Follow Furniture
End
Inisialisasi GP2D12
dan SRF04
Start
Padamkan Api
31
robot berada di lorong maka data dari sensor infrared GP2D12 akan terus diambil dan
bila nilainya kurang dari batas yang ditentukan atau dengan kata lain ada sesuatu yang
dekat didepan robot, maka robot akan berputar. Pengecekan boneka hanya dilakukan di
lorong saja karena boneka pasti hanya terdapat di dalam lorong dan tidak di dalam
room.
Sedangkan bila robot berada di dalam room, maka robot akan bergerak
mengikuti dinding dengan melakukan gerakan khusus untuk furniture (langkah kecil
dan berjalan pelan-pelan) sampai robot memadamkan api.
3.2.3. Algoritma Baru
Berikut akan dijelaskan tentang algoritma pendeteksian boneka dan furniture
kedua yaitu yang diusulkan untuk tugas akhir yang telah diterapkan pada Kontes Robot
Pemadam Api Indonesia, gambar 3.8 menunjukkan diagram alir dari algoritma ini.
Tidak
Ya
Apakah sudah
pernah
mematikan mati ?
Start
Inisialisasi GP2D12
dan SRF04
B C A D
Follow Dind ing
32
Tidak
Ya
Ya
Tidak
Tidak
Ya
Ya
Proximity
mendeteksi
boneka?
Daerah
Boneka?
Ya
C B
Home
Ya
Tidak
Cari jalan yang bebas boneka
End
Perempatan?
A
Tidak
C
D
Balik Arah, Simpan
Letak Boneka
Tidak
Ya
Room?
Ya
Pointing Api
Geser ke daerah
tanpa furniture
State Rotasi Robot
Apakah masih
mendeteksi?
Lakukan Gerakan Rotasi 900
Posisikan Robot
Gambar 3.8. Flowchart Pendeteksian Boneka dan Furniture Baru
Tidak
Tidak Apakah Sudah
900 && t idak
ada furniture ?
SRF04 depan
mendeteksi ?
Follow
33
a. Penjelasan flowchart pendeteksian boneka
Untuk mendeteksi boneka, robot harus dapat memasuki daerah boneka yang
ditentukan dengan nilai dari SRF, baru kemudian menggunakan kedua IR proximity
sensor sehingga robot dapat mengetahui di daerah manakah boneka tersebut berada
dengan menggunakan indikator LED sebagai penanda, sehingga sebisa mungkin tidak
melewati daerah tersebut untuk yang kedua kalinya. Hal ini dilakukan untuk
meminimalisir kemungkinan bila terjadi error komponen sensor yang dapat
menyebabkan robot melewat boneka. Selain itu dengan dibantu oleh pengenalan ruang
robot lebih mudah untuk mengetahui letak boneka. Robot harus bertemu boneka
setidaknya sekali untuk dapat mengetahui letak dari boneka tersebut.
Kemudian setelah memadamkan api, ketika robot akan kembali ke home, robot
sudah mengenali letak boneka, oleh karena itu ketika robot mendeteksi perempatan
(yang dideteksi dengan cara mengecek SRF04 depan, kanan, kiri, dan belakang) maka
robot akan memilih jalan mana yang bebas dari boneka.
Pada gambar 3.9. Berikut ditunjukkan kemungkinan letak boneka yang diberi
simbol huruf 1, 2, dan 3 dimana pada setiap pertandingan hanya terdapat satu boneka
dari kemungkinan ketiga kandidat letak boneka tersebut. Serta jenis boneka yang
digunakan yaitu boneka 1 (abu) dan boneka 2 (coklat) yang ditunjukkan oleh gambar
3.10.
Gambar 3.9. Posisi Kemungkinan Letak Boneka
3
2
1
34
Gambar 3.10. Boneka 1 (kiri-abu) dan Boneka 2 (kanan-coklat)
b. Penjelasan flowchart pendeteksian furniture
Untuk mendeteksi furniture menggunakan metode scanning dimana gerakan
rotasi akan dilakukan oleh robot sambil mengambil data dari SRF04 depan, rotasi
tersebut dibagi menjadi 2 tahap untuk menentukan daerah 1 atau 2, ketika ada furniture
maka SRF04 akan bernilai kecil dan kurang dari batas yang telah ditentukan. Batas nilai
tersebut didapat dari jarak terpendek ketika robot menghadap tembok. Batas tersebut
dibuat berbeda untuk daerah 1 dan daerah 2 karena bila menggunakan batas yang sama
bisa jadi furniture yang berada pada jarak terjauh robot tidak dapat terdeteksi.
Pembagian tiap room yang dimasuki menjadi 2 bagian dengan aturan sesuai gambar
3.11.
Gambar 3.11. Pembagian Daerah Berdasarkan Letak Room nya
Panah dan garis hitam menandakan robot masuk room 1 dari pintu yang
menghadap ke atas dan pembagian daerahnya sedangkan panah abu-abu robot masuk
Arah Masuk Robot
35
room 1 dari pintu di sebelah kiri serta pembagian daerahnya. Demikian juga dengan
room 4, panah hitam robot masuk dari pintu yang menghadap ke atas sedangkan panah
abu-abu robot masuk dari pintu yang menghadap ke bawah gambar 3.11.
Ketika SRF04 mendeteksi adanya halangan (nilai data yang dibaca kecil) berarti
terdapat furniture di depan robot pada daerah sesuai dengan tahap rotasi robot tersebut
maka robot akan berhenti berotasi dan robot akan menentukan kearah mana akan
melakukan follow. Bila furniture tersebut terdapat di tengah maka robot dapat
melakukan follow kanan maupun ke kiri.
3.3. Metode Pengujian
Pada bagian ini akan dijelaskan tentang metode-metode yang akan dilakukan
sebagai pengujian dari skripsi yang dibuat. Pengujian akan dibagi menjadi dua bagian,
yaitu pengujian robot mendeteksi adanya boneka yang terletak di lorong kemudian
menghindari boneka ketika akan balik ke home setelah memadamkan api. Kemudian
pengujian kedua adalah untuk mengetahui kemampuan robot dalam mendeteksi adanya
furniture yang terletak di dalam room.
3.3.1 Pengujian Robot Mendeteksi dan Menghindari Boneka
Pengujian mendeteksi boneka dengan menggunakan LED sebagai penanda
boneka tersebut berada. LED warna merah menandakan boneka ada di daerah 1, LED
warna hijau berarti boneka di daerah 2 dan LED warna biru boneka berada di daerah 3
ditunjukkan pada gambar 3.12.
Gambar 3.12. Warna LED Penanda Letak Boneka
X
3
2
1 LED Merah
LED Biru
LED Hijau
X Daerah Perempatan
36
Pengujian algoritma menghindari boneka dilakukan dengan menggunakan robot
yang bergerak secara otomatis. Robot tersebut diprogram agar dapat menelusuri dinding
dan bila menemukan boneka akan melakukan gerakan berputar menghindari boneka
tersebut serta menyimpan letak boneka tersebut. Kemudian ketika robot akan pulang ke
home, robot akan mencari jalan yang tidak terdapat boneka ketika berada di perempatan
(bagian tengah map yang bertanda X pada gambar 3.12).
Start robot dari room 4 dengan pintu menghadap ke atas, kemudian menelusuri
dinding sampai mendeteksi garis yang merupakan penanda dari pintu pada sebuah
room. Kemudian robot agar bergerak ke arah kiri dan mendeteksi adanya boneka pada
daerah 3. Selanjutnya robot akan berputar balik untuk menghindari boneka tersebut
sekaligus menyalakan LED warna biru yang menandakan ada boneka di daerah 1, data
ini akan disimpan yang selanjutnya digunakan sebagai referensi ketika robot akan balik
home. Kemudian robot akan mengelilingi lapangan dan memadamkan api di room.
Gambar 3.13 berikut menunjukkan cara pengujian.
Gambar 3.13. Pengujian Robot Mendeteksi dan Menghindari Boneka
Alur robot ketika berangkat sebelum memadamkan api
Pancaran sensor ultrasonik SRF04
Alur robot ketika balik ke home setelah memadamkan api
Lilin
Boneka
Robot Berkaki
37
Pengujian akan dinyatakan gagal apabila menggeser lebih dari batas yang ditentukan
pada peraturan pertandingan [1] atau melewati boneka dan gagal mendeteksi atau menentukan
arah yang tepat pada saat berada di perempatan ketika akan pulang home. Ilustrasi gambar 3.14
Gambar 3.14. Ilustrasi Robot Menggeser Boneka > 1 cm (kiri) dan Robot Melewati Boneka
(kanan)
3.3.2 Pengujian Pendeteksian Furniture pada Robot
Pengujian dilakukan dengan menggunakan robot yang bergerak secara otomatis
dari room 4, kemudian keluar menemukan boneka kemudian berbalik dan melanjutkan
follow kiri pada dinding, ketika memasuki room 1 maka robot akan melakukan
scanning. Robot akan mendeteksi dimana letak furniture tersebut apakah berada di
daerah 1 atau 2. Penanda dari daerah tersebut menggunakan sebuah 7 segmen. Langkah
selanjutnya adalah robot menentukan akan follow ke kanan atau kiri tergantung letak
furniture tersebut.
Pengujian dinyatakan gagal apabila robot salah mendeteksi ada atau tidaknya
furniture maupun salah mendeteki daerah furniture. Selain itu robot tidak dapat
melakukan follow sesuai dengan syarat yang telah ditentukan. Ilustrasi pengujian pada
gambar 3.15 dan gambar 3.16.
>1 cm
>1 cm
38
Gambar 3.15. Ilustrasi Robot Ketika Mendeteksi Adanya Furniture
Gambar 3.16. Ilustrasi Robot Ketika Tidak Mendeteksi Adanya Furniture
Pancaran Sensor srf04 Furniture
Lilin Pancaran Infrared Proximity Sensor