II-1
BAB II
TINJAUAN PUSTAKA
II.1 Gerakan
Langkah Manusia
Sistem tubuh manusia merupakan sebuah sistem yang kompleks dan sangat efisien. Analisis aktivitas manusia telah dilakukan sejak lama. Studi pertama kali mengenai pergerakan manusia dilakukan pada periode 1870-1920 dengan fotografi oleh Marey & Gilbreth and Eadweard Muybridge yang ditunjukkan pada gambar II-1 [AZE01]. Selanjutnya dalam perkembangan studi tersebut, tubuh manusia dibagi menjadi tiga bidang, yaitu sagital, transversal, dan koronal seperti ditunjukkan pada gambar II-2.
Gambar II-1 Pergerakan Langkah Manusia [AZE01]
II.1.1 Momentum Sudut Gerakan Langkah Manusia
Untuk mempelajari momentum sudut gerakan langkah manusia maka digunakan pemodelan manusia dengan 16 segmen yang mewakili bagian tubuh manusia. Gambar II-3 menunjukkan model manusia dan kerangka koordinat yang direpresentasikan dalam sumbu-z untuk arah vertikal, sumbu-y untuk arah gerakan langkah ke depan, dan sumbu-x untuk arah kanan bagian tubuh [HER06]. Titik yang terdapat pada setiap segmen menunjukkan pusat massa untuk setiap segmen tersebut. Perubahan sudut setiap bidang, yaitu sagital (<1°), koronal (<0.2°), dan transversal (<2°), dapat diabaikan [POP04].
Gambar II-3 Pemodelan Manusia [HER06]
Beberapa parameter yang penting dalam studi gerakan langkah manusia adalah gaya reaksi bidang lantai (Fr), posisi pusat massa (rrCM), dan pusat tekanan atau ZMP-Zero Moment Point (rrCP). Hubungan dari parameter tersebut ditunjukkan oleh rumus (1) [HER06, AZE01].
) r r )( z F ( Fr = z CM rCM −rCP ...(1)
Persamaan pada rumus (1) didapatkan dari beberapa persamaan dasar menyangkut gaya yang bekerja pada tubuh manusia. Vektor kecepatan sudut dan perubahan sudut dihitung dengan rumus (2) dan rumus (3), di mana It adalah momen inersia seluruh tubuh terhadap pusat massa dan C adalah konstanta kondisional [HER06, AZE01]. Sedangkan total gaya putar pada pusat massa dapat diekspresikan dengan rumus (4). Bila ditinjau dari komponen transversal (bidang xy) menghasilkan persamaan pada rumus (5) dan (6) [POP04].
S I ωreff = t−1r...(2)
∫
−∞ + = t * * eff eff(t) (t )dt C θr ωr ...(3) dt S d F r r TCM CP CM r r r r r = × − =( ) ...(4) ) /( | ) ( | y Fz Tx z Fy= δ − δ ...(5) ) /( | ) ( | x Fz Ty z Fx= δ − δ ...(6) Penelitian yang telah dilakukan menyebutkan bahwa dalam setiap gerakan manusia, total momentum sudut Sr terhadap pusat massa diharuskan selalu sama dengan nol, atau secara matematis dituliskan pada rumus (7) [POP04]. Sehingga dalam gerakan langkah, hubungan antara gaya reaksi bidang lantai (Fr), posisi pusat massa (rr ), dan pusat tekanan atau ZMP-Zero Moment Point (CM rr ) sesuai CP kondisi tersebut adalah Fr =kδrrdi mana k=Fz/δz=−Fz/zCM adalah kekakuan tubuh global (global body stiffness) dan δrr=rrCP −rrCM[POP04]. Akhirnya didapatkan persamaan umum yang harus dipenuhi adalah rumus (8) [HER06, AZE01].0 |CM= dt S dr ...(7) ) r r )( z F ( Fr= z CM rCM −rCP ...(8)
II.1.2 Trajectory Sendi Gerakan Langkah Manusia
Untuk mengoptimalkan analisis gerakan manusia, maka model bidang sagital direduksi menjadi lima penghubung sendi. Penghubung sendi yang dipakai dalam pemodelan adalah kaki pijakan, paha penopang, kaki bagian bawah penopang, badan, paha ayun, dan kaki bagian bawah ayun. Sedangkan sendi yang digunakan adalah pergelangan kaki penopang (a), lutut penopang (b), pinggang penopang (c), pinggang ayun (d), dan lutut ayun (e). Gambar II-4 menunjukkan pemodelan tersebut.
Gambar II-4 Model Bidang Sagital Manusia
II.2 Analisis
Biomekanik Langkah Manusia
Sudah banyak penelitian yang dilakukan untuk menghitung parameter yang mempengaruhi proses langkah manusia. Beberapa parameter yang dapat diidentifikasi adalah sudut, momen, dan massa.
II.2.1 Perhitungan Sudut
Banyak dari hasil penelitian yang menggolongkan fase-fase yang berbeda sebagai komposisi siklus gerakan langkah. Salah satunya diungkapkan oleh J. Nilsson bersama rekannya, A. Thorstensson dan J. Halberstam dalam karya tulis pada tahun 1985 yang berjudul Changes in leg movements and muscle activity with speed of locomotion and mode of progression in humans. Nilsson mengidentifikasi perubahan lintasan sudut dari beberapa anggota tubuh bagian bawah berdasarkan kecepatannya. Ia memperkenalkan fase extension (peregangan) dan flexion (penarikan) sebagai sub-siklus dari pergerakan setiap sendi. Setiap fase didefinisikan dari posisi pada siklus langkah, durasi, dan batas atas dan bawah dari nilai sudutnya [FAU98]. Gambar II-5 mengidentifikasikan tiga fase extension pada lutut dan pergelangan kaki (E1, E2, E3), serta satu fase flexion yang melengkapi satu siklus langkah. Sedangkan pergerakan pada sendi pinggang terdiri dari satu fase extension dan satu fase flexion. Satu siklus langkah terdiri dari dua tahap, yaitu memijak tanah (support) dan mengayunkan langkah (swing).
x : Persentase gerakan langkah, y : Besar sudut Gambar II-5 Perubahan sudut anggota tubuh [FAU98]
Koordinasi antara bagian tubuh ditunjukkan oleh posisi dan durasi dari sub-siklus pada keseluruhan siklus langkah. Nilsson menganalisis efek dari variasi kecepatan dari langkah pada koordinasi parameter ini. Kecepatan langkah (VG) tergantung
dari panjang langkah Lstep dan frekuensi langkah Fstep sehingga menghasilkan
persamaan VG : Lstep * Fstep. Jadi untuk setiap kecepatan yang diberikan banyak
kombinasi panjang dan frekuensi langkah yang memungkinkan. Namun pada umumnya manusia lebih memilih meningkatkan Lstep ketimbang Fstep [FAU98].
II.2.2 Perhitungan Momen
Untuk menjaga keseimbangan saat berjalan, secara teoritis gerakan langkah diharuskan memfasilitasi ZMP (Zero Moment Point) untuk tetap berada di batas yang telah ditentukan setiap saatnya. Naturalnya manusia tidak akan memikirkan hal ini, namun sebenarnya tetap melakukannya secara refleks setelah melakukan adaptasi dari usia bayi pada umumnya.
Salah satu gaya yang mempengaruhi nilai momen pada saat gerakan langkah adalah gaya putar pada setiap bagian tubuh yang terlibat dalam gerakan langkah. Salah satu penelitian yang menganalisa nilai gaya putar dari bagian tubuh manusia ketika berjalan dilakukan oleh Francois Faure dan rekan-rekannya dalam karya tulis Dynamic analysis of human walking. Hasil komputasi yang mereka lakukan terhadap gaya putar yang ditimbulkan pinggang, lutut, dan pergelangan kaki dalam gerakan langkah digambarkan dalam Gambar II-6. Nilai yang ditunjukkan merupakan besar momen putar (dalam satuan N.m) dalam sumbu-y terhadap presentase siklus langkah (dalam persen) dalam sumbu-x.
Semua gaya putar yang dihitung bersifat kontinu, hanya memiliki periode satu detik, dan hanya berbeda tipis antara setiap periode. Gaya putar yang dihasilkan oleh pinggang lebih besar dari lutut, namun bentuk grafik perubahan keduanya menampilkan bentuk yang mirip. Sedangkan gaya putar yang dihasilkan pergelangan kaki memiliki nilai yang lebih kecil [FAU98].
x : Persentase gerakan langkah, y : Besar gaya putar Gambar II-6 Nilai gaya putar anggota tubuh [FAU98]
II.2.3 Pengaruh Massa
Perubahan massa yang dilakukan oleh Francois Faure dan rekan-rekannya dalam penelitian mereka menghasilkan evolusi nilai gaya putar terhadap siklus langkah. Modifikasi massa merubah amplitudo dari grafik yang dihasilkan walaupun secara bentuknya tidak berubah drastis. Dapat diamati bahwa perubahan massa hanya merubah sedikit sekali nilai gaya putar ketika fase mengayunkan langkah (swing) dibandingkan dengan fase memijak tanah (support) [FAU98]. Gambar II-7 menunjukkan pengaruh massa tersebut dengan sumbu-x mewakili persentase langkah dan sumbu-y mewakili gaya putar.
x : Persentase gerakan langkah, y : Besar gaya putar sendi pinggang Gambar II-7 Pengaruh perubahan massa [FAU98]
II.3 Biped Robot
Aplikasi robot dengan dimensi dan gerakan yang menyerupai kapabilitas manusia, atau disebut juga robot humanoid, memiliki kegunaan yang berlimpah. Dalam bentuk prototipe, robot jenis ini biasa juga disebut biped robot karena memiliki dua kaki untuk berjalan. Robot jenis ini memiliki potensial serta tantangan yang besar dalam perkembangan dunia robotik. Dalam dunia di mana manusia merupakan standar dari kebanyakan interaksi, robot yang menyerupai manusia memiliki potensial untuk beraktivitas di lingkungan yang dibuat oleh manusia. Dalam dunia pemrograman robot, model internal dari sistem dapat dihasilkan dari perhitungan kinematika. Trajectory pergerakan dari titik-titik sendi robot akan dihasilkan dari perhitungan yang dilakukan. Industri robot konvensional biasanya membuat desain robot yang sederhana agar mudah dibuat modelnya. Namun tidak demikian bagi pengembang robot yang terinspirasi kehidupan nyata. Untuk itu, model sistem menjadi sulit untuk dibentuk atau terlalu kompleks sehingga kalkulasi dari perintah pada aktuator robot membutuhkan waktu yang panjang untuk aktivitas yang reaktif. Untuk itu diperlukan juga kemampuan adaptasi dari robot untuk beraktivitas di lingkungan manusia [WOL02].
Tapi sebelum jauh menuju ke sana, tentunya perlu diimplementasikan dahulu biped robot dengan kemampuan berjalan layaknya manusia walaupun belum memiliki kemampuan adaptif terhadap lingkungan.
Untuk mengimplementasikan gerakan langkah dari biped robot diperlukan beberapa sendi. Umumnya sendi tersebut terdapat di bagian lutut, pergelangan kaki, pinggang, dan bahu. Langkah pertama dalam membuat pergerakan biped robot adalah dengan menggerakkan sendi yang terdapat pada robot sehubungan dengan gerakan yang diinginkan dari bagian robot yang lebih kompleks. Pergerakan satu bagian dari seluruh sendi yang terlibat dalam proses gerakan langkah ini tergantung dari keseluruhan gerakan yang diinginkan serta harus dikoordinasikan dan disinkronisasikan untuk mencapai gerakan tersebut. Pergerakan sendi dapat dihasilkan dari aktuator yang pada dasarnya melakukan gaya putar pada dua atau lebih bagian tubuh yang terhubung pada sendi. Sehingga, deskripsi pergerakan kaki robot dibutuhkan untuk menentukan perubahan nilai gaya putar terhadap waktu dari setiap sendi yang terlibat selama gerakan. Kebanyakan bahasa robot mengenkapsulasikan nilai gaya putar tersebut dalam bentuk nilai dari sudut atau translasi motor yang digunakan. Koordinasi dari hasil pergerakan merupakan tujuan dari penentuan gaya dan sudut yang tepat pada sendi di kaki. Sendi yang digunakan dapat berjumlah mulai dari empat buah hingga tiga belas sendi untuk biped robot pada setiap langkah diskrit (sebagian langkah) yang dilakukan selama pergerakan [ZIE01].
Pemodelan dari biped robot biasanya difokuskan pada bagian pinggang hingga tungkai. Gambar II-8 memperlihatkan salah satu model dari biped robot yang diambil dari karya tulis Planning Walking Patterns for a Biped Robot oleh Qiang Huang dan rekannya [HUA01].
Gambar II-8 Model biped robot [HUA01]
II.4 Zero Moment Point (ZMP)
ZMP dapat dihitung menggunakan persamaan pada rumus (9) [HUA01]:
∑
∑
∑
∑
∑
∑
∑
∑
= = = = = = = = + Ω − − + = + Ω − − + = n i i i n i ix ix n i i i i n i i i i zmp n i i i n i iy iy n i i i i n i i i i zmp g z m I z y m y g z m y g z m I z x m x g z m x 1 1 1 1 1 1 1 1 ) ( ) ( ) ( ) ( && && && && && && && && ...(9)di mana mi adalah massa dari sambungan i pada gambar II-8, Iix dan Iiy adalah
komponen inersia, Ωix dan Ωiy adalah komponen kecepatan sudut di sekitar
sumbu-x dan sumbu-y pada pusat gravitasi sambungan i, g adalah percepatan gravitasi, (xzmp, yzmp, 0) adalah koordinat ZMP, dan (xi, yi, zi) adalah pusat massa
pada sambungan i.
Jika ZMP berada pada daerah stabil (stable region), maka robot dapat berjalan. Bila jarak minimum dari ZMP dan batasan daerah stabil besar, maka momen yang dibutuhkan untuk mencegah robot untuk tidak jatuh juga besar. Jarak minimum dzmp antara ZMP dan batas daerah stabil disebut dengan batas kestabilan (stability
Gambar II-9 Stable region dan stability margin [HUA01]
II.5 Fase Gerakan Langkah
Pada prinsipnya, proses berjalan dibagi menjadi dua fase, fase double-support dan single-support. Pada fase double-support kedua kaki melakukan kontak dengan lantai. Permasalahan yang dihadapi oleh pengimplementasian robot berkeseimbangan dinamis adalah pada bagaimana menjaga ZMP (Zero Moment Point), titik di mana jumlah seluruh momen dari gaya yang bekerja pada saat itu adalah nol, tetap berada di batas kaki ketika proses jalan dilakukan. Bila hal ini dapat dipenuhi, maka robot akan mampu berjalan di atas dua kaki. Selanjutnya melakukan efisiensi dari gerakan yang dilakukan oleh robot tersebut.
II.6 Pergerakan
Langkah
Biped Robot yang Menyerupai
Manusia
Penilaian gerakan langkah yang menyerupai manusia didapatkan dari perbandingan dengan beberapa parameter gerakan langkah manusia. Untuk membandingkan pergerakan langkah robot terhadap manusia, dapat digunakan proses yang terjadi dalam fase satu langkah, serta variabel analisis langkah manusia sesuai dengan perbandingan skala tubuh biped robot dengan manusia.
II.6.1 Proses Gerakan Satu Langkah
Seperti yang telah dijelaskan pada subbab II.2, satu langkah manusia terdiri dari dua tahap, yaitu tahap support (menopang) dan swing (mengayun). Perbandingan lama berlangsungnya tahap tersebut adalah 60:40 [THO02]. Atau dengan kata lain 60% pertama dalam proses satu langkah merupakan tahap support. Tahap support merupakan proses menopang kaki ayun yang terdiri dari loading response
(0-10%), midstance and terminal stance (10-50%), dan preswing (50-60%). Lebih rincinya, loading response dimulai dari saat kaki penopang memijakkan kaki di lantai dan diakhiri dengan kaki ayun meninggalkan lantai. midstance and terminal stance dimulai ketika kaki ayun meninggalkan lantai hingga kaki ayun kembali menyentuh lantai. Pada saat itu berat badan bertumpu pada kaki topang. Yang terakhir, preswing, adalah masa persiapan perubahan kaki topang menjadi kaki ayun. Sedangkan 40% sisanya adalah tahap swing.
Sementara itu fase double-support, yang dijelaskan pada subbab II.5.1, terjadi sebanyak dua kali. Yang pertama adalah pada loading response dan preswing dari tahap support, atau pada 0-10% dan 50-60% dari satu langkah.
II.6.2 Variabel Gerakan Langkah Manusia
Variabel rata-rata gerakan langkah manusia yang didapatkan dari hasil penelitian dijabarkan pada Tabel II-1. Panjang langkah dihitung dari jarak satu pijakan kaki ke kaki lainnya di atas tanah. Secara normal panjang langkah kaki kiri dan kaki kanan adalah sama. Frekuensi langkah adalah banyak langkah yang dilakukan setiap menitnya. Sedangkan kecepatan langkah merupakan hasil kali dari panjang langkah dan frekuensi langkah.
Tabel II-1 Gerakan Langkah Anak (3-19 tahun) [SCH00] Variabel Panjang langkah (cm) Frekuensi langkah (langkah/menit) Kecepatan (m/detik) Rasio Fase 3-6 tahun 43 150 108 58:42 7-11 tahun 54 132 119 59:41 12-18 tahun 67 116 129 60:40 Pria Dewasa 79 117 1.54 60:40 Wanita Dewasa 66 117 1.31 60:40
II.7 Lego
NXT
II.7.1 Sekilas Mengenai Lego NXT
Saat ini sudah banyak platform robot yang dapat digunakan untuk melakukan implementasi. Beberapa di antaranya adalah Fischertechnik, Lego, Irobot, Kondo, Parallax, Traxster, dan banyak lagi. Salah satu jenis yang sudah cukup terkenal dan banyak digunakan adalah Lego. Lego NXT adalah produk buatan Lego yang terbaru. Perangkat Lego NXT terdiri dari NXT brick yang berfungsi sebagai otak dari robot, sensor (sentuh, cahaya, ultrasonik, dan suara), servo motor yang dapat digunakan untuk melakukan gerakan, serta port USB 2.0 dan Bluetooth yang berguna untuk melakukan koneksi dengan komputer.
II.7.2 Perangkat Lego NXT: NXT Brick
NXT Brick adalah otak dari robot Lego. Sebuah Brick memiliki intelijen, dapat dikontrol komputer sehingga dapat membuat robot Lego hidup dan melakukan berbagai operasi berbeda [LEG07]. Untuk membantu kinerja Brick sebagai otak, maka Lego NXT dilengkapi perangkat-perangkat yang dijabarkan pada Tabel II-2. Sedangkan tampilan Brick di perlihatkan pada gambar II-10.
Gambar II-10 Brick Lego NXT
Tabel II-2 Perangkat Lego NXT
Perangkat Fungsi
Motor ports NXT memiliki tiga port keluaran untuk menghubungkan motor - Port A, B dan C.
Sensor ports NXT memiliki empat port masukan untuk menghubungkan
sensor - Port 1, 2, 3 dan 4.
Perangkat Fungsi men-download program dari komputer ke NXT atau sebaliknya. Dapat juga melakukan aktivitas ini dengan menggunakan koneksi Bluetooth.
Loudspeaker Membuat program dengan suara dan mendengarkannya ketika program berjalan.
NXT
Buttons
Tombol berwarna oranye berfungsi untuk On/Enter/Run, sedangkan tombol panah berwarna abu-abu berfungsi untuk berpindah di menu pilihan pada NXT. Sementara tombol abu-abu gelap berfungsi untuk Clear/Go back.
NXT Display Menampilkan petunjuk fitur NXT yang dapat digunakan.
II.7.3 Perangkat Lego NXT: Servo Motor
Tiga servo motor memberikan robot kemampuan untuk bergerak. Setiap motor memiliki built-in sensor rotasi yang dapat menghasilkan pergerakan yang tepat. Sensor rotasi mengukur perputaran motor dalam derajat sudut ataupun jumlah rotasi. Satu rotasi setara dengan 360 derajat, sehingga bila motor diset untuk berputar sejauh 180 derajat, maka hasilnya adalah setangah putaran [LEG07]. Built-in sensor rotasi pada setiap motor juga memberikan kemampuan untuk membedakan kecepatan motor. Penampilan servo motor diperlihatkan pada gambar II-11.
II.8 Library dan Tools yang Digunakan
Ada banyak bahasa pemrograman yang medukung pemrograman NXT. Namun yang paling banyak digunakan adalah NXC dan NXT#, selain software resmi keluaran LEGO, Lego Mindstorm NXT. Kedua bahasa pemrograman tersebut memiliki kelebihan dan kekurangan masing-masing.
II.8.1 NXC
NXC adalah bahasa pemrograman yang ditemukan oleh John Hansen untuk robot Lego. NXC merupakan singkatan dari Not eXactly C. NXC adalah bahasa pemrograman high-level yang mirip dengan bahasa C dan dibangun di atas NBC (Next Byte Codes), bahasa pemrograman yang dapat memprogram NXT brick dalam bentuk bahasa text-based. Tools yang digunakan untuk mempermudah penggunaan NXC adalah Bricx Command Center (BricxCC). Program ini membantu menulis program, men-download-nya ke robot, memulai dan menghentikan, menelusuri memori NXT, mengkonversi file suara, dan banyak lagi. Contoh penulisan bahasa pemrograman NXC adalah sebagai berikut diperlihatkan pada gambar II-12.
Gambar II-12 Contoh Penulisan Bahasa Pemrograman NXC
II.8.2 NXT#
NXT# adalah library pemrograman Lego NXT yang berjalan pada .NET Framework dengan menggunakan bahasa C#. Tools yang digunakan adalah Visual Studio 2005. Library ini dikembangkan oleh Bram Fokke dan Dermot Balson.
Perbedaan signifikan dari kedua bahasa pemrograman adalah pada proses penngeksekusiaan program NXT-nya. NXC menjalankan program yang telah dibuat dengan cara men-download program ke dalam memori Brick NXT dan mengeksekusinya langsung dari Brick. Sedangkan NXT# melakukan eksekusi program di PC dan mengirimkan perintah melalui media Bluetooth.
Contoh penggunaan library NXT# dalam bahasa C# adalah sebagai berikut diperlihatkan pada gambar II-13.