Thursday, March 31, 2016

ROBOT HUMANOID PENARI TARIAN DAERAH INDONESIA
TARI LEGONG KERATON



Sekarang nih bener bener era robot. Ke sana ketemu robot ke sini ketemu robot. Di mana mana ada robot. Ga heran sih yaa, emang udah masanya. Ternyata eh ternyata era robot ini merambah sampai pada tarian. Yaa jadi yang bisa nge-dance ga cuma manusia nih. Robot juga bisa. Robot apa itu??? Check it out!

1. PENDAHULUAN

Robot humanoid yang dirancang adalah sebuah robot penari yang dapat menarikan tarian tradisional Indonesia. Agar dapat melakukan tarian, robot ini membutuhkan input dan pada akhirnya memberikan output. Input yang diberikan adalah lagu pengiring tarian dan citra lapangan. Setelah robot mendeteksi terdapat sebuah lagu pengiring, maka bagian pengolah data robot akan menggerakkan joint-joint pada platform robot agar dapat melakukan tarian pada suatu lapangan tari yang mempunyai beberapa zona lapangan yang terdiri dari zona yang harus dihindari atau zona larang dan zona akhir yang harus dituju dengan cara mendeteksi warna lapangan tersebut. Pergerakan joint-joint robot merupakan output yang diharapkan sehingga robot dapat melakukan sebuah tarian.
Secara umum, fungsi utama dari robot ini adalah menarikan tarian daerah tradisional Indonesia pada suatu arena tari. Tarian dilakukan secara otomatis oleh robot tanpa terhubung dengan mesin lain. Untuk dapat melakukan fungsi utama tersebut, robot dilengkapi dengan beberapa fungsi pendukung.
Untuk dapat menari dengan indah, robot harus melakukan gerakan tarian yang selaras dengan lagu pengiring. Robot yang dirancang dapat mendeteksi lagu pengiring tarian dan mengolah lagu tersebut menjadi sinyal digital yang dapat diolah oleh pengolah data robot. mengolah data pada robot tersebutlah yang akan memerintahkan robot untuk melakukan tarian.
Selain itu, robot juga dapat bergerak menuju base akhir dari lapangan tari. Lapangan tari terdiri dari beberapa warna berbeda yang menandakan zona tari. Oleh karena itu dibutuhkan kemampuan untku mendeteksi warna. Sehingga pada lapangan dengan warna zona yang berbeda, robot akan menghindari zona larang dan menuju zona base akhir dan pada masing-masing zona akan menari gerakan tarian yang berbeda pula.

Secara umum, robot penari yang akan dirancang memiliki spesifikasi sebagai berikut :

Parameter
Ketentuan
Tarian
Tari Legong Kraton

Derajat Kebebasan
22

Sudut Perputaran Maksimal
 dan

Bidang Pergerakan
Frontal, Sagittal, Transversal

Tinggi

Format Deteksi Warna
RGB

Format Deteksi Suara
Frekuensi (20 Hz–20000 Hz) dan amplitudo

Tabel 1 Spesifikasi umum robot penari
2. DESAIN PIRANTI KERAS
Kerangka Robot Platform robot merupakan suatu integrasi dari serangkaian bagian-bagian yang menjadi komponen penyusun struktur dari robot. Platform juga merupakan hasil implementasi keseluruhan yang secara riil dan fisis dapat diamati serta dirasakan. Platform robot tersusun dari tiga bagian utama, yaitu sensor, prosesor, serta aktuator. Platform akan sangat menentukan bagaimana suatu robot dapat melakukan aksi, kemudian juga bagaimana robot tersebut memberikan respon terhadap persepsi yang diterima, yaitu yang berasal dari kondisi luar atau lingkungannya, serta bagaimana robot tersebut bermanuver dalam melakukan tugasnya.

Tabel 1 Spesifikasi platform

Jumlah DOF
22
Jenis Penggerak
Servo Motor, Dynamixel MX-28R
Servo Motor, Dynamixel AX-18A
Servo Motor, Dynamixel AX-12A
Torsi Maksimum
28 Kg.cm
18 Kg.cm
12 Kg.cm
Tinggi
50.6 cm
Rentang Bahu
46.3 cm
Panjang Telapak Kaki
10.4 cm
Lebar Telapak Kaki
6.4 cm
Rentang Kaki
45 cm




