bab iii perangkat pengujian - · pdf filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa...

13
20 Bab III Perangkat Pengujian Persoalan utama dalam tugas akhir ini adalah bagaimana mengimplementasikan metode pengukuran jarak menggunakan pengolahan citra tunggal dengan bantuan laser pointer dalam suatu perangkat pengukuran, untuk kemudian membandingkan hasil pengukurannya dengan alat ukur yang lebih terpercaya. Oleh karena itu perlu dirancang dan dibuat suatu perangkat pengujian yang dapat menjalankan fungsi pengukuran dan pengujian tersebut. Sebagaimana telah disebutkan pada bab sebelumnya, alat ukur pembanding pada tugas akhir ini adalah suatu laser distance sensor yang sekaligus berperan sebagai laser pointer. Perangkat yang akan dibahas dalam bab ini terdiri dari dua bagian, yaitu perangkat keras (hardware) dan perangkat lunak (software). 3.1 Perangkat Keras Gambar 3.1 Diagram aliran informasi dan perintah pada perangkat keras Pada teknik pengukuran jarak melalui pengolahan citra dengan bantuan laser pointer, komputer adalah tempat semua data bermuara untuk diterjemahkan

Upload: vuhanh

Post on 07-Feb-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

20

Bab III

Perangkat Pengujian

Persoalan utama dalam tugas akhir ini adalah bagaimana

mengimplementasikan metode pengukuran jarak menggunakan pengolahan citra

tunggal dengan bantuan laser pointer dalam suatu perangkat pengukuran, untuk

kemudian membandingkan hasil pengukurannya dengan alat ukur yang lebih

terpercaya. Oleh karena itu perlu dirancang dan dibuat suatu perangkat pengujian

yang dapat menjalankan fungsi pengukuran dan pengujian tersebut. Sebagaimana

telah disebutkan pada bab sebelumnya, alat ukur pembanding pada tugas akhir ini

adalah suatu laser distance sensor yang sekaligus berperan sebagai laser pointer.

Perangkat yang akan dibahas dalam bab ini terdiri dari dua bagian, yaitu

perangkat keras (hardware) dan perangkat lunak (software).

3.1 Perangkat Keras

Gambar 3.1 Diagram aliran informasi dan perintah pada perangkat keras

Pada teknik pengukuran jarak melalui pengolahan citra dengan bantuan

laser pointer, komputer adalah tempat semua data bermuara untuk diterjemahkan

Page 2: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

21

menjadi jarak. Pada komputer inilah nantinya akan ditampilkan angka jarak hasil

pembacaan. Sesuai dasar teori pada bab sebelumnya, diperlukan dua buah

informasi agar jarak dapat terbaca. Kedua informasi tersebut yaitu berupa citra

dan besar sudut kemiringan laser pointer terhadap sumbu yang sejajar dengan

sumbu fokus kamera.

Informasi citra bisa didapat dari kamera setelah melalui proses digitizing

yang dilakukan oleh TV tuner internal yang ada di dalam komputer. Dalam hal ini

TV tuner internal bekerja sebagai frame grabber, yaitu dengan mengambil data

gambar analog dari komputer dan mengkonversinya menjadi frame-frame gambar

digital yang bisa diolah oleh komputer.

Informasi sudut bisa didapat dari rotary encoder. Namun, untuk sampai ke

komputer, sinyal dari encoder perlu diubah dulu bentuknya melalui suatu

controller board yang berisi mikrokontroller beserta kelengkapannya. Hal ini

disebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah

diterangkan pada bab dua. Pulsa-pulsa ini akan diubah menjadi data hitungan

sehigga lebih mudah untuk diterima komputer melalui jalur komunikasi USART

(Universal Synchronous/Asynchronuous Receiver/Transmitter) dengan

mikrokontroller.

Selain menerima informasi-informasi tersebut, komputer juga perlu untuk

