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
|
![]() ![]() |
||
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