BAB 2 LANDASAN TEORI
2.1
Robotika Istilah robot yang biasa terdengar umumnya mengandung pengertian suatu alat yang menyerupai manusia atau bahkan bertingkah laku seperti manusia, namun struktur tubuhnya tidak seperti manusia melainkan terbuat dari bahan logam [1][4]. Pada hakekatnya robot mengandung beberapa unsur-unsur pendukung : a.
Programable
b.
Automatic (otomatis)
c. Manipulator (perangkat manipulasi) d. Human like (mempunyai kemiripan dengan manusia) Dari unsur-unsur diatas jelaslah bahwa robot bukan hanya sekedar perkakas biasa, namun merupakan mesin khusus yang dapat dikontrol oleh manusia lewat suatu processor atau controller. Terdapat dua defenisi yang dapat diterima dikalangan industri mengenai robot, yaitu : a. Menurut RIA (Robotik Institute of Amerika) robot adalah “ Manipulator yang berfungsi jamak dan dapat diprogram ulang dan dirancang untuk mengangkut material, part, peralatan atau perangkat khusus melalui peubah pergerakan terprogram untuk melakukan tugas bervariasi”
6
7 b. Robot merupakan peralatan yang melakukan fungsi-fungsi yang biasa dilakukan oleh manusia, atau peralatan yang bekerja dengan kecerdasan yang mirip dengan kecerdasan manusia.
2.1.1 Klasifikasi Umum dari Robot Berdasarkan sifat mobilitasnya, robot dapat diklasifikasikan dalam dua bagian besar, yaitu: 1. Mobile Robot Kata mobile robot mempunyai arti bergerak, yang dimaksudkan adalah sistem robot tersebut mampu memindahkan dirinya sendiri dari posisi A ke posisi B, dimana kedua posisi tersebut berada pada jarak tertentu (keseluruhan badan robot berpindah tempat), bisa dikatakan bahwa robot tersebut bergerak dinamis. A. Operator Oriented Mobil robot dengan operator oriented adalah pengenalan gerakan dari robot yang membutuhkan seorang operator. Jadi seluruh gerakan robot untuk memindahkan tubuhnya tergantung dari instruksi yang diberikan oleh seorang operator. B. Self Running Mobil robot dengan Self Running adalah pengendalian gerakan dari robot yang berdasarkan program kemudi yang diberikan sehingga seolah-olah robot tersebut bergerak sendiri. Jenis ini tidak tergantung dari kemudi seorang operator dan juga biasanya ditempatkan beberapa jenis
8 sensor untuk mendeteksi situasi sekelilingnya (untuk mengenali medan jelajahnya). Sensor tersebut akan memberikan informasi kepada sistem robot, kemudian oleh perangkat prosessor atau controll informasi tersebut diolah, yang natinya dijadikan sebagai acuan dalam melakukan pergerakan selanjutnya. Self Runnning dapat dikategorikan lagi menjadi dua jika dilihat dari tingkat kecerdasan robot tersebut, yakni robot dengan kecerdasan buatan dan tanpa kecerdasan buatan. Robot dengan kecerdasan buatan memiliki maksud bahwa robot tersebut berkemampuan secara sendiri untuk merespon atau bereaksi didalam kondisi yang tidak ditentukan sebelumnya. Selanjutnya robot dengan tanpa kecerdasan buatan secara keseluruhan tergantung kepada intstruksi yang diberikan.
2. Non Mobile robot Kebalikan dari pengertian mobil robot, maka non robot memilki pengertian sistem robot yang tidak dapat memindahkan posisinya dari suatu tempat ketempat lain. Artinya robot tersebut hanya dapat menggerakkan tubuhnya saja, misalnya ini terjadi pada perangkat manipulator yaitu lengan robot, tangan kaki dan sebagainya. Atau dengan kata lain tubuh robot berada pada posisi yang tetap.
9 2.1.2
Lengan robot Lengan robot banyak digunakan pada industri, khususnya industri yang memerlukan ketepatan dan bekerja secara berulang – ulang. Dalam hal ini lengan robot pada sistem ini digunakan untuk mengambil dan memindahkan benda. Berat benda maksimal yang dapat diangkat adalah 130 Gram. Benda yang dapat diangkat diharuskan mempunyai 2 sisi yang rata sehingga dapat dijepit oleh grip pada lengan robot.
Gambar 2.1 Pergerakan lengan robot
10 Lengan robot yang digunakan memakai motor DC sebagai penggerak. Ada 5 motor DC yang digunakan untuk mengerakan lengan robot. Derajat kebebasan gerakan lengan robot dapat dilihat pada gambar 2.1 diatas.
2.1.3
Titik Berat Mobile Robot Titik Berat robot pada skripsi ini terletak diantara kedua roda dan kedua ball
bearing. Kestabilan robot dapat di jaga dengan memperhatikan agar daerah titik berat tidak terlalu mendekati poros roda dengan demikian keseimbangan robot dapat terjaga.
Gambar 2.2 Titik berat mobile robot
2.2
Bluetooth Bluetooth adalah standar spesifikasi industri dalam aplikasi wireless personal area network (PAN). Bluetooth juga dikenal dengan nama standar IEEE 802.15.1. Bluetooth menyediakan saluran untuk melakukan pertukaran informasi antar peralatan seperti telepon seluler, notebook, PC, printer, kamera digital dan video game console melalui saluran komunikasi radio frekuensi jarak
11 pendek bebas lisensi. Standar Bluetooth dikembangkan oleh Bluetooth special interest group [5]. Bluetooth pada alat ini bekerja sebagai pengganti kabel serial. Sehingga format data dan protokol yang digunakan adalah serial. Perbedaan hanya terletak pada fisiknya, yaitu bluetooth berkomunikasi secara nirkabel sedangkan sambungan serial biasa menggunakan kabel. Jadi bluetooth pada PC mensimulasikan port serial pada komputer untuk dapat berhubungan dengan modul bluetooth pada robot. Bluetooth adalah standar radio dan protokol komunikasi yang di desain untuk aplikasi yang memakai daya kecil, dengan jangkauan pendek. Bluetooth memungkinkan alat – alat ini berkomunikasi satu sama yang lain apabila berada pada jarak jangkauan. Bluetooth menggunakan komunikasi radio, sehingga komunikasi dapat dilakukan walaupun tidak dalam line of sight. Untuk menghubungkan antara PC dengan Mobile Robot digunakan komunikasi data dengan menggunakan Bluetooth secara serial. Untuk memungkinkan terjadinya komunikasi antara PC dengan Mobile Robot diperlukan Transmitter dan Receiver. Dalam hal ini mobile Robot yang dibuat menggunakan modul Bluetooth Tranceiver Blueradios. Bluetooth terbagi menjadi 3 kelas, pembagian kelas ini berdasar pada besar daya yang dipakai dan kekuatan sinyal yang dihasilkan.
12 Tabel 2.1 Kelas dalam bluetooth
Kelas
Maksimum daya yang diijinkan
Jangkauan
(mW/dBm)
(perkiraan)
Kelas 1
100 mW (20 dBm)
~100 meter
Kelas 2
2.5 mW (4 dBm)
~10 meter
Kelas 3
1 mW (0 dBm)
~1 meter
Gambar 2.3 USB bluetooth dongle
Setiap bluetooth akan mengirim informasi apabila dibutuhkan berupa:
Nama Alat
Kelas alat
Daftar servis
Informasi teknis, dapat berupa nama alat bluetooth, pembuat atau spesifikasi bluetooth.
Agar dapat berhubungan, bluetooth harus melakukan pairing dengan device yang akan di kontrol, dalam hal ini adalah modul bluetooth pada robot. Dalam melakukan pairing, nantinya pada bluetooth yang ada di komputer melakukan pairing dengan modul bluetooth yang ada di Robot melalui software
13 dari bluetooth komputer, saat melakukan pairing diharuskan mengisi passkey sebagai autentikasi. Passkey yang dipakai pada modul bluetooth adalah “default” tanpa tanda petik (Passkey dari datasheet modul bluetooth robot). Bluetooth beroperasi pada ISM (industrial, scientific and medical) band yang merupakan pita frekuensi yang bebas lisensi dan dapat digunakan bebas. Komunikasi berlangsung pada frekuensi 2,45 GHz (antara 2,402 GHz sampai 2,480 GHz lebih tepatnya). Karena frekuensi ini bebas digunakan, maka dapat saja terjadi interferensi atau gangguan dari alat lain yang juga menggunakan frekuensi 2,45 GHz untuk melakukan komunikasi. Tapi bluetooth menggunakan teknik yang dinamakan spread-spectrum frequency hopping yang berfungsi untuk mencegah dan mengatasi terjadinya interferensi pada komunikasi bluetooth. Pada teknik ini, bluetooth akan mengalokasikan 79 channel (tiap channel 1 MHz lebarnya) yang dipilih secara random dari antara 2,402 GHz sampai 2,480 GHz dan setiap detiknya komunikasi bluetooth antar device akan berpindah channel 1600 kali. Dengan adanya teknik ini, komunikasi antar bluetooth dapat berjalan dengan baik, dan walaupun bisa saja mempengaruhi device lain tapi gangguan hanya akan terjadi sepersekian detik dikarenakan adanya perpindahan channel komunikasi bluetooh 1600 kali per detik.
2.3
AVR ATMega8535 ATMega 8535 adalah mikrokontroler keluaran dari Atmel yang mempunyai arsitektur RISC yang dimana setiap instruksi akan dieksekusi hanya dengan menggunakan satu clock cycle sehingga proses eksekusi data lebih cepat daripada arsitektur CISC [9].
14 Mikrokontroler ini mempunyai beberapa fitur antara lain yaitu 130 instruksi, 32 register umum, Nonvolatile Program dan Data Memories yang dimana data akan dan program akan tersimpan walaupun tidak ada tegangan yang dialirkan ke mikrikontroler tersebut, 8-Kbyte Flash Memory yang dapat dihapus dan diprogram sampai 10.000 kali, 512-Byte EEPROM ( Electronic Erasable Programable Read Only Memory ) yang dapat ditulis dan dihapus sebanyak 100.000 kali, 512-Byte internal SRAM ( Static Random Access Memory), RTC dengan osilator terpisah, 4 jalur PWM, 10 bit ADC, 32 jalur input / output yang dapat diprogram yang dibagi menjadi 4 buah port yaitu port A, port B, port C dan port D. 2.3.1 Konfigurasi Pin AVR ATMega8535
Gambar 2.4 Konfigurasi Pin AVR ATMega 8535
15 Port A (PA7..PA0) memnpunyai fungsi sebagai 8-bit port I/O bidirectional yang jika digunakan sebagai input perlu diberi eksternal pull-down dan dapat juga digunakan sebagai Analog to Digital Converter ( ADC ). Port B (PB7..PB0) berfungsi sebagai 8-bit port I/O bi-directional dengan internal pull-up. Port B juga mempunyai beberapa fungsi lain. Fungsi-fungsi tersebut dapat dilihat pada Tabel 2.2. Tabel 2.2 Fungsi Lain Port B AVR ATMega 8535 Port Pin PB7 PB6 PB5
Fungsi Lain SCK (SPI Bus Serial Clock) MISO (SPI Bus Master Input/Slave Output) MOSI (SPI Bus Master output/Slave input)
PB4 PB3
SS (SPI Slave Select Input) AIN1 (Analog Comparator Negative Input) OC0 (Timer / Counter 0 output Compare Match Output) AIN0 (Analog Comparator Positive Input) INT2 (External interrupt 2 input) T1 (Timer / Counter1 External Counter Input) T0 (Timer / Counter0 External Counter Input) XCK (USART External Clock Input / Output)
PB2 PB1 PB0
Port C (PC7..PC0) berfungsi sebagai 8-bit port I/O bi-directional dengan internal pull-up dan jika digunakan sebagai input perlu diberi eksternal pulldown. Port D (PC7..PC0) berfungsi sebagai 8-bit port I/O bi-directional dengan internal pull-up. Port D juga mempunyai beberapa fungsi lain yang dapat dilihat pada tabel 2.3.
16 Tabel 2. 3 Fungsi Lain Port D AVR ATMega 8535 Port Pin PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0
Fungsi Lain OC2 (Timer / Counter2 Output Compare Match Output) ICP1 (Timer / Counter1 Input Capture Pin) OC1A (Timer / Counter1 Output Compare A Match Output) OC1B (Timer / Counter1 Output Compare B Match Output) INT1 (External Interrupt 1 Input) INT0 (External Interrupt 0 Input) TXD (USART Output Pin) RXD (USART Input Pin)
Pin reset berfungsi me-reset fungsi dari input dan mikrokontroller. Pin ini akan aktif jika diberi ground lebih dari panjang pulsa minimum (aktif LOW). 2.3.2
Struktur Arsitektur AVR ATMega8535
Gambar 2. 5 Arsitektur AVR ATMega8535
17 ATMega8535 memiliki bagian-bagian sebagai berikut: 1. Saluran I/O sebanyak 32 buah yang terpisah menjadi 4 bagian, yaitu Port A, Port B, Port C dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. Internal SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial.
2.3.3 UART Control register •
Bit7 (RXCIE) : RX Complete Interrupt Enable. Jika nilai bit ini diset 1 maka interrupt untuk menerima data telah selesai / komplit.
•
Bit6 (TXCIE) : TX Complete Interrupt Enable. Bit ini menandakan bahwa interrupt untuk mengirim data telah selesai.
•
Bit5 (UDRIE) : UART Data Register Empty Interrupt Enable. Ketika bernilai 1 dan UDRE bernilai 1 maka interrupt register data kosong akan dieksekusi.
18 •
Bit4 (RXEN) : Receiver Enable. UART dapat menerima data jika bit ini diset 1.
•
Bit3 (TXEN) : Transmit Enable. Bit ini digunakan untuk mengatur aktif tidaknya pengiriman data secara serial. Jika diset 1 maka UART dapat mengirim data, UART akan terus mengirim data selama masih ada karakter yang ada di UDR walaupun bit ini diset 0.
•
Bit2 (CHR9) : 9 bit Character. Ketika bit ini bernilai 1, maka mengirim dan menerima karakter dalam bentuk 9 bit disamping start bit dan stop bit.
•
Bit1 (RXB8) : Receive Data Bit 8. Ketika CHR9 diset 1, RXB8 akan menerima bit ke-9 dari data yang diterima.
•
Bit0 (TXB8) : Transmit Data Bit 8. Ketika CHR9 diset 1, maka TXB8 adalah bit ke-9 dari data yang dikirim.
Tabel 2. 4 UART Control Register 7 RXCIE 0
2.3.4
6 TXCIE 0
5 UDRIE 1
4 RXEN 0
3 TXEN 0
2 CHR9 0
1 RXB8 1
0
TXB8 0
UART Baud rate register Untuk mencari nilai dari baudrate yang digunakan adalah : BAUDRATE = Fck / (16*(UBRR+1)) Dengan : Fck adalah frekuensi clock, dan UBRR adalah register dalam UART BAUDRATE Register.
19 Tabel 2. 5 UART Baud Rate Register MSB 0
2.4
0
1
0
0
0
0
LSB 0
Komunikasi Serial Komunikasi serial adalah proses pengiriman data 1 bit pada satu saat secara berurutan [6]. Dalam komunikasi serial dikenal ada 2 mode komunikasi serial: 1.
Mode Sinkron Mode sinkron merupakan mode komunikasi yang pengiriman tiap bit data dilakukan dengan menggunakan sinkronisasi clock. Dalam mode ini pengiriman data harus disertai dengan clock pada saat transmitter mengirimkan data menuju ke receiver.
Gambar 2.6 Contoh cara pengiriman data dengan mode sinkron
2.
Mode Asinkron Adalah mode pengiriman tanpa memerlukan sinkronisasi clock. Transmitter harus memakai suatu standar tertentu (UART) dalam pengiriman data, Sehingga receiver dapat mengerti bahwa pengiriman data kapan terjadi dan kapan pengiriman data telah selesai.
20
Gambar 2.7 Contoh cara pengiriman data dengan mode asinkron
Mode komunikasi serial yang dipakai pada skripsi ini adalah mode asinkron. Bluetooth dalam hal ini melakukan emulasi terhadap port serial, sehingga seolah – olah bluetooth berfungsi layaknya komunikasi serial.
2.5
USB Gamepad Gamepad berfungsi sebagai alat input untuk melakukan pengontrolan terhadap robot. Gamepad dikoneksikan ke komputer melalui port usb. Untuk mengetahui adanya inputan melalui gamepad, digunakan Microsoft Windows API (application programming interface). API berfungsi sebagai jembatan antara driver hardware (dalam hal ini gamepad) dengan programmer. Sehingga programmer hanya perlu mengetahui bagaimana cara untuk mengambil inputan yang akan diberikan oleh user melalui gamepad ke PC. Caranya adalah dengan mengakses file “winmm.dll” yang disebut juga Windows Multimedia API. Ada 3 variabel penting bagi gamepad yang akan diambil dari “winmm.dll” yaitu variabel X, Y dan tombol [10].
21
L2
R2
L1
R1
1 9
10
4
2 3
11
12
Gambar 2.8 layout tombol dari gamepad
Adapun fungsi tombol pada gamepad dibagi atas 2 yaitu pergerakan mobile robot dan pergerakan lengan robot: 1. Pergerakan mobile robot •
Tombol arah atas = untuk menggerakan mobile robot maju.
•
Tombol arah bawah = untuk menggerakan mobile robot mundur.
•
Tombol arah kanan = untuk melakukan gerakan berputar ke arah kanan dengan cara roda kanan diam sedangkan roda kiri berputar maju.
•
Tombol arah kiri = untuk melakukan gerakan berputar ke arah kiri dengan cara roda kiri diam sedangkan roda kanan berputar maju.
•
Tombol 9 = untuk melakukan gerakan berputar di tempat ke arah kiri.
•
Tombol 10 = untuk melakukan gerakan berputar di tempat ke arah kanan.
22
Gambar 2.9 layout pergerakan dari lengan robot
2. Pergerakan lengan robot •
Tombol 1 = untuk menggerakan joint P1 berputar ke arah kanan.
•
Tombol 1 + L1 = untuk menggerakan joint P1 berputar ke arah kiri.
•
Tombol 2 = untuk menggerakan joint P2 ke arah atas.
•
Tombol 2 + L1 = untuk menggerakan joint P2 ke arah bawah.
•
Tombol 3 = untuk menggerakan joint P3 ke arah atas.
•
Tombol 3 + L1 = untuk menggerakan joint P3 ke arah bawah.
•
Tombol 4 = untuk menggerakan joint P4 berputar ke arah kanan.
•
Tombol 4 + L1 = untuk menggerakan joint P4 berputar ke arah kiri.
23
2.6
•
Tombol R1 = untuk menutup grip.
•
Tombol R2 = untuk membuka grip.
Kamera CCTV Adalah video kamera yang berfungsi mengirimkan gambar pada suatu alat yang spesifik (video receiver) [2] [7]. Hal ini berbeda dengan siaran televisi yang disiarkan secara broadcast. Pengiriman video pada cctv biasanya digunakan sebagai alat bantu untuk mengawasi suatu tempat karena alasan keamanan misalnya pada bank. Atau sebagai alat bantu penglihatan manusia secara nirkabel. Skripsi ini menggunakan kamera CCTV yang memiliki spesifikasi sebagai berikut: •
PAL resolusi 628 x 582
•
Picture area PAL 5,78 x 4,199 mm
•
Horizontal definition 380 line
•
Scan frequency PAL 50 Hz
•
Voltage DC 9V Kamera ini dipakai untuk mengetahui keadaan area pada bagian depan
dari robot.
2.7
Motor Motor adalah suatu perangkat yang dapat mengubah energi listrik menjadi gerakan rotasi [8]. Hal ini merupakan kebalikan dari dinamo yang
24 merubah gerakan rotasi menjadi energi listrik. Motor terbagi atas 2 yaitu motor DC dan motor AC. Perbedaannya terletak pada sumber tegangan yang dipakai.
2.7.1 Motor DC Motor DC adalah motor yang menggunakan aliran arus searah dalam operasinya. Motor jenis ini banyak digunakan pada aplikasi yang mobile. Salah satu contoh penggunaan motor DC adalah pada mobile robot. Pergerakan dari motor DC terjadi karena adanya kumparan yang bersifat magnetik ketika diberi tegangan, dan karena dipengaruhi oleh medan magnetik aktif yang mengelilingi kumparan tersebut maka kumparan yang tadinya bersifat magnetik akan melakukan gerakan memutar. Gerakan inilah yang membuat motor tersebut berputar. Pada umumnya motor DC yang telah ada adalah motor yang memiliki 2 atau lebih bidang magnet permanen sebagai stator dan gulungan pada kutub elektroda yang terdapat di sikat permanen yang bermagnet yang disebut dinamo sebagai rotor. Keuntungan menggunakan motor DC yaitu dapat berputar searah dengan jarum jam dan berlawanan dengan jarum jam, arah pergerakkan motor DC dapat dirubah dengan membalikkan kutub pada catu daya yang diberikan pada motor DC. Misalnya hubungan baterei dengan motor tersebut, maka motor akan berputar searah jarum jam, sedangkan pada saat kutub dari baterei di balik, maka motor akan berputar berlawanan dengan arah jarum jam.
25 2.7.2
Motor Servo Servo adalah sebuah alat kecil yang mempunyai keluaran output berupa rotasi shaft/silinder dengan feedback device yang digunakan dalam closed loop system. Shaft ini dapat diposisikan dalam derajat tertentu dengan mengirimkan sebuah sinyal pulsa ke servo. Dalam prakteknya, banyak digunakan untuk berbagai model radio control. Berbeda dengan servo yang banyak digunakan pada robot, servo yang digunakan pada model radio kontrol memiliki rotasi terbatas, seperti 180o atau kurang, bisa juga lebih. Servo sangat berguna dalam robotik. Motor servo berukuran kecil, seperti yang terlihat pada gambar dibawah, dirancang dalam circuit control, dan mempunyai tenaga yang cukup besar untuk ukurannya. Servo standar seperti Futaba S-148 mempunyai 42 oz/inc per torsi. Servo motor dikontrol dengan mengirimkan pulsa pada servo dengan lebar pulsa tertentu. Servo merupakan perangkat aktif, yang artinya ketika servo diperintahkan untuk bergerak, servo akan mempertahankan posisinya secara aktif, walaupun ada gaya eksternal yang memaksanya untuk berpindah dari posisi tersebut.