bisa memberi perintah untuk bergerak ke posisi angular tertentu kepada laser

pointer. Hal ini bisa dicapai apabila komputer bisa memberikan perintah sudut

kepada motor servo. Perintah PWM untuk motor servo bisa diimplementasikan

dengan lebih mudah bila melalui mikrokontroller. Oleh karena itu melalui

USART juga akan dikirimkan perintah sudut dari komputer ke mikrokontroller

untuk selanjutnya perintah tersebut diterjemahkan menjadi perintah PWM ke

motor servo.

Pada gambar 3.1 dapat dilihat diagram aliran informasi dan perintah yang

akan diimplementasikan pada perangkat pengujian. Dari gambar dan keterangan-

keterangan sebelumnya juga bisa disimpulkan bahwa agar sistem dapat berjalan,

maka laser pointer, motor servo, dan rotary encoder harus berada dalam satu

sumbu poros.

Page 3: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

22

3.1.1 Perangkat Mekanik

Perangkat mekanik dirancang sebagai tempat kamera dan laser pointer

terpasang dengan jarak yang tidak berubah. Selain itu perangkat ini juga harus

dapat memungkinkan untuk mengubah-ubah posisi angular laser pointer sambil

membaca nilai posisi angular laser pointer tersebut. Frame perangkat mekanik ini

sebagian besar berbahan aluminium dural karena pertimbangan kemudahan dalam

proses pemesinan. Bagian atas yang juga merupakan tempat terpasangnya kamera

menggunakan bahan akrilik transparan agar nilai pembacaan dari laser distance

sensor yang ditampilkan di bagian atas alat tersebut dapat terbaca. Kamera yang

digunakan adalah kamera CCTV TelView MM247. Motor servo yang digunakan

adalah Hitec HS322-HD. Rotary encoder menggunakan Autonics E40H6-1024-3-

2-24. Sedangkan laser distance sensor yang digunakan adalah IFM O1D100.

Spesifikasi teknis semua komponen tersebut dapat dilihat pada lampiran.

Gambar 3.2 Rancangan tiga dimensi perangkat mekanik

Page 4: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

23

Gambar 3.3 Perangkat mekanik yang telah dibuat

3.1.2 Controller Board

Controller board yang digunakan dalam tugas akhir ini adalah M.B.7.2

buatan MAX-TRON. Controller board ini menggunakan mikrokontroller Atmel

ATMega8535 dan dilengkapi dengan fasilitas sambungan-sambungan untuk

input-output, servo, dan juga komunikasi USART. Fasilitas mikrokontroller yang

digunakan dalam tugas akhir ini adalah pin RXD dan TXD untuk sambungan

USART, pin PD2 untuk input PWM servo, serta pin PD3 dan PD4 untuk

sambungan ke output dari rotary encoder. Sambungan ke output rotary encoder

ini salah satunya harus pin yang mempunyai fasilitas interrupt karena akan

digunakan untuk mendeteksi perubahan pulsa.

Page 5: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

24

Gambar 3.4 Controller board yang digunakan

3.2 Perangkat Lunak

Perangkat lunak yang digunakan untuk membuat tugas akhir ini adalah

sebagai berikut:

1. Borland C++ Builder 6

Program ini digunakan untuk membuat program aplikasi di

komputer yang dapat mengambil data untuk mengukur jarak dan sekaligus

menjadi antarmuka (interface) dengan operator. Keunggulan dari program

ini adalah kemudahannya dalam memulai membuat program karena

menyediakan Visual Component Library (VCL). Selanjutnya program

dapat dibuat berdasarkan event-event yang terjadi pada tiap komponen

visual yang telah kita pilih untuk digunakan.

2. OpenCV 1.0

OpenCV adalah library yang menyediakan perintah-perintah

pemrosesan yang umum digunakan dalam bidang computer vision.

Penggunaan library ini sangat membantu karena mempermudah dan

mempercepat pembuatan program.

Page 6: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

