Prosiding SENTIA 2015 – Politeknik Negeri Malang
Volume 7 – ISSN: 2085-2347
PERGERAKAN ROBOT LENGAN BERBASIS PERINTAH SUARA MENGGUNAKAN MFCC DAN ANN Wahyu Muldayani1, Djoko Purwanto2, Tri Arief Sardjono 3 Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember Surabaya, Surabaya 60111 1
[email protected], 2
[email protected], 3
[email protected]
Abstrak Robot lengan menggunakan perintah suara adalah sebuah robot yang dapat digunakan untuk membantu pekerjaan manusia sehari-hari dengan menggunkan perintah suara. Robot ini diaterapkan sebagai pelayan untuk mengambil benda yang diinginkan. Penggenalan perintah suara diproses menggunakan metode MFCC (MelFrequency Cepstrum Coefficients) dan ANN (Artificial Neural Network). Metode Mel-Frequency Cepstrum Coefficients digunakan untuk membuat pola dari perintah suara. Sedangkan metode ANN digunakan untuk pengambil keputusan dari pola perintah suara yang dihasilkan. Hasil pengenalan perintah suara digunakan untuk mengerakan robot lengan. Robot lengan mampu mengenali perintah suara dengan error persen sebesar 10% . Kata kunci : ANN, MFCC, robot, suara.
yang dilakukan adalah pengenalan suara. Pengenalan suara terdapat beberapa tahapan yang harus dilakukan, yaitu akuisisi data suara, ektraksi ciri sinyal suara, dan pengenalan pola suara; Ramirez, et al (2005). Proses akuisisi sinyal suara yang diperoleh oleh microphone akan didigitalisasi oleh PC. Proses ekstraksi ciri dan pengenalan pola suara terdiri dari dua tahap, yaitu Mel-Frequency Cepstrum Coefficients (MFCC) dan ANN (Artificial Neural Network); Dash, et al (2012). MFCC digunakan untuk membuat pola dari perintah suara yang digunakan. Sedangkan metode ANN digunakan untuk pengambil keputusan dari pola perintah suara yang dihasilkan. Hasil pengenalan perintah suara digunakan untuk mengerakan robot lengan.
1.Pendahuluan Robot bukanlah sesuatu yang hanya kita jumpai di dunia animasi atau film saja. Robot sudah menjadi kenyataan pada sekarang ini. Robot diciptakan manusia pada umumnya digunakan untuk mempermudah pekerjaan manusia. Hasil survei United Nations (UN) menghasilkan kelompok robotika dibagi menjadi tiga besar kategori yaitu: robotika industri, robotika layanan profesional,dan robotika layanan pribadi; UN (2002). Selama beberapa tahun terakhir, konsep robot sosial interaktif telah diperkenalkan dan menjadi salah satu topik terkini dalam penelitian di bidang Interaksi Manusia-Robot; Bartneck, et al (2004). Interaksi Manusia -Robot memeiliki cara yang berbeda-beda. Interaksi secara kontak langsung; Olabi, et al (2010), manusia berinteraksi dengan robot dengan menekan tombol berupa keyboard atau joystick. Interaksi secara visual, robot berinteraksi dengan mengambil gambar atau keaadaan sekitar. Sebagai contoh robot yang digerakan dengan mengambil gambar dari gerakan tangan manusia; Qian, et al (2013). Interaksi manusia-robot dengan meng-gunakan suara, manusia dapat memerintahkan sebuah robot dengan menggunakan perintah suara; Ronando dan Irawan (2012). Suara manusia sering digunakan sebagai alat komunikasi antar manusia. Manusia dapat berinteraksi memberikan perintah dengan menggunakan perintah suara. Penelitian ini, robot lengan dibuat dengan kendali berupa perintah suara. Robot ini digunakan sebagai robot pelayan untuk membantu manusia dalam mengambil benda. Hal pertama
2.Metode 2.1 Robot Lengan Robot lengan merupakan robot yang memiliki lengan sperti halnya lengan manusia. robot lengan (arm robot) dibuat untuk berbagai keperluan dalam membantu pekerjaan manusia. Robot lengan memiliki bentuk lengan-lengan kaku yang terhubung secara seri dan memiliki sendi yang dapat bergerak berputar (rotasi) atau memanjang/memendek (translasi atau prismatik). Robot lengan yang digunakan pada penelitian ini terdiri dari 3 Degrees of Fredom (DOF). Satu gerak rotasi menggunakan motor servo digunakan untuk mengerakan robot berputar kanan dan kiri. A-46
Prosiding SENTIA 2015 – Politeknik Negeri Malang
Volume 7 – ISSN: 2085-2347
Sinyal suara direka selama 2 detik dengan fs sebesar 8000Hz. Sinyal suara yang telah direkam, kemudian ditampilakan dikomputer, seperti pada Gambar 3. Sinyal suara yang direkam kemudian dipotong untuk dideteksi bagian suara saja. Silence detection digunakan pada bagian ini. Potongan suara kata “Buka” dapat dilihat pada Gambar 4.
Dua gerak translasi menggunkan motor DC digunakan untuk menggerakan lengan robot maju, mundur, naik dan turun. Robot dilengkapi dengan gripper digunakan untuk mengambil benda. Kendali robot menggunakan arduino mega 2560 R3, sedangkan proses pengenalan perintah suara menggunkan komputer. Spesifikasi robot seperti pada Gambar 1.
Gambar 3. Sinyal Suara “Buka”
Gambar 1. Spesifikasi Robot
Gambar 4. Silence Detection Proses selanjutnya adalah menentukan jumlah frame dari sampel sinyal (nFrame).
4.1 Mel-Frequency Cepstrum Coefficients Mel-Frequency Cepstrum Coefficients atau yang dikenal dengan nama MFCC merupakan salah satu metode yang digunakan untuk menetukan pola suara. MFCC terdiri dari beberapa tahapan, seperti pada Gambar 2.
nFrame =
Panjang Sinyal Panjang Frame
(1)
Panjang frame yang digunakan sebesar 256. Aquired sinyal digunakan sebagai proses awal pengenalan pola suara berdasarkan jumlah frame dari sampel sinyal.
Gambar 5. Aquired Sinyal
Gambar 2. Tahapan MFCC
Tahap selanjutnya adalah hamming window atau yang sering disebut dengan windowing. Windowing
Sinyal suara terlebih dahulu direkam menggunakan mikropon yang ada pada komputer. A-47
Prosiding SENTIA 2015 – Politeknik Negeri Malang
digunakan sebagai bentuk jendela dengan mempertimbangkan blok atau kata berikutnya dalam fitur rantai pengolahan ekstraksi dan mengintegrasikan semua lini frekuensi yang paling dekat. Windowing direpresentasikan seperti yang ditunjukkan pada Persamaan 2. Y[n] = X(n)*W(n)
0 ≤𝑛 ≤𝑁−1
𝑊(𝑛) = 0.54 − 0.46 cos (
2𝜋𝑛 𝑁−1
)
Volume 7 – ISSN: 2085-2347
Untuk menghitung mels untuk f frekuensi dalam Hz, dapat menggunakan rumus persamaan . F (Mel ) =[2595 * log 10[1+ f /700] (4) Spektrum subjektif disimulasikan dengan menggunakan filter bank, satu filter untuk setiap komponen frekuensi mel yang diinginkan. Filter bank memiliki band segitiga respon frekuensi, dan jarak serta bandwidth ditentukan dengan interval frekuensi mel konstan.
(2) (3)
Dimana : Y[n] = Output sinyal X(n) = Input sinyal W(n) = Hamming window N = Jumlah sample tiap frame Hamming window sendiri dapat dicari dengan menggunakan persamaan 3. Gambar 6 merupakan contoh dari proses windowing. Gambar 8. Mel-Frequency Warping Dalam langkah terakhir ini, spektrum log mel dirubah kembali ke waktu. Hasilnya disebut Mel Frequency Cepstrum Coefisien (MFCC). Karena koefisien spektrum mel adalah bilangan real, maka perlu mengkonversikannya ke domain waktu menggunakan Discrete cosine transform (DCT). DCT dilakukan untuk mengubah koefisien mel kembali ke domain waktu. DCT dapat dilakukan dengan menggunakan persamaan 4. Gambar 6. Windowing
𝐾
1 𝜋 𝐶̃𝑛 = ∑(𝑙𝑜𝑔𝑆̃𝑘 )𝑐𝑜𝑠 [𝑛 (𝑘 − ) ], 2 𝐾
Fast Fourier Transform (FFT) digunakan untuk mengkonversi sinyal dari domain waktu ke domain frekuensi. FFT dapat mengetahui besarnya respon frekuensi setiap frame. FFT ditunjukan pada Gambar 7.
𝑘=1
𝑛 = 1, 2, … 𝐾
(5)
Dimana, 𝑆̃𝑘 , 𝐾 = 1, 2, … … . 𝐾 adalah output dari langkah terakhir
Gambar 7. FFT Range frequensi yang dihasilkan FFT spectrum terlalu lebar dan membuat sinyal suara tidak dapat mengikuti skalanya. Oleh karena itu, untuk setiap nada dengan frekuensi f, diukur dalam Hz, pitch subjektif diukur pada skala yang disebut "mel" skala. Skala mel frekuensi adalah frekuensi linier berada dibawah 1000 Hz dan logaritmik diatas 1000Hz.
Gambar 9. MFCC Gambar 9 merupakan MFCC yang dihasilkan dari sinyal suara “buka”. setiap sinyal suara akan menghasilkan pola MFCC yang berbeda-beda. Pola A-48
Prosiding SENTIA 2015 – Politeknik Negeri Malang
yang dihasilkan terdiri dari 19 sampel atau element setiap kata. Pola dari MFCC ini disimpan yang nantinya digunkan sebagai inputan dari NN.
Volume 7 – ISSN: 2085-2347
Maju Mundur Naik turun
2.3 Artificial Neural Network
00010000 00100000 01000000 10000000
Setiap kata memilki 19 sampel. Jumlah kata yang dilatih sebanyak 80 kata. Dua hiden layer digunakan pada topologi ini, terdiri dari 10 neuron pada hiden layer pertama dan 8 neuron pada hiden layer kedua. Output yang dihasilkan harus sesuai dengan target dengan Mean Squared Error (MSE) sebesar 0.001.
Artificial Neural Network atau yang sering disebut jaringan syaraf tiruan merupakan sebuah model matematik yang berupa kumpulan unit yang terhubung secara parallel yang bentuknya menyerupai jaringan saraf pada otak manusia (neural). ANN sering digunakan dalam bidang kecerdasan buatan. ANN melatih jaringan saraf untuk melakukan fungsi tertentu dengan menyesuaikan nilai-nilai dari koneksi (bobot) tiaptiap elemen. ANN terdiri dari input layer, hiden layer dan output layer. Dalam ANN input tertentu akan menyebabkan output target tertentu. Situasi demikian ditunjukkan pada Gambar 10. Jaringan disesuaikan berdasarkan perbandingan output dan target, sampai output jaringan sesuai dengan target.
3.HASIL Pengujian pengenalan suara dilakukan dengan memberikan inputan suara sesuai dengan gerak robot yang diinginkan. Setiap inputan suara memilki pola MFCC yang berbeda-beda. Namun untuk kata yang sama memilki pola MFCC yang mirip. Hasil setiap pola dari 8 kata yang diinputkan dapat dilihat pada grafik Gambar 11-19.
Gambar 10. Jaringan Syaraf Tiruan ANN dapat digunakan sebagai pembelajaran dari pola-pola MFCC yang dihasilkan untuk menentukan perintah selanjutnya. Pola-pola MFCC dilatih hingga otput yang dihasilkan sesuai dengan target yang diinginkan. Topologi ANN yang digunakan seperti pada Gambar 11.
Gambar 12. Pola MFCC Kata "Buka"
Gambar 11. Topologi ANN Input berupa nila dari MFCC dari tiap-tiap kata. Sedangkan ouput tediri dari 8 bit biner, seperti pada Tabel 1. Tabel 1, Input dan Output ANN Input (pola MFCC) Output (biner) Buka Tutup Putar Berhenti
Gambar 13. Pola MFCC Kata "Tutup"
00000001 00000010 00000100 00001000 A-49
Prosiding SENTIA 2015 – Politeknik Negeri Malang
Volume 7 – ISSN: 2085-2347
Gambar 18. Pola MFCC Kata "Naik"
Gambar 14. Pola MFCC Kata "Putar"
Gambar 19. Pola MFCC Kata "Turun" Pola MFCC dari setiap kata ini digunakan sebagai inputan untuk NN. Learning dilakukan dengan tingkat MSE sebesar 0.001. Performa dari NN dapat dilihat pada Gambar 16.
Gambar 15. Pola MFCC Kata "Berhenti"
Gambar 16. Pola MFCC Kata "Maju" Gambar 20. Performa NN Gambar menjelaskan bahwa output sesuai dengan target yang diingkin selama 34 epochi. Pengujian selajutnya dilakukan dengan memberikan inputan suara sebagai perintah suara untuk menggerakan robot lengan. Gambar 21(a) merupakan gerakan robot lengan ketika diberi perintah suara "tutup" dan Gambar 21(b) merupakan gerakan robot lengan ketika diberi perintah suara "buka".
Gambar 17. Pola MFCC Kata "Mundur" A-50
Prosiding SENTIA 2015 – Politeknik Negeri Malang
Control Engineering Practice, Vol. 18 hal. 471482. C. Bartneck, dan J. Forlizzi. (2004), A DesignCentered Framework for Social Human-Robot Interaction, in Proceedings of Ro-Man'2004, Kura-shiki., hal. 591-594. Elsen Ronando dan M. Isa Irawan. (2012), Pengenalan Ucapan Kata Sebagai Pengendali Gerakan Robot Lengan Secara Real-Time dengan Metode Linear Predictive Coding – Neuro Fuzzy, Jurnal Sainds dan Seni ITS, Vol. 1, No. 1, ISSN: 2301-928X. J.Ramírez., Segura, J.C., Benítez, C., de la Torre, A., dan Rubio, A. (2005a), An Effective Subband OSF-based VAD with Noise Reduction for Robust Speech Recognition, IEEE Transactions on Speech and Audio Processing, Vol. 13, No. 6, pp. 1119-1129. Kshamamayee Dash, Debananda Padhi, Bhoomika Panda, dan Prof. Sanghamitra Mohanty. (2012), Speaker Identification using Mel Frequency Cepstral Coefficient and BPNN, International Journal of Advanced Research in Computer Science and Software Engineering, Vol 2, ISSN: 2277 128X. Kun Qian, Jie Niu, dan Hong Yang. (2013), Developing a Gesture Based Remote HumanRobot Interaction System Using Kinec, International Journal of Smart Home, Vol. 7, No. 4. UN. (2002). United Nations and the International Federation of Robotics. Proceedings of the World Robotics, New York.
Gambar 21(a). Gerak Robot Ketika Perintah Suara Tutup dan Gambar 21(b). Gerak Robot Ketika Perintah Suara Buka. Tabel 2 merupakan hasil error persen yang didapatkan dari pengujian setiap kata perintah suara yang digunakan. Pengujian dilakukan sebanyak 20 kali dari setiap kata perintah suara yang digunakan. . Tabel 2, Error Persen Setiap Kata Perintah Suara Input (pola MFCC) Error % Buka Tutup Putar Berhenti Maju Mundur Naik turun
Volume 7 – ISSN: 2085-2347
5% 15% 15% 10% 15% 5% 10% 5%
Dari pengujian yang dilakukan sistem mampu mengenali perintah suara dengan error persen ratarata sebesar 10%. 4.Kesimpulan dan Saran MFCC dan NN mampu mengenali suara sehingga dapat digunakan sebagai sebuah perintah suara untuk menggerakan robot. Robot yang digunakan tidak dapat berpindah posisi sehingga posisi target sebatas dari lengan robot, diharapkan untuk kedapanya robot mampu berpindah posisi sehingga memilki jangkauan yang luas. Daftar Pustaka: Adel Olabi, Richard Bearee, Olivier Gibaru, dan Mohamed Damak. (2010 ), Feedrate planning for machining with industrial six-axis robots, A-51