BAB 3 PERANCANGAN SISTEM
3.1
Analisis Perkembangan robot yang pesat beberapa dekade terakhir ini telah membuat ilmu robotika menyebar ke segala bidang. Semakin banyak orangorang yang mengembangkan robot untuk membantu atau menggantikan pekerjaan manusia, contohnya robot bedah untuk membantu ahli bedah dalam melakukan operasi, robot line follower, bisa digunakan pada pabrik-pabrik untuk mengangkut barang dari satu terminal ke terminal yang lain, robot bersih-bersih yang secara otomatis dapat membersihkan lantai, robot pemadam api, dan lain lain. Jika dilihat dari pergerakannya, secara umum robot dapat dibagi menjadi empat jenis, yaitu robot berkaki (walking robot), robot beroda (wheeled robot), robot yang dapat terbang (flying robot) dan robot yang dapat bergerak di dalam air (diving robot). M asing-masing robot tersebut memiliki karakteristik desain dan pergerakan yang berbeda-beda. Namun dari antara keempat jenis robot tersebut, yang paling banyak ditemui dalam kehidupan sehari-hari adalah jenis robot beroda (wheeled robot) dimana jenis robot tersebut menggunakan motor atau servo untuk menggerakkannya. Skripsi sebelumnya menggunakan jenis robot beroda sebagai robot pemadam api dan pengembangan dari robot tersebut juga menggunakan jenis robot beroda. Robot pemadam api yang kami buat memiliki kemampuan untuk 30
31
mengetahui jarak, bergerak dengan roda, menjelajahi track yang sudah ditentukan, dapat mendeteksi api, dapat mematikan lilin api, dan memiliki kemampuan untuk mencari jalan tersingkat untuk kembali ke home. Untuk melakukan tugas tersebut, robot diberi kecerdasan buatan dengan menggunakan algoritma Depth First Search (DFS)yang telah dimodifikasi dari penelitian sebelumnya. 3.1.1. Analisis dan Karakteristik MobileRobot Dalam penelitian ini,jenis robot yang digunakan adalah jenis robot beroda. Berikut ini adalah komponen-komponen utama yang ada padamobile robot tersebut. 3.1.1.1 Platform Robot Platform robot menentukan bentuk robot secara fisik, mekanik, jumlah roda, berat, dan sebagainya. Platform yang akan digunakan pada penelitian ini adalah produk keluaran dari Pololu robotics & electronics yaitu Dagu Wild Thumper 4WD. Platform robot ini terbuat dari aluminium berwarna hitam dan dikontrol oleh 4 buah motor DC. Platform tersebut mempunyai spesifikasi dengan ukuran panjang 30 cm, lebar 28 cm dan tinggi 13 cm. Berat platform dengan motor adalah 1900 gram. Gambar 3.1 dan Gambar 3.2 di bawah merupakan bentuk platform yang digunakan :
32
Gambar 3.1 Platform robot Dagu Wild Thumper 4WD
Gambar 3.2 Platform robot Dagu Wild Thumper 4WD ( tampak samping)
3.1.1.2 Motor M otor berfungsi untuk menggerakan robot. M otor yang dipakai di mobile robot ini adalah motor DC dengan spesifikasi 616 Volt, 13 Ampere dan pada kondisi puncak menggunakan arus maksimal 30 Ampere per channel. M otor DC ini merupakan bawaan dari platform yang dipakai. M otor DC ini digerakkan menggunakan motor driver produk keluaran dari Pololu robotics & electronics yaitu Pololu Qik 2s12v10 Dual Serial Motor Controller.
33
3.1.1.3 Sensor Sensor merupakan komponen yang digunakan sebagai indera robot. Sensor memiliki banyak jenis tergantung fungsi – fungsinya. Fungsi – fungsi sensor antara lain, dapat berguna untuk
mengetahui
jarak,
mengukur
tingkat
kelembaban,
mengukur suhu, mendeteksi objek atau garis dan lain sebagainya. Komponen sensor sangat penting untuk mobile robot. Sensor yang digunakan untuk mobile robot ini antara lain : •
PING Ultrasonik PING merupakan sensor pengukur jarak yang digunakan pada mobile robot yang memancarkan
gelombang
ultrasonik. •
Kompas Kompas digunakan untuk mengetahui arah dan perputaran daripada mobile robot.
•
IR Ranger IR ranger adalah sensor pengukur jarak yang digunakan pada mobile robot ini dengan memanfaatkan inframerah.
•
Fotodiode Fotodiodepada penelitian ini digunakan untuk mengetahui arah api.
34
•
UVTron UVTron adalah sensor yang mendeteksi sinar UV yang dipancarkan oleh lilin.
•
Sensor Garis Sensor garis digunakan untuk mengetahui apakah robot memasuki atau keluar dari ruangan, serta mendeteksi lingkaran home dan lingkaran api. Sensor garis ini memanfaatkan inframerah dan fotodiode.
3.1.1.4 Controller Controller adalah komponen yang menjadi otak dari robot.Controller yang digunakan di sini adalah produk Atmel, yaitu AVR ATM ega128.
3.1.1.5 Algoritma Algoritma yang digunakan untuk menjelajahi track pada penelitian ini secara garis besar adalah algoritma Depth FirstSearch yang dipadukan dengan algoritma Modified Line Maze mempersingkat jalannya robot ketika kembali ke home dan algoritma median filter untuk pengecekan kesalahan sensor.
35
3.2
Perancangan Perangkat Keras Perancangan perangkat keras digunakan untuk mendukung seluruh komponen atau modul elektronika yang digunakan pada mobile robot. Berikut ini adalah modul – modul yang digunakan pada mobile robot : 3.2.1
Modul Ping Ultrasonik Sensor PING mendeteksi jarak objek dengan memancarkan gelombang ultrasonik. Sensor PING ini memanfaatkan pemantulan daripada gelombang ultrasonik yang dipancarkan.
Gambar 3.3 Ilustrasi pemantulan gelombang ultrasonik
Pada modul PING terdapat 3 pin yang digunakan untuk jalur power supply (+5 Volt), ground dan pin sinyal. Pin sinyal dapat langsung dihubungkan dengan controller tanpa perlu tambahan komponen apapun.
36
Teori ultrasonik mempunyai persamaan untuk mengetahui jarak yang kemudian diimplementasikan ke mobile robot ini dengan nilai sebagai berikut :
Jarak = waktu * 0.034618
(3-1)
Penggunaan PING ultrasonik memiliki kekurangan apabila objek yang dihadapi memiliki sifat peredam suara. Hal ini terjadi karena PING menggunakan gelombang ultrasonik yang mengandalkan gelombang suara yang dipantulkan. 3.2.2
Modul Kompas Digital M odul kompas digital digunakan untuk mengetahui arah dan perputaran daripada mobile robot. Kompas yang digunakan pada mobile robot ini adalah CM PS10 – Tilt Compensated Compass Module yang merupakan produk keluaran dari Devantech Ltd (Robot Electronics). M odul kompas ini membutuhkan tegangan supply sebesar 3,3 - 5 volt.
Gambar 3.4 CMPS 10
37
Kompas ini dapat melakukan pertukaran data dengan controller menggunakan 3 jenis komunikasi, yaitu melalui komunikasi serial USART, I2C atau bisa juga menggunakan PWM . Pada penelitian ini, kami menggunakan komunikasi serial I2C untuk mengambil data kompas. Kompas ini menawarkan fitur kompensasi kemiringan sehingga kompas tetap dapat bekerja dengan baik walau permukaannya sedikit miring. Kompas ini menghasilkan output 0-3599 yang mewakili 0°-359.9° terhadap kutub bumi. Kompas ini memiliki frekuensi sampling sebesar 75Hz yang artinya kompas akan menghasilkan data mentah yang baru setiap 13,3ms. Namun data mentah tersebut tidak langsung ditulis ke buffer, melainkan akan difilter lagi dan disesuaikan dengan 45 data sebelumnya. Jadi, hasil filter tersebut akan ditulis ke buffer setiap 600ms. Dikarenakan modul kompas ini membutuhkan 3,3volt agar dapat bekerja dengan baik, maka dibuatlah pengubah tegangan ke 3,3volt dari tegangan sumber 5 volt. IC yang digunakan untuk meregulasi tegangan 3,3 volt adalah LM 3940. Gambar 3.5 di bawah adalah rancangan skematik dari pengubah tegangan 5 volt ke 3,3 volt.
38
Gambar 3.5 S kematik modul 3,3 voltconverter untuk kompas
3.2.3
Modul IR Ranger IR ranger digunakan untuk mengetahui ada atau tidaknya objek pada jarak tertentu. Dalam hal ini yang dideteksi adalah jarak mobilerobot ke dinding. Jenis modul IR ranger yang digunakan adalah GP2D12 keluaran Sharp. Jarak yang dapat dikenali sensor ini antara 10 – 80 cm. IR ranger ini mengeluarkan data dalam bentuk tegangan analog dari 0 – 2.5 volt maksimal. Tegangan analog yang dikeluarkan IR ranger ini
akan
dihubungkan
dengan
inputanalog
daripada
controllerATM ega128 yang mengolah input data analog tersebut menjadi digital dengan menggunakan teknik ADC.
39
Berikut ini adalah blok diagram internal modul IR ranger ini :
Gambar 3.6Blok diagram GP2D12
Berikut ini penjelasan singkat daripada blok diagraminternalIR rangerpada gambar 3.6. Sinar inframerah yang sudah termodulasi akan dikirimkan dari sensor, kemudian mengenai objek dan direfleksikan kembali oleh objek tersebut ke sensor. Sinar inframerah yang kembali ini akan masuk ke sensor setelah melalui sebuah lensa yang akan menfokuskan sinar ke PositionSensitiveDevice (PSD). Sensor akan menghasilkan tegangan yang berbeda – beda untuk jarak yang berbeda pula melalui signalprocessingcircuit yang digunakan pada IR ranger tersebut. Berikut ini ditunjukkan grafik perbandingan antara tegangan analog yang dihasilkan dengan jarak dalam cm :
40
Gambar 3.7 Grafik VOUT Vs Jarak
Pada gambar 3.7 terlihat bahwa jarak minimal adalah sekitar 10cm dengan tegangan yang dihasilkan sekitar 2.5 volt dan maksimal 80 cm dengan tegangan analog sekitar 0.4 – 0.5 volt.
Gambar 3.8 GP2D12 Data IR ranger langsung dihubungkan ke input ADC (Analog to Digital Converter) yang terdapat pada controller. Data yang diproses controllerberupa desimal dari 0 – 255, dimana data yang mendekati nilai 0 adalah jarak yang jauh dan 255 menunjukkan jarak mendekati 10
41
cm.Sehingga jarak yang digunakan pada algoritma berupa nilai desimal tersebut. Nilai jarak tersebut dikalibrasi terlebih dahulu dengan mengambil data pada track sesuai nilai yang diperlukan. Penggunaan IR ranger memiliki kelemahan yaitu pemantulan pada cermin karena IR ranger menggunakan sinar inframerah.
3.2.4
Modul Fotodiode M odul fotodiode digunakan untuk mendeteksi arah api terhadap mobilerobotpada jarak dekat. Fotodiode bekerja dengan menangkap cahaya lilin. Output data yang dihasilkan dari modul ini berupa data digital yaitu 1 atau 0. Kondisi logika 1 atau 5 volt menunjukkan bahwa tidak ada api, sedangkan untuk kondisi logika 0 atau 0 volt menunjukkan bahwa terdapat api. Berikut ini adalah rangkaian yang digunakan pada mobilerobot ini.
Gambar 3.9 S kematik Fotodiode
42
Rangkaian fotodiode ini didukung oleh beberapa komponen lainnya seperti LM 311 yang merupakan IC Op-Amp yang berfungsi sebagai komparator. Komparator adalah pembanding antara dua input yang diberikan. Kedua input komparator tersebut diperoleh dari pembagi tegangan. Inputpada kaki inverting (-) merupakan tegangan referensi yang diperoleh dari sebuah trimpot atau potensiometer dengan prinsip pembagi tegangan. Sedangkan input pada kaki non-inverting diterima dari tegangan yang jatuh pada fotodiode tersebut. Jika kondisi tanpa api, maka tegangan yang jatuh pada fotodiode sama dengan atau mendekati tegangan VCC yang digunakan. Kondisi ada api menyebabkan tegangan yang jatuh di fotodiode mendekati 0 volt. Sesuai dengan prinsip komparator, apabila tegangan di inputnon-inverting (+) lebih besar daripada inputinverting (-), maka tegangan output daripada komparator LM 311 adalah VCCyang dalam hal ini adalah 5 volt. Berlaku juga kebalikannya, apabila tegangan di inputnon-inverting (+) lebih rendah daripada inputinverting(-), maka output yang dikeluarkan adalah VEE atau GND.
43
Gambar 3.10 Modul Fotodiode 3.2.5
Modul UVTron M odul UVTron adalah modul yang digunakan untuk mendeteksi api pada lilin. Sensor ini merupakan produk keluaran dari Hamamatsu, yaitu Flame SensorUVTron R2868. M odul ini berfungsi untuk mendeteksi ultraviolet lemah yang dihasilkan oleh api lilin. M odul UVTron
ini mempunyai dua komponen
utama yaitu
UVTron
FlameSensor dan UVTronDrivingCircuit C3704 series. UVTron Flame Sensor mempunyai sensitivitas yang sangat tinggi. Rangkaian driver yang digunakan ini dapat menghilangkan noise yang disebabkan oleh cahaya natural seperti cahaya matahari. M odul ini masih dapat mendeteksi api lilin dalam radius sekitar 5 m. Blok diagram dari rangkaian modul UVTron yang digunakan (diambil dari datasheet)adalah sebagai berikut :
44
Gambar 3.11 Blok Diagram Modul UVTron
Gambar 3.11memperlihatkan bahwa terdapat empat bagian besar daripada modul UVTron ini. Bagian pertama adalah regulator tegangan (Constant Voltage Circuit) yang menghasilkan tegangan konstan sebesar 5 volt. Pada mobilerobot ini tidak digunakan regulator tegangan tersebut, karena supply yang digunakan sebesar 5 volt, sehingga VCCdapat langsung dihubungkan ke inputconverter tegangan tinggi (High Voltage DC-DC Converter). Konverter tegangan tinggi ini merupakan bagian kedua dari blok diagram UVTron. Bagian ini berfungsi untuk menghasilkan tegangan tinggi sebesar 350 volt untuk mengaktifkan UVTron Flame Sensor. Bagian ketiga adalah UVTronFlame Sensor itu sendiri. Bagian terakhir adalah rangkaian pemroses sinyal (Signal Processing Circuit). Bagian ini yang melakukan proses terhadap sinyal dari UVTron Flame
45
sensor dan menghasilkan output berupa pulsa dengan lebar 10 ms apabila mendeteksi adanya cahaya ultraviolet. Output ini yang akan digunakan oleh controller, di mana controller dapat membaca jumlah pulsa yang dihasilkan dalam suatu interval waktu untuk memperoleh hasil yang lebih akurat. Interval waktu yang digunakan pada mobilerobot ini adalah satu detik, sehingga banyaknya pulsa dalam satu detik menunjukkan status api yang terdeteksi. Pemakaian sensor UVTron ini ditambahkan dengan sebuah penutup dengan celah yang tipis, yang berfungsi untuk membuat sensor UVTron lebih fokus terhadap titik api. Sensor masih dapat mendeteksi titik api dari jarak lebih dari 1 m. SensorUVTron ini akan digunakan untuk mendeteksi apabila mobilerobot telah mencapai salah satu ruangan.
Gambar 3.12 Bulb UVTron
46
Gambar 3.13 UVTronDriving Circuit
3.2.6
Modul Sensor Garis M odul sensor garis juga digunakan pada mobilerobot ini. M odul ini berfungsi untuk mendeteksi ada tidaknya garis berwarna putih. M odul sensor garis ini memanfaatkan komponen LED inframerah sebagai transmitterdan fotodiode sebagai receiver. Apabila sensor mendeteksi garis, maka output yang dihasilkan berlogika 1 atau 5 volt dan logika 0 atau 0 voltapabila tidak ada garis putih yang terdeteksi. Berikut ini adalah skematik rangkaian sensor garis yang digunakan.
Gambar 3.14 S kematik Sensor Garis
47
Sensor garis yang digunakan membutuhkan tambahan komponen transistor dan terdapat trimpot yang digunakan untuk mengatur intensitas daripada inframerah yang digunakan tersebut. Selain itu juga terdapat indikator berupa LED yang menunjukkan ada tidaknya garis putih. Berikut ini penjelasan cara kerja modul sensor garis yang digunakan pada mobilerobot. Sinar inframerah yang dipancarkan tersebut akan mengalami pantulan apabila terkena objek berwarna putih dan tidak mengalami pantulan apabila objekberwarna hitam karena objek berwarna hitam cenderung menyerap cahaya. Hal ini tergantung juga pada ketinggian atau jarak sensor terhadap objek tersebut, yang dalam hal ini adalah garis berwarna putih.Oleh karena itu dibutuhkan trimpot atau potensiometer yang berfungsi untuk mengatur intensitas daripada inframerah tersebut. Trimpot ini akan mempengaruhi intensitas pantulan inframerah. Pantulan pada garis putih tersebut akan ditangkap oleh fotodiode, di mana apabila fotodiode mendapat cahaya, maka hambatan fotodiode menjadi kecil sehingga arus dapat melaluinya. Hal ini akan menyebabkan tegangan jatuh pada resistor R3 yang akan menyebabkan transistor aktif. Kondisi menyebabkan tegangan dari kolektor mengalir ke emiter sehingga output yang diambil pada kaki emiter akan menghasilkan outputhigh atau logika 1. Indikator LED berwarna merah akan menyala menandakan adanya garis.
48
Gambar 3.15 Ilustrasi inframerah pada permukaan putih
Gambar 3.16 Ilustrasi inframerah pada permukaan hitam
M odul sensor garis yang digunakan adalah sebanyak dua buah. Hal ini dikarenakan selain mendeteksi garis, sensor – sensor garis ini juga digunakan untuk mendeteksi plat lingkaran yang berwarna putih, yang diletakkan di sekitar api, dimana apabila kedua sensor ini mendeteksi garis pada waktu yang bersamaan, maka mobilerobot sedang berada pada lingkaran tersebut.
49
3.2.7
Modul Fan M odul fan adalah modul yang digunakan untuk menyalakan kipas untuk memadamkan api lilin yang terdeteksi oleh mobile robot. M odul ini menggunakan sebuah motor DC sebagai kipas. M odul fan ini menggunakan supply yang terpisah dari supply utama, di mana supply yang digunakan adalah supply dari bateraiLiPo sebesar 7,4 volt. Pemisahan supply ini dibantu dengan rangkaian relay 5 volt. Berikut ini pada gambar 3.17 merupakan skematik rangkaian fan yang menggunakan bantuan relay:
Gambar 3.17 S kematik modul fan
Rangkaian fan di atas bekerja dengan diberikan inputdata berupa 0 atau 1. Di mana kondisi 0 akan menyebabkan fan tidak aktif, fan kondisi 1 akan menyalakan fan. Cara kerja modul ini apabila diberi input dengan kondisi high atau 1, maka transistor akan aktif karena basis
50
mendapat tegangan sehingga kumparan pada relay akan mendapatkan beda potensial sebesar 5 volt pada kedua kakinya. Hal ini akan menyebabkan switch pada relay menghubungkan motor langsung ke baterai. Berlaku juga kebalikannya, dimana apabila transistor diberikan input berupa kondisi low atau 0, maka transistortidak aktif yang menyebabkan kumparan pada relay tidak memperoleh beda potensial sehingga baterai dan motor tidak terhubung. Penggunaan diode pada kumparan hanya sebagai proteksi yang dikenal sebagai fly-wheeldiode, di mana apabila terjadi tegangan balik dari kumparan relay, maka tegangan akan dibalikkan ke sumber tegangan.
Gambar 3.18 Modul fan
51
3.2.8
Modul Bumper M odul bumper digunakan untuk kondisi apabila mobilerobot menabrak dinding atau objek, sehingga dapat melakukan manuver seperti bergerak mundur atau bergeser. Pada mobile robot ini digunakan dua buah rangkaian push button yang masing – masing untuk sebelah kanan mobile robot dan sebelah kiri mobile robot.
Gambar 3.19 S kematik modul bumper
Kondisi push button tidak ditekan, maka output yang dihasilkan adalah high atau berlogika 1. Kondisi push button ditekan maka output berubah menjadi low atau berlogika 0.
52
Gambar 3.20 Modul bumper
3.2.9
Modul Driver dan Motor DC M otor DC digunakan untuk menggerakkan mobile robot ini. Mobile robot ini menggunakan empat buah motor DC yang digunakan untuk menggerakkan dua roda depan dan dua roda belakang. Untuk mengatur pergerakan motor DC, digunakan driver motor DC yang merupakan produk keluaranPololu, yaituQik 2s12v10 Dual Serial Motor Controller. M otor driver ini kuat menahan arus sebesar 13Ampere untuk masing-masing motor DC dan dilengkapi dengan fitur current limiting untuk mencegah rusaknya komponen karena kelebihan arus. M asing-masing motor driver ini dapat mengendalikan dua buah motor DC. Untuk mengatur pergerakan empat buah motor DC, kami menggunakan dua buah motor driver, dimana motor driver pertama akan mengendalikan dua buah motor DC bagian depan dan motor driver kedua akan mengendalikan dua buah motor DC bagian belakang.
53
Gambar 3.21 Modul Driver Qik 2s12v10
M otor driver ini menggunakan komunikasi serial UART dengan controllermenggunakanbaud rate yang dapat diatur. Tabel 3.1 Konfigurasi driver BAUD 1 BAUD 2 Jumper
Jumper
OFF
OFF
Baud Mode
auto-detect baud rate (1200 – 115,200 bps)
ON
OFF
fixed baud rate at 115,200 bps
OFF
ON
fixed baud rate at 38,400 bps
ON
ON
fixed baud rate at 9,600 bps
Format data serial yang dikirim adalah 8 data bits, 1 stop bit, no parity, atau biasanya ditulis 8-N-1.
54
Gambar 3.22 Diagram non-inverted TTL serial byte Protokol komunikasi yang digunakan adalah Pololu Protocol yang kompatibel dengan produk Pololu lainnya. 0xAA, alamat device, command byte dengan M SB0, data byte
3.2.10 Modul Controller M odul controller
adalah
modul utama yang
digunakan
untukmengontrol seluruh proses yang dilakukan oleh mobile robot ini.Algoritma
dalam
bentuk
program
yang
telah
di-compile
dimasukkanke dalam memoricontroller. Controller yang digunakan adalah produk keluaran AtmelAVR ATM ega128, dengan 16 M IPS (Million Instruction Per Second).
55
Gambar 3.23ATMega128 ATM ega128
mempunyai
128Kbytes
memory
flash
yangdigunakan untuk menampung program. Controller ini memiliki jumlahpin I/O sebanyak 61 pin. Gambar 3.23 menunjukkan pinout A VR ATM ega128, terdiri dari 7 port I/O dimanaport G hanya terdiri dari 5 pin dan port lainnya terdiri dari 8 pin. Jumlahpin Input/Output ini tergolong banyak dibandingkan dengan seri ATM ega lainnya. Nilai tegangan VCC yang digunakan pada controller adalahsebesar 5 volt DC. Nilai osilator yang digunakan sebesar 16M Hz.Selain itu, AVR ATM ega128 menyediakan pin input ADC (Analog toDigital Converter), yang digunakan untuk memproses input analog darisensor. Input ADC
56
disediakan pada port F, sehingga terdapat 8 pin inputanalog yang dapat digunakan.
Gambar 3.24 Blok diagram ATMega128 Rangkaian
controller
menggunakan
sebuah
potensiometeruntukmengatur besarnya nilai tegangan referensi (VRE F)
57
untuk ADC (Analog toDigital Converter). Konsep ADC yang diterapkan pada ATM ega128adalah Successive Approximation Rate ADC (SAR). ADC ini dapat menghasilkanresolusi sampai dengan 10 bit. 3.2.11 Modul Display
Gambar 3.25 Modul LCD M odul display adalah modul yang digunakan untuk melakukan penampilan data – data dari sensor dan informasi penting yang dibutuhkan dalam perancangan. M odul display menggunakan LCD character 20 x 4. Dengan modul display ini dapat dilakukan debugging melalui data – data yang ditampilkan. Selain modul display, juga terdapat beberapa LED pada output beberapa sensor untuk membantu proses debugging dalam perancangan sistem. M odul LCD langsung dihubungkan ke controller dengan mode 4bit, dimana hanya 4 bit data yang dipakai. M odul display menggunakan rangkaian pendukung untuk LCD sebagai berikut :
58
Gambar 3.26 S kematik LCD Character 20x4
Rangkaian tambahan yang digunakan tersebut hanya untuk mengatur nilai kontras dan intensitas backlight LCD itu sendiri. Pengaturan ini dilakukan dengan menggunakan trimpot sebagai pembagi tegangan. Pin – pin yang terdapat pada LCD character 20 x 4 : Tabel 3.2 Konfigurasi pin LCD Character 20x4 Pin Simbol 1 2 3 4 5 6 14
Vss Vdd Vo RS R/W E DB0-7
15
A/VEE
16
K
Fungsi GND +5V Contrast Adjustment H/L Register Select Signal H/L Read/Write Signal H=>L Enable Signal H/L Data Bus Line + 4.2V for LED (RA = 0Ω) / Negative Voltage Output Power Supply for B/L (0V)
59
3.3
Perancangan Piranti Lunak 3.3.1
Depth First Search Algoritma yang digunakan mobile robot ini untuk menjelajahi track adalah algoritma Depth First Search (DFS). Algoritma DFS memodelkan track yang dijelajahi menjadi sebuah tree. Mobile robot akan memulai penjelajahannya dari titik yang sudah ditentukan, yang disebut home. Posisi home bisa merupakan salah satu dari keempat ruangan, atau pada satu titik di lorong. Ke-empat ruangan memiliki ukuran yang berbeda dan diberi label R1, R2, R3, dan R4 seperti pada gambar 3.26 di bawah. Berikut ini adalah bentuk track yang dijelajahi mobile robot. Setiap kali mobile robot menemukan percabangan, maka mobile robot akan membuat node pada pemodelan tree. Node yang dibuat akan disesuaikan dengan bentuk percabangan yang ditemui.
Gambar 3.27 Gambar denah track KRC I
60
Tabel 3.3 Tujuh jenis percabangan yang dikenal oleh mobile robot Tipe Percabangan
Sensor kiri
Sensor depan
Sensor kanan
1
0
0
0
2
1
0
0
3
0
0
1
4
1
1
0
5
0
1
1
6
1
0
1
7
1
1
1
Bentuk Percabangan
Cara robot membedakan node adalah dengan menggunakan tiga buah sensor jarak ultrasonik PING yang diletakkan masing-masing di kiri,
61
kanan, dan depan dari robot. Selama berjalan pada lorong, robot terus melakukan pengecekan pada sensor kiri dan kanan akan adanya jalan atau tidak. Jika salah satu sensor tersebut mendeteksi adanya jalan, robot akan melakukan pengecekan lebih lanjut untuk menentukan tipe node yang ditemui.
Gambar 3.28 Pemodelan tree dengan posisi home berada pada lorong.
Contoh pemodelan tree yang dihasilkan jikamobile robot memulai penjelajahan track dengan posisi home berada pada lorong. Kendala yang ditemui adalah terkadang data spike dari sensor PING menyebabkan robot mendeteksi adanya percabangan dan membuat node yang tidak seharusnya pada pemodelan tree yang ada.
Untuk
mengatasi masalah tersebut, penelitian ini menambahkan median
62
filteruntuk mengeliminasi data spike. Median filter akan dibahas lebih lanjut pada sub-bab berikutnya. Setelah mobile robot menentukan tipe percabangan mana yang ditemui, mobile robot akan melakukan aksi sesuai dengan yang telah ditentukan sebelumnya.
3.3.2
Median Filter Median filter digunakan ketika mobile robot berjalan di lorong dan sensor kiri atau kanan mendeteksi jarak jauh yang menandakan adanya percabangan jalur. Robot kemudian akan mengambil sembilan data dari masing-masing sensor untuk diurutkan. Median filter memilih nilai tengah dari data yang sudah diurutkan untuk dijadikan output.
Gambar 3.29 Ilustrasi kesalahan pembacaan sensor
Gambar 3.29diatas mengilustrasikan kondisi dimana sensor PING kanan robot salah mendeteksi jarak dan menganggap terjadi percabangan
63
pada jalur. Hal ini menyebabkan robot akan berbelok dan menambahkan node pada pemodelan tree. Dengan median filter, ketika mendeteksi adanya percabangan jalur robot akan berhenti dan sensor yang mendeteksi adanya percabangan mengambil sembilan data berturut-turut. M isal : Tabel 3.4 Contoh data acak 78
10
10
11
10
101 10
10
11
11
78
101
Tabel 3.5 Data hasil sorting 10
10
10
10
10
11
M edian dari data di atas adalah 10. M aka robot akan menganggap jarak yang benar adalah 10 dan percabangan tidak terjadi. Robot kemudian melanjutkan jalan lurus pada lorong.
Gambar 3.30 Ilustrasi pembacaan sensor yang benar
64
3.3.3
ModifiedLineMazeAlgorithm Pada penelitian sebelumnya, agar mobile robot dapat kembali ke posisi awal atau home, robot akan melalui jalan yang sama ketika robot menelusuri lorong. Inilah yang disebut dengan pergerakan turn back. Pergerakanturn back mengindikasikan rute yang diambil robot belum efisien. Oleh sebab itu, setiap pergerakan turn back pada ingatan robot, harus disubtitusi.
Tabel 3.6Aturan subtitusi yang dapat dipakai untuk mempersingkat rute SUS
U
LUL
S
SUL
R
RUS
L
SUR L
RUR
S
LUS
RUL
U
R
LUR U
65
Aturan-aturan tersebut akan menghasilkan rute terpendek dengan baik jika maze tidak memiliki loop. Karena track KRCI memiliki loop, maka dibuat aturan tambahan yang khusus disesuaikan dengan kombinasi pergerakan yang mungkin terjadi. Penelitian ini menggunakan algoritma Depth First Search untuk menjelajahan track
hingga menemukan
api.
Penjelajahan track
menggunakan aturan Depth First Search menghasilkan kemungkinan rute sebagai berikut pada loop.
Gambar 3.31 Ilustrasi penyingkatan rute Seperti yang terlihat pada Gambar 3.31, untuk mempersingkat rute, setiap pergerakan Left Left Left Left S traightdisubstitusi
66
denganRight Left. Demikian juga dengan S traight Right Right Right Rightdisubstitusi denganRight Left. S traight Left Left S traight Left S traight disubtitusi menjadi Right, dan S traight Right S traight Right Right S traight disubtitusi menjadi Left.
3.3.4
PID Programming PID Programming digunakan pada mobile robot agar pergerakan mobile robot lebih halus terhadap nilai datasensor jarak ke dinding track untuk menghasilkan nilai PWM bagi motor. Mobilerobot tanpa menggunakan PID programming, menyebabkan pergerakan mobile robot kasar terhadap perubahan data sensor jarak seperti ilustrasi pada gambar 3.32berikut :
Gambar 3.32 Pergerakan robot tanpa PID programming
Komponen yang mempengaruhi pergerakan robot dengan PID programming ini adalah nilai KP , KI dan KD. Nilai – nilai ini ditentukan secara manual dengan mencoba mobile robot terhadap kondisi track. Nilai – nilai tersebut adalah sebagai berikut :
67
•
KP = 0.01
•
KD = 0.001
•
KI = 0.01
Nilai KP , KI dan KD yang sesuai untuk mobilerobot, memperhalus pergerakan mobilerobot, seperti ilustrasi gambar 3.33.
Gambar 3.33 Pergerakan robot dengan PID programming
PID programming pada mobilerobot ini digunakan sepanjan g lorong pada track agar mobile robot dapat bergerak lurus dengan halus.
68
3.3.5
Flowchart dan Algoritma Sistem
\
Gambar 3.34 Flowchart mobile robot menjelajahi track
69
Gambar 3.34 merupakan flow chart dari mobile robot. Flow chart tersebut menggambarkan robot memulai penjelajahan track dari home sampai dengan menemukan lilin pada salah satu ruangan track, memadamkan api dari lilin tersebut, kemudian kembali lagi ke home. Pada awalnya, robot akan mengecek apakah posisinya berada di lorong atau di dalam ruangan dengan menggunakan bantuan tiga sensor jarak yang terpasang pada kiri, kanan dan depan dari robot. Apabila robot mendeteksi keberadaannya pada lorong, maka robot akan mulai menelusuri lorong. Dua sensor jarak pada kiri dan kanan robot akan membantu robot mengecek apakah terdapat percabangan atau tidak. Jika terdapat percabangan, maka robot akan berhenti dan melakukan pengecekan tipe percabangan. Setelah tipe percabangan telah ditentukan, maka robot dapat melakukan aksi dari tipe percabangan tersebut. Robot akan bergerak kembali dan diikuti dengan pengecekan garis. Jika tidak terdapat garis, maka robot akan kembali melakukan penelusuran track. Jika terdapat garis, maka robot telah memasuki pintu salah satu ruangan. Robot kemudian akan mengecek apakah status api sudah dipadamkan atau belum. Jika api belum dipadamkan, maka robot melakukan pengecekan api terhadap ruangan tersebut. Jika tidak terdapat api dalam ruangan, maka robot keluar dari ruangan, sedangkan jika terdapat api dalam ruangan, maka robot akan mendekati api tersebut dan mulai memadamkannya. Setelah api telah dipadamkan, robot akan mengupdate status api telah dipadamkan dan mengkalkulasi jarak terpendek
70
untuk kembali ke home. Kemudian robot akan keluar dari ruangan dan tidak melanjutkan penelusuran track, akan tetapi langsung kembali ke home.
Gambar 3.35 Flowchartpengecekan tipe percabangan
Gambar 3.35 merupakan gambar flowchart pengecekan tipe percabangan. Pada saat melakukan pengecekan tipe percabangan, yang dilakukan oleh robot adalah mengecek apakah titik tersebut pernah
71
dilalui, jika merupakan titik yang pernah dilalui, maka dilakukan pengecekan apakah titik tersebut masih terdapat jalur yang belum dilalui. Jika tidak, maka titik tersebut dihapus dan mengecek titik yang lain, sedangkan jika ya, maka dilakukan penelusuran jalur tersebut. Jika titik yang dicek merupakan titik baru, maka dilakukan penambahan titik pada robot. Titik yang bisa ditampung oleh robot dibatasi hanya 20. Jika lebih dari 20 maka robot akan mengirim pesan bahwa titik telah penuh. Jika titik masih di bawah 20, maka dilakukan pengecekan kemungkinan percabangan jalur dari titik tersebut dan melakukan aksi penelusuran dari salah satu jalur percabangan.
Gambar 3.36 Flowchart pendekatan dan pemadaman api
72
Gambar 3.36 merupakan flowchart pendekatan dan pemadaman api. Pada saat robot telah memasuki ruangan, robot memastikan terlebih dahulu api di ruangan dan mulai mencari posisi api. Mobile robot akan mendapatkan posisi api (posisi api yang didapat belum tentu tepat) apabila terdapat lilin di ruangan, maka mobile robot mulai bergerak mendekati letak api lilin tersebut. Letak dari api yang diketahui oleh mobile robot tidak selalu tepat, oleh karena itu pengecekan letak api dilakukan kembali pada saat robottelah berada dalam lingkaran api. Lingkaran api adalah lingkaran yang berwarna putih dimana lilin diletakkan tepat di tengah lingkaran tersebut Jika robot telah berada pada lingkaran putih yang ditandai dengan kedua sensor garis aktif dan mendeteksi lingkaran yaitu kondisi sensor garis depan dan sensor garis belakang aktif, maka mobile robot melakukan
penyesuaian
posisi
mobile
robot
untuk
melakukan
pemadaman api lilin yang ditemukan tersebut. Penyesuaian yang dilakukan mobile robot dibantu dengan sensor fotodiode untuk menentukan arah api lilin yang tepat dalam jarak dekat. Sensor fotodiode ini akan memberitahu mobile robot apabila arah api lilin sudah tepat dan menyalakan fan untuk memadamkan api lilin yang ditemukan tersebut. Fan akan dinyalakan selama 3 detik untuk memastikan api lilin telah padam.
73
Gambar 3.37 Flowchart keluar dari ruangan
Gambar 3.37 merupakan flowchart mobile robot keluar dari ruangan. Setelah mematikan api, robot mulai mencari jalan keluar dari ruangan. Robot mengikuti dinding dari ruangan hingga menemukan garis dari pintu ruangan yang menandakan bahwa robot telah mencapai pintu ruangan.
74
3.3.6
Rancangan Sistem Keseluruhan Pada integrasi sistem digambarkan keseluruhan sistem yang telah dirancang dan digabung menjadi satu kesatuan. Sistem yang dirancang dapat dilihat melalui blok diagram pada gambar 3.38 :
Gambar 3.38 Blok diagramsistem keseluruhan
Keterangan gambar 3.38 : •
Controller utama adalah ATM ega128.
•
Driver motor DC digunakan untuk mengendalikanmotorDCdengan menggunakan komunikasi serial UART.
75
•
Bumper sebagai input untuk controller utama.
•
Controller utama mengatur modul fan.
•
UVTron akan memberikan input kepada controller utama.
•
Datasensorfotodiode merupakan input bagi controller utama.
•
Sensor garis memberikan data ada tidaknya garis kepada controller utama.
•
PING Ultrasonik memberikan data jarak ke pada controller utama.
•
IR ranger memberikan data jarak dalam bentuk tegangan analog melalui input ADC controller utama.
•
Kompas memberikan informasi arah dan posisi untuk controller utama. Kompas memanfaatkan pin SDA dan SCL.
•
LCD character 20 x 4 digunakan untuk menampilkan informasi yang dibutuhkan. Penempatan posisi sensor jarak pada mobilerobot dapat dilihat
pada gambar 3.39 berikut :
Gambar 3.39 Gambaran bentuk robot
76
Keterangan gambar 3.39 layout penempatan modul pada mobile robot diberikan sebagai berikut : Keterangan ba gian mobile robot : •
A – M odul kompas, terletak di bagian atas belakang
•
B – M odul UVTron, terletak di bagian atas depan
•
C – M odul photodioda, terletak di bagian atas depan
•
D – Kontroller utama, terletak di bagian bawah tengah
•
E – M odul motor driver, terletak di bagian bawah belakang
•
F – M odul LCD, terletak di bagian atas tengah
•
G – M odul sensor garis, terletak di bagian bawah depan
•
H– M odul DIP switch, terletak di bagian bawah belakang
•
I – M odul push button, terletak di bagian atas sisi atasmobilerobot
•
J – Battery, terletak di dalam platformmobilerobot
•
K – Fan, terletak di bagian atas depan mobilerobot
•
L – Platform mobilerobot
•
SA – Sensor jarak pada mobilerobot.
77
Mobilerobot yang dirancang ditujukan terhadap track dengan spesifikasi dan dimensi seperti yang terlihat pada gambar 3.40 berikut :
Gambar 3.40 Dimensitrack Track pada gambar 3.40 di atas memperlihatkan empat ruangan yang berbeda ukuran. Lebar lorong sekitar 46 cm dan lebar pintu ruangan sama dengan lebar lorong yaitu 46 cm. Ruangan paling besar mempunyai ukuran 120 cm x 91 cm. Selain itu pada track terdapat lingkaran yang menandai tanda home atau titik mulai penjelajahan track oleh mobile robot. Diameter lingkaran mempunyai ukuran 30 cm yang berwarna putih seperti yang terlihat pada gambar 3.41:
78
Gambar 3.41 Lingkaran home Posisi lilin juga ditandai dengan lingkaran putih. Penanda lilin dapat berupa lingkaran berwarna putih dengan diameter 30 cm yang dapat diletakkan di titik mana saja di dalam ruangan atau dapat berupa juring setengah lingkaran dengan diameter 30 cm apabila posisi lilin menempel dengan dinding. Penanda lilin juga dapat berupa juring seperempat lingkaran apabila lilin terletak pada posisi pojok ruangan dengan ukuran jari-jari 15 cm. Penanda lilin dapat dilihat pada gambar 3.42 berikut :
Gambar 3.42 Lingkaranlilin
Tinggi lilin yang digunakan berkisar sekitar 15 cm yang posisinya dapat diacak.
79
Gambar 3.43 berikut adalah gambar bentuk rintangan yang dapat ditemui pada track :
Gambar 3.43Uneven floor