25

3. Video Capture

Video Capture yang dimaksud adalah bagian dari Microsoft

DirectX 8.1 Standard Development Kit, yang merupakan contoh program

yang dibuat dengan C++ menggunakan fasilitas DirectShow. Program ini

diperlukan untuk mengeset format citra yang ditangkap oleh kamera. Hal

ini dikarenakan dalam prakteknya, dengan konfigurasi perangkat keras

yang ada, format video yang akan tertangkap baik dan mudah untuk diolah

adalah format PAL. Komputer tidak selalu secara default membaca video

dalam format ini sehingga diperlukan pengesetan terlebih dahulu tiap kali

akan memulai menggunakan program yang telah dibuat.

4. Codevision CVAVR

Berbeda dengan semua perangkat lunak sebelumnya yang berandil untuk

membuat antarmuka, program ini berguna untuk memprogram

mikrokonroller pada controller board sehingga mikrokontroller bisa

berfungsi sesuai yang diinginkan. Dengan program ini kita bisa membuat

perintah-perintah dalam bahasa C++ untuk diprogramkan pada

mikrokontroller. Pemilihan program ini juga bersesuaian dengan

mikrokontroller yang digunakan, yaitu mikrokontroller dari ATMEL.

Sebagai catatan penting, perlu diperhatikan bahwa program buatan

Borland C++Builder sebenarnya tidak bisa terkoneksi dengan DirectX. Keduanya

bisa disambungkan dengan mengikutsertakan suatu file khusus berformat .dll yang

telah dibuat pada penelitian sebelumnya.

3.2.1 Proses Penghitungan Jarak Melalui Pengolahan Citra

Untuk mempermudah pembahasan mengenai proses penghitungan jarak

melalui pengolahan citra, akan digunakan Data Flow Diagram (DFD) sebagai

ilustrasi. Seperti sudah pernah dijelaskan sebelumnya, sistem pengolahan citra

dalam tugas akhir ini menghasilkan informasi jarak dari data citra dan sudut

kemiringan laser pointer. Sesuai dengan itu, DFD level 0 pada gambar 3.5

memodelkan bahwa sistem berantarmuka dengan tiga external entity, yaitu TV

tuner, controller board, dan operator. Sistem mendapatkan data video yang sudah

berformat digital dari TV tuner, dan mendapatkan data hitungan pulsa rotary

Page 7: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

26

encoder dari controller board, untuk kemudian mengolahnya menjadi jarak

kamera ke titik laser yang akan dibaca oleh operator.

Gambar 3.5 DFD level 0 sistem pengolahan citra

Page 8: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

27

Gambar 3.6 DFD level 1 sistem pengolahan citra

DFD level 0 ini dapat dijabarkan lagi menjadi proses-proses pada DFD

level 1 seperti yang terlihat pada gambar 3.6. Tahapan dari pengolahan data

adalah sebagai berikut. Pertama-tama sistem mengambil memori dari tiap-tiap

frame video sehingga setiap saat didapat citra dalam format RGB. Selanjutnya

sistem men-threshold citra RGB tersebut sehingga didapatkan citra biner. Pada

citra biner tersebut hanya akan terdapat dua warna, yaitu warna putih yang

merepresentasikan titik laser, dan warna hitam yang mewakili semua yang bukan

merupakan titik laser. Selanjutnya sistem akan mencari jarak vertikal titik laser

dari titik tengah citra. Jarak tersebut akan terbaca dalam satuan pixel. Setelah

mendapatkan jarak bersatuan pixel tersebut, dengan juga menggunakan data

hitungan pulsa dari rotary encoder, sistem akan menghitung jarak dari kamera ke

Page 9: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

28

titik laser menggunakan suatu rumus. Rumus ini akan didapat dari hasil kalibrasi

yang akan diterangkan pada bab selanjutnya berdasarkan dasar teori yang sudah

dijabarkan pada bab dua.

Proses kedua yang terdapat pada DFD level 1 dapat diterangkan lebih

lanjut dengan DFD level 2 yang ada pada gambar 3.7.

Gambar 3.7 DFD level 2 sistem pengolahan citra untuk proses nomor 2

Proses thresholding yang dimaksud sebenarnya terdiri dari dua tahap.

Tahapan pertama adalah mengambil data citra pada kanal warna merah. Seperti

yang telah dijelaskan pada bab sebelumnya, citra RGB mempunyai tiga kanal

warna, yaitu kanal merah, kanal hijau dan kanal biru. Kanal merah diambil karena

titik laser mempunyai warna merah yang spesifik. Operasi ini akan menghasilkan

suatu citra grayscale yang nilai-nilai intensitas pada tiap pixelnya menyatakan

tingkat kemerahan. Dalam pemrograman operasi pengambilan data kanal merah

ini dapat dilakukan dengan perintah OpenCV “cvCvtPixToPlane”.

Tahapan selanjutnya adalah melakukan thresholding dengan batas ambang

254. Citra yang diproses dalam tugas akhir ini mempunyai kedalaman warna 8 bit.

Oleh karena itu pada citra grayscale nilai intensitas akan berkisar diantara 0

sampai 255. Dari percobaan diketahui bahwa nilai merah titik laser pada citra

biasanya selalu 255. Maka dari itu dilakukan proses thresholding dengan

mengkonversi intensitas 255 pada citra menjadi 1 (putih), dan mengkonversi

semua nilai intensitas selain itu menjadi 0 (hitam). Proses ini dengan

mennggunakan OpenCV dapat dilakukan dengan perintah “cvThreshold”. Metode

thresholding yang dipilih adalah “CV_THRESH_BINARY”.

Proses ketiga merupakan suatu proses feature detection. Proses ini

dilaksanakan dengan cara men-scan citra untuk mencari posisi titik laser. Titik

laser pada citra akan terbaca sebagai suatu area. Scanning akan dilakukan untuk

tiap-tiap koordinat x tertentu seperti diilustrasikan pada gambar 3.8. Pada ilustrasi

Page 10: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

29

tersebut lebar citra adalah 8 pixel. Ketika berada di koordinat x = 4, dengan

scanning pada arah sesuai tanda panah, akan terbaca bahwa pixel putih berada

pada y = 3, y = 4, dan y = 5. Program akan menjumlahkan angka-angka tersebut

dan membaginya dengan jumlah pixel putih yang ditemukan yaitu 3. Sehingga

ditemukan bahwa pada garis x = 4 titik berat ada di y = 4. Proses ini akan

berulang untuk setiap garis dengan nilai x tertentu. Hasil titik berat y di semua

titik akan dijumlahkan dan hasilnya dibagi dengan jumlah garis yang memiliki

pixel putih didalamnya sehingga ditemukan titik berat y pixel putih secara

keseluruhan.

Gambar 3.8 Ilustrasi scanning pixel putih untuk tiap garis

Dengan teknik scanning seperti di atas, maka akan didapat jarak dari titik

terbawah citra. Untuk mendapatkan jarak dari kamera ke titik laser, dibutuhkan

data jarak vertikal pixel dari titik tengah citra. Pada tugas akhir ini citra yang

diproses berukuran 320x240. Untuk itu, karena lebar citra adalah 240, maka hasil

pembacaan titik berat y pixel putih harus dikurangkan dengan 120.

Gambar 3.9 DFD level 2 sistem pengolahan citra untuk proses nomor 3

Page 11: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

30

Proses selanjutnya pada dasarnya adalah menghitung dengan

menggunakan persamaan 2.9 yang sudah diterangkan pada bab dua. Dengan,

konfigurasi alat pengujian yang ada, persamaan tersebut menjadi:

TanCp

TZ

...(3.1)

Dimana tanda positif pada Tan terjadi karena sesungguhnya alat pengujian yang