Main Controller Prosesor robot merupakan perangkat yang memiliki fungsi sebagai pengolah data utama atau dapat dikatakan otak dari robot. Prosesor memiliki fungsi untuk mengolah data-data masukan yang menjadi parameter bagaimana suatu robot akan memberikan respon keluaran dalam melakukan tugasnya. Data-data masukan ini berasal dari sistem persepsi robot atau pembacaan sensor yang digunakan pada robot. Sementara respon keluaran robot adalah pengendalian sistem penggerak pada robot, yaitu motor servo, yang memungkinkan robot untuk melakukan pergerakan serta perpindahan posisi sesuai dengan tugas dan misi yang harus diselesaikannya. Dalam diagram blok lup terbuka sederhana, proses ini tergambar seperti di bawah ini :




Gambar 3 Diagram blok pemrosesan robot dengan lup terbuka sederhana
Prosesor akan memberikan keputusan serta respon dari masukan berdasarkan referensi atau set point (SP) yang telah didefinisikan oleh user.

Sub Controller Proses pergerakan serta perpindahan posisi merupakan kapabilitas yang secara fisis dapat diamati pada robot. Kapabilitas ini ditunjang oleh pergerakan joint-joint pada robot yang merupakan representasi dari pergerakan motor-motor servo. Dengan kuantitas motor servo yang cukup banyak, dibutuhkan suatu pengendali atau kontroler servo sehingga pengendalian gerakan putar pada motor servo dapat dilakukan dengan baik. Kontroler servo yang digunakan adalah CM730.
Sensor Terdapat tiga buah sensor yang digunakan yakni sensor citra, sensor suara serta sensor inersia. Digunakan webcam Logitech C905 sebagai sensor citra, sekaligus sensor suara dengan memanfaatkan built-in microphone pada kamera. Sedangkan sensor inersia yang digunakan ialah IMU (Inertial Measurement Unit).
IMU merupakan seperangkat modul sensor elektronik yang berfungsi untuk melakukan pengukuran percepatan linear dari sebuah gerak translasi pada sebuah referensi serta mengukur kecepatan sudut dari gerakan rotasi pada sebuah sumbu putar, kemudian melakukan pengiriman data kepada pengolah data utama sehingga dapat ditentukan bagimana pengendalian robot yang sesuai agar keseimbangan robot dapat dipertahankan. IMU umumnya terdiri dari seperangkat integrasi antara sensor accelerometer dan gyroscope.

3. Desain piranti lunak

Perangkat lunak yang digunakan pada robot penari terbagi menjadi dua bagian, yakni vision and sound sebagai input dan motion sebagai output. Terdapat kelas-kelas yang digunakan pada program yang memiliki fungsi yang berbeda-beda.

Pada Gambar 4 di bawah ini dapat dilihat bahwa Mic_LeftADC, Mic_RightADC, serta Mjpg_streamer Class memiliki fungsi dalam sistem deteksi suara dan LinuxCamera Class serta ImgProcess Class memiliki fungsi dalam sistem deteksi citra.



Robot dapat bergerak dan melakukan tarian dengan memanfaatkan penggunaan kelas pada perangkat lunak yang berada pada bagian motion, seperti untuk pengaturan pada masing-masing kepala, pergerakan, serta berjalan, yaitu Head Class, Action Class, serta Walking Class.
Sebagai fungsi pengecekan serta sumber informasi keadaan dari bagian motion, terdapat akses pada MotionStatus Class, yang fungsinya untuk memantau bagaimana kondisi riil dari sistem pergerakan robot.
Keseluruhan Class pada bagian motion memiliki fungsinya masing-masing yang kemudian terintegrasi sehingga robot dapat melakukan fungsi pergerakan, yaitu melakukan gerakan tarian.

Sistem Citra Robot membutuhkan suatu sistem untuk dapat mengolah input berupa citra dan memprosesnya menjadi suatu perencanaan pergerakan sebagai navigasi robot. Pada sistem ini input citra akan menghasilkan output berupa citra pula. Dengan menggunakan color image processing terdapat beberapa warna yang akan dideteksi. Citra output kemudian akan diolah lebih lanjut sehingga dapat menentukan eksekusi perintah berikutnya yang sesuai. Berikut ialah DFD untuk pemrosesan citra pada robot.

Pada awalnya akan dilakukan inisialisasi terlebih dahulu dengan mengeset posisi sudut kamera (pitch & yaw). Setelah itu, akan dilakukan proses pengambilan gambar atau capture image. Pada proses ini, gambar yang didapat merupakan gambar yang diperoleh oleh robot untuk nantinya diolah. Dari gambar-gambar yang dicapture oleh robot, akan diperoleh citra input. Berdasarkan DFD diatas, pada proses color image processing, akan dilakukan beberapa tahapan yakni color transformation, image enhancement, dan image segmentation. Citra output yang dihasilkan merupakan citra dengan hasil deteksi pada warna-warna tertentu.
Sistem Suara Sistem deteksi suara pada robot merupakan sistem yang digunakan untuk mendeteksi musik pengiring tarian robot. Robot menerima input musik pengiring tarian dari mikrofon yang dipasang pada bagian tubuh robot. Pengolahan sinyal input audio dapat dilakukan dengan dua metode, yaitu deteksi amplitudo yang dilakukan dalam domain waktu dan deteksi frekuensi yang dilakukan dalam domain frekuensi. 

Dari diagram aliran data pertama, dapat diketahui bahwa musik pengiring akan diolah oleh prosesor dan menghasilkan output yaitu fitur musik pengiring. Fitur musik pengiring yang dimaksud adalah magnitude dari frekuensi musik atau amplitudo dari musik pengiring itu sendiri.
Masing-masing panah membawa data yang akan diolah oleh setiap komponen dan menghasilkan data output yang akan diolah oleh komponen selanjutnya. Sub-controller akan menghasilkan data sinyal dijital dengan menggunakan Analog-to-Digital Converter.
Sinyal dijital ini kemudian diolah dengan menggunakan analisis domain waktu atau analisis domain frekuensi. Digunakan algoritma Fast Fourier Transform untuk mengolah sinyal dijital dalam domain frekuensi. Selanjutnya data-data ini akan digunakan sebagai perintah untuk menentukan tarian yang akan dilakukan robot seiring dengan adanya musik pengiring.

Sistem Penggerak Dalam perancangan robot humanoid penari, tentu kapabilitas utama yang dapat diamati secara fisis adalah kemampuan dari robot untuk melakukan pergerakan atau melakukan tarian.
Dalam konteks melakukan pergerakan atau perpindahan posisi, masing-masing joint pada robot sebagai representasi dari sendi-sendi pada manusia melakukan perputaran pada sudut tertentu sehingga secara integratif akan terlihat sebuah atau beberapa sekuens gerakan dari robot tersebut.
Dalam melakukan perencanaan gerak pada robot, terdapat dua macam pendekatan yang dapat digunakan, yaitu kinematika maju (forward kinematics) serta kinematika balik (inverse kinematics). Kedua pendekatan ini menggunakan parameter yang berkebalikan sebagai masukan dan keluaran antara keduanya. Dalam perencanaan sistem penggerak bagi robot humanoid, factor lain yang amat penting untuk diperhatikan adalah sistem keseimbangan. Robot humanoid amat perlu mempertahankan keseimbangan atau kestabilannya, baik ketika sedang dalam posisi statis, maupun posisi dinamis.
Salah satu pendekatan yang dilakukan untuk memenuhi kriteria kestabilan adalah dengan memanfaatkan proses kompensasi umpan balik menggunakan hip-ankle strategy. Proses ini bertujuan sebagai pengendalian posisi untuk mencapai posisi yang diinginkan pada robot. Kompensasi diberikan pada posisi aktual dari robot dengan referensi adalah posisi yang diinginkan. Kriteria posisi yang diinginkan (desired position) memiliki enam buah parameter, yaitu posisi pada sumbu-x, posisi pada sumbu-y, posisi pada sumbu-z, sudut roll, sudut pitch, dan sudut yaw
Keenam parameter ini akan digunakan dalam proses komputasi kinematika, sehingga dari hasil komputasi ini akan dihasilkan keluaran berupa besar sudut yang diperlukan oleh masing-masing joint untuk dapat mencapai posisi yang diinginkan. Tahapan selanjutnya setelah mendapatkan besar sudut, maka perlu dilakukan proses komputasi untuk mengubah besaran sudut ini menjadi nilai bit yang perlu di-assign pada motor servo sehingga motor servo dapat berputar menuju sudut yang diinginkan. Perputaran motor servo pada keseluruhan joint akan menyebabkan pergerakan robot menuju posisi tertentu.
Proses kompensasi bekerja ketika torso dari robot menuju pada sudut roll atau pitch tertentu tidak sesuai dengan posisi yang diinginkan dengan kecepatan sudut yang dapat diukur. Semakin torso menuju batas ini, semakin tingkat kerawanan dari kestabilan semakin tinggi. Oleh karena itu, dibutuhkan kompensasi yang akan mengembalikan posisi torso robot pada posisi yang aman. Kompensasi ini dilakukan pada joint robot bagian hip, knee, ankle serta arm, sesuai dengan besarnya perubahan kecepatan sudut yang terjadi pada robot.