dibuat hanya akan menghasilkan sudut yang negatif bila dilihat dari konvensi

vektor yang dilakukan selama mencari persamaan 2.9.

Karena input yang didapat dari controller board berupa hitungan pulsa,

maka sebelumnya hitungan pulsa tersebut harus dikonversi menjadi besar sudut.

Apabila hitungan pulsa adalah b, dan encoder mempunyai pulsa sebanyak 1024

dalam satu putaran, maka sudut dapat dicari melalui persamaan:

3601024

b ...(3.2)

Gambar 3.10 DFD level 2 sistem pengolahan citra untuk proses nomor 4

3.2.2 Program Aplikasi Pengukur Jarak

Program yang telah dibuat memiliki tampilan seperti pada gambar berikut.

Page 12: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

31

Gambar 3.11 Tampilan aplikasi pengukur jarak

Dari gambar dapat dilihat bahwa program mempunyai panel-panel yang

pada gambar ditandai dengan angka-angka berwarna kuning. Deskripsi dari

masing-masing panel, dengan mengikuti penomoran, adalah sebagai berikut:

1. Panel ini memperlihatkan citra RGB yang ditangkap oleh kamera.

2. Pada panel ini diperlihatkan citra biner hasil operasi thresholding, adanya

panel ini bersama dengan panel pertama memungkinkan operator untuk

mengecek apakah program mendeteksi titik laser atau terjadi kesalahan

dimana yang terdeteksi bukan titik laser yang dimaksud.

3. Panel ini digunakan untuk menyambungkan koneksi USART dengan

controller board. Panel ini sekaligus juga menampilkan data sudut laser

yang terbaca oleh rotary encoder.

4. Panel ini menampilkan jarak vertikal titik laser dari titik tengah citra dalam

satuan pixel.

5. Panel ini menampilkan jarak dari kamera ke titik laser yang terukur

melalui metode pengukuran jarak menggunakan pengolahan citra.

Page 13: Bab III Perangkat Pengujian - · PDF filedisebabkan sinyal dari encoder berbentuk pulsa-pulsa A dan B, seperti yang telah diterangkan pada bab dua. ... Rumus ini akan didapat dari

32

6. Panel ini digunakan untuk membandingkan hasil pengukuran melalui

pengolahan citra dengan yang dihasilkan oleh laser distance sensor. Panel

ini dibuat karena hasil dari laser distance sensor sebenarnya adalah jarak

secara diagonal. Dengan memasukkan angka hasil pengukuran ke isian

pada panel ini dan menekan tombol “Calculate”, maka akan dihasilkan

angka hasil pengukuran melalui laser distance sensor yang sebenarnya.

7. Panel ini digunakan untuk memberi perintah posisi sudut kepada motor

servo. Posisi sudut yang dicapai nantinya akan terbaca melalui panel

ketiga yang telah diterangkan sebelumnya.

Untuk dapat menjalankan program ini dibutuhkan langkah-langkah

sebagai berikut:

1. Memastikan semua sambungan antara komputer, kamera, dan controller

board telah terhubung.

2. Menyalakan sambungan power kamera, laser pointer, dan controller

board. Jika ketika controller board dinyalakan terjadi gerakan pada laser

pointer, maka controller board harus di-reset kembali. Ini karena jika

demikian halnya maka rotary encoder sudah mulai menghitung perubahan

sudut, sedangkan perangkat sebelumnya telah diset agar pada saat pertama

kali dinyalakan laser pointer menghadap lurus ke depan, dengan kata lain

sudut kemiringannya nol derajat.

3. Membuka program Video Capture, dan mengeset agar dapat ditampilkan

gambar hasil tangkapan kamera yang berformat PAL, kemudian menutup

lagi program tersebut.

4. Menyalakan program aplikasi pengukur jarak (Cyclops).

5. Memilih serial port yang akan digunakan, dan menekan tombol “Connect

UART”.