Gambar 8 Ilustrasi kerja sistem kompensasi pada sistem penggerak robot

Pada sudut pandang robot dari samping (sudut pitch) dan dari depan (sudut roll), ketika tubuh robot mendapatkan suatu gangguan dari belakang untuk sudut pitch dan dari samping untuk sudut roll (arah +) sehingga menyebabkan terjadinya perubahan kecepatan sudut pada torso robot, maka dengan kompensasi akan dilakukan respon pada bagian hip, knee, ankle dan arm dengan arah perputaran servo sebagai berikut :
JOINT
PITCH
ROLL
Ankle
-
-
Knee
-

Hip
+
+
Arm
+

Respon yang diberikan oleh joint adalah searah dengan gangguan yang terjadi apabila bernilai positif (+) dan akan berlawanan arah dengan gangguan apabila bernilai negatif (-).

4.   PENGUJIAN

Pengujian yang dilakukan melingkupi pada sistem robot ketika melakukan gerakan dasar berjalan serta ketika melakukan gerakan tarian. Berdasarkan hasil normalisasi yang dilakukan terhadap pembacaan gyroscope ketika robot mengaktifkan sistem kompensasinya dapat diamati dalam grafik di bawah ini.



Ketika robot sedang melakukan pergerakan dan terdapat suatu gangguan yang dialami oleh robot, baik guncangan atau dorongan, maka robot secara aktif akan melakukan proses kompensasi untuk mengembalikan posisi robot sesuai dengan posisi aktual yang diinginkan berdasarkan pendekatan hip-ankle strategy yang digunakan.



Selain itu sistem kompensasi kestabilan juga dilakukan ketika robot sedang melakukan gerakan tarian. Dapat diamati dari hasil pembacaan accelerometer pada grafik bahwa robot melakukan gerakan tarian dalam rentang aman kestabilan, yaitu antara nilai 440 hingga 600.

Sistem pengolahan citra dapat diamati bahwa hasil estimasi pengukuran jarak terhadap suatu objek dengan warna tertentu dapat diimplementasikan dengan baik, terlihat dari rentang kesalahan yang amat kecil apabila dibandingkan dengan kondisi aktual jarak yang sebenarnya.
Selanjutnya sistem pengolahan suara yang dirancang mampu untuk mengenali amplitudo dari karakter suara atau musik yang diperdengarkan kepada robot. Tingkat sensitivitas sistem pengolahan suara ini dapat diatur sedemikian rupa untuk kondisi ruang dan lingkungan yang berbeda.

4.   HASIL
Sesuai dengan hasil implementasi dan pengujian serta verifikasi yang dilakukan, maka perancangan robot humanoid penari dengan rancang bangun platform, sistem pergerakan dengan menggungakan 22 derajat kebebasan, sistem pengolahan citra, serta sistem pengolahan suara, dapat dicapai secara terintegrasi dengan baik untuk kasus robot penari legong keraton.

Nah, gimana technofella? Udah tahu kan sekarang. Jadi kalau ada yang nanya boleh deh dijawab ga usah malu malu apalagi shy shy cat XD. Jangan lupa buat join blog yaa. Tqsm ;)

SUMBER

No comments:

Post a Comment