BAB IV IMPLEMENTASI DAN PENGUJIAN
IV.1 Implementasi Pemrograman Gerakan Langkah Biped Robot Sarana yang digunakan dalam implementasi pemrograman gerakan langkah biped
robot mencakup perangkat keras dan perangkat lunak akan diuraikan berikut ini. Perangkat keras yang digunakan adalah sebagai berikut: 1. Intel Pentium 4 CPU 2.00 GHz 2. RAM 784 MB 3. Harddisk Seagate Barracuda 160 GB 4. Perangkat masukan: mouse dan keyboard 5. Perangkat komunikasi: kabel USB dan Bluetooth Sedangkan perangkat lunak yang digunakan adalah sebagai berikut: 1. Sistem operasi Microsoft Windows XP Professional Version 2002 Service Pack 2 2. Perangkat pemrograman Microsoft Visual Studio 2005 dengan .NET Framework 2.0 3. Bahasa pemrograman C# 4. Library NXT# buatan Bram Fokke dan Dermot Balson 5. Perangkat pemrograman Bricx Command Center 6. Bahasa pemrograman NXC
IV.2 Aplikasi Pengujian Langkah Biped Robot Dalam pengimplementasian gerakan langkah biped robot, ternyata rumus gaya yang menjadi dasar pergerakan tidak bisa diimplementasikan secara eksplisit. Melainkan menggunakan parameter sudut dan gaya putar servo motor sehingga
IV-1
IV-2
keseimbangan dari rumus gaya yang diinginkan terpenuhi. Untuk itu sebagai pengujian langkah biped robot dengan tujuan mendapatkan parameter yang tepat, dibangun sebuah aplikasi yang memiliki beberapa fungsi pengujian. Yang pertama adalah pengujian motor. Pengujian motor dapat dilakukan dengan dua cara, yaitu dengan tombol kontrol motor yang merupakan fungsi form bawaan dari NXT# atau dengan memasukkan parameter yang dibutuhkan untuk menjalankan motor. Dengan pengujian motor ini didapatkan perkiraan masukan parameter yang diperlukan untuk memutar sendi sebesar sudut tertentu. Hal ini dimaksudkan untuk membantu menciptakan presisi perputaran motor yang tidak didukung oleh fungsi Turn yang ada pada NXT#. Yang kedua adalah pengujian proses gerakan langkah dengan parameter tenaga dan perpindahan sudut motor serta waktu proses gerakan langkah.
Gambar IV-1 Antar Muka Aplikasi Pengujian Biped Robot
IV-3
Cara kerja dari aplikasi ini diawali dengan koneksi ke Brick NXT melalui Bluetooth. Untuk melakukan koneksi sebelumnya harus diketahui dahulu COM
Port yang digunakan oleh Bluetooth untuk melakukan komunikasi dengan Brick NXT. Setelah PC terkoneksi dengan Brick NXT maka kontrol terhadap servo
motor dapat dilakukan. Pengujian yang dapat dilakukan adalah pemutaran servo motor dengan kecepatan tertentu untuk waktu tertentu sehingga dapat mendapatkan variabel untuk menghasilkan putaran sudut yang presisi. Selain itu terdapat juga fungsi pengetesan gerakan langkah yang mengintegrasikan putaran tiga servo motor dengan parameter waktu sehingga dapat dihasilkan gerakan yang baik. Fungsionalitas dari aplikasi pengujian ini adalah sebagai berikut: 1. Panel Koneksi Melakukan koneksi dari komputer ke Brick NXT melalui Bluetooth melalui COM port yang terhubung dengan NXT. 2. Panel Motor Fungsi penggerak untuk masing-masing servo motor (A,B, dan C) dengan atau tanpa parameter waktu delay, besar sudut, dan tenaga. 3. Panel Walking Fungsi penggerak ketiga servo motor untuk melakukan gerakan langkah dengan parameter masukan: a. Support Lima waktu delay untuk servo motor dengan urutan perintah sebagai berikut: diam, berputar dengan kekuatan Power pertama, diam, berputar dengan kekuatan Power kedua, diam. b. Swing Tiga waktu delay untuk servo motor dengan urutan perintah sebagai berikut: diam, berputar dengan kekuatan Power, diam. c. Hip Tiga waktu delay untuk servo motor dengan urutan perintah sebagai berikut: diam, berputar dengan kekuatan Power, diam.
IV-4
d. Kaki support Memilih antara servo motor A (kaki kanan) atau B (kaki kiri) sebagai kaki yang melakukan support. e. Body Memilih antara menggunakan putaran badan atau tidak 4. Tombol Walk w/Body Melakukan gerakan langkah dengan putaran badan. 5. Tombol Walk w/out Body Melakukan gerakan langkah tanpa putaran badan.
IV.3 Algoritma Gerakan Langkah Biped Robot IV.3.1 Implementasi Menggunakan NXT# Proses gerakan langkah yang akan dijalankan secara konkuren oleh ketiga fungsi utama penggerak servo motor mewakili satu siklus gerakan langkah yang dilakukan oleh biped robot. Siklus tersebut digambarkan oleh Gambar IV-2. Namun thread 2 tidak dibutuhkan bagi gerakan langkah yang tidak menggunakan putaran badan.
Gambar IV-2 Proses Satu Langkah Biped Robot
Algoritma yang akan menjalankan biped robot terdiri dari fungsi penggerak motor pinggang ke kiri dan kanan, fungsi untuk kaki pijak, dan fungsi untuk kaki ayun.
IV-5
Algoritma dari fungsi utama yang akan menjalankan ketiga thread dituliskan pada Algoritma IV-1. Sementara bila biped robot tidak menggunakan putaran badan ketiga melangkah hanya memerlukan dua thread yang dapat dilihat pada Algoritma IV-2. Untuk algoritma fungsi kaki tumpu, kaki ayun, dan pemutar pinggang dapat dilihat pada Algoritma IV-3, Algoritma IV-4, dan Algoritma IV-5.
//Fungsi setengah langkah kaki fungsi Step() if (kaki kanan == kaki tumpu)
//Kaki kiri melangkah
{ //Fungsi pemutar pinggang ke kanan Thread1 : hipRight() //Fungsi kaki kanan sebagai kaki tumpu Thread2 : rightSupport() //Fungsi kaki kiri sebagai kaki ayun Thread3 : leftSwing()
Thread1.Start(); Thread2.Start(); Thrad3.Start(); } Else
//Kaki kanan melangkah
{ //Fungsi pemutar pinggang ke kiri Thread1 : hipRight() //Fungsi kaki kanan sebagai kaki tumpu Thread2 : rightSupport() //Fungsi kaki kiri sebagai kaki ayun Thread3 : leftSwing()
Thread1.Start(); Thread2.Start(); Thrad3.Start(); } Algoritma IV-1 Fungsi Setengah Langkah Kaki Dengan Putaran Badan
IV-6
//Fungsi setengah langkah kaki fungsi Step() if (kaki kanan == kaki tumpu)
//Kaki kiri melangkah
{ //Fungsi kaki kanan sebagai kaki tumpu Thread1 : rightSupport() //Fungsi kaki kiri sebagai kaki ayun Thread2 : leftSwing()
Thread1.Start(); Thread2.Start(); } Else
//Kaki kanan melangkah
{ //Fungsi kaki kanan sebagai kaki tumpu Thread1 : rightSupport() //Fungsi kaki kiri sebagai kaki ayun Thread2 : leftSwing()
Thread1.Start(); Thread2.Start(); } Algoritma IV-2 Fungsi Setengah Langkah Kaki Tanpa Putaran Badan
fungsi Swing()
//Fungsi kaki ayun
{ int Power1, Time1, Time2, Time3;
Wait(Time1); Turn(-Power1, 0); //Memutar
motor
dengan
kekuatan
Power1 //ke arah sebaliknya Wait(Time2);
//selama waktu Time2
Brake();
//Menghentikan motor dengan rem
Wait(Time3); } Algoritma IV-3 Fungsi Kaki Ayun
sebesar
IV-7
fungsi Support()
//Fungsi kaki tumpu
{ int Power1, Power2, Time1, Time2, Time3, Time4, Time5;
Wait(Time1); //Memutar motor dengan kekuatan sebesar Power1 Turn(Power1, 0); Wait(Time2);
//selama waktu Time2
Brake();
//Menghentikan motor dengan rem
Wait(Time3);
//selama waktu Time3
//Memutar motor dengan kekuatan sebesar Power2 Turn(Power2, 0) Wait(Time4);
//selama waktu Time4
Coast();
//Menghentikan motor tanpa rem
Wait(Time5); } Algoritma IV-4 Fungsi Kaki Tumpu
fungsi Hip()
//Fungsi pemutar pinggang
{ int Power1, Time1, Time2, Time3;
Wait(Time1); //Memutar motor dengan kekuatan sebesar Power1 Turn(Power1, 0); Wait(Time2);
//selama waktu Time2
Coast();
//Menghentikan motor dengan rem
Wait(Time3); //Memutar motor dengan kekuatan sebesar Power1 ke arah //sebaliknya Turn(-Power1, 0); Wait(Time2);
//selama waktu Time2
Coast();
//Menghentikan motor dengan rem
} Algoritma IV-5 Fungsi Pemutar Pinggang
IV-8
IV.3.2 Implementasi Menggunakan NXC Implementasi menggunakan NXC dilakukan berdasarkan hasil aplikasi pengujian yang dibangun dengan library NXT#. Namun hal yang berbeda adalah tidak digunakannya proses yang konkuren dikarenakan keterbatasan yang masih terdapat pada bahasa NXC. Sehingga nantinya dapat dibandingkan pula hasil proses yang serial dan paralel.
task main() { //Mengeset sensor sonar SetSensorLowspeed(IN_4); RotateMotor(OUT_C, 50, 250);
//Berhenti berjalan bila sonar mendeteksi benda sejauh 30 cm while (SensorUS(IN_4)>30) { //Langkah kaki kiri RotateMotor(OUT_A, 75, 40); Off(OUT_A); RotateMotor(OUT_B, 65, -60); OnFwd(OUT_A, 50); Wait(300); Coast(OUT_B);
Coast(OUT_A);
//Langkah kaki kanan RotateMotor(OUT_C, 60, -600); Coast(OUT_C); RotateMotor(OUT_B, 60, 35); Off(OUT_B); RotateMotor(OUT_A, 65, -60); OnFwd(OUT_B, 50); Wait(300); Coast(OUT_A);
Coast(OUT_B);
RotateMotor(OUT_C, 60, 500); } RotateMotor(OUT_C, 50, -250); } Algoritma IV-6 Gerakan Langkah Biped Robot Dengan Putaran Badan
IV-9
Prinsipnya gerakan langkah yang diimplementasikan secara serial dengan bahasa NXC sama seperti paralel. Namun fase support dan swing dilakukan secara berurutan seperti digambarkan pada algoritma IV-5. Selain itu untuk menambahkan fitur dari gerakan langkah biped robot digunakan sensor sonar untuk memberi robot perintah berhenti berjalan bila ada benda di depannya sejauh 30 cm. Algoritma IV-6 memperlihatkan algoritma yang digunakan dalam melakukan gerakan langkah tanpa putaran badan, sedangkan bila biped robot melangkah dengan menggunakan gerakan badan maka digunakan Algoritma IV-7.
task main() { //Mengeset sensor sonar SetSensorLowspeed(IN_4);
//Berhenti berjalan bila sonar mendeteksi benda sejauh 30 cm while (SensorUS(IN_4)>30) { //Langkah kaki kiri RotateMotor(OUT_A, 75, 40); Off(OUT_A); RotateMotor(OUT_B, 65, -60); OnFwd(OUT_A, 50); Wait(300); Coast(OUT_B);
Coast(OUT_A);
//Langkah kaki kanan RotateMotor(OUT_B, 60, 35); Off(OUT_B); RotateMotor(OUT_A, 65, -60); OnFwd(OUT_B, 50); Wait(300); Coast(OUT_A);
Coast(OUT_B);
Wait(200); } } Algoritma IV-7 Gerakan Langkah Biped Robot Dengan Putaran Badan
IV-10
IV.4 Hasil Pengujian Karena persamaan gaya tidak dapat diimplementasikan secara eksplisit pada biped
robot, maka untuk menghasilkan gerakan langkah biped robot yang terbaik maka dilakukan beberapa pengujian dengan memasukkan beberapa parameter seperti waktu, besar perpindahan sudut, dan juga tenaga yang digunakan untuk memutar motor.
IV.4.1 Pengujian Keseimbangan Pengujian keseimbangan dilakukan dengan penggerakan sendi pinggang dalam keadaan single support statis atau robot tidak bergerak. Pengujian ini untuk r r r T + rCP terpenuhi dengan mendapatkan sudut yang tepat agar rCM = F ( Fz z CM ) pertanda biped robot bisa seimbang atau tidak terjatuh.
Tabel IV-1 Hasil Pengujian Keseimbangan
Perubahan sudut servo motor
Sudut badan
Keadaan
90
10
Tidak seimbang
180
20
Tidak seimbang
270
30
Tidak seimbang
360
40
Seimbang
450
50
Seimbang
540
60
Seimbang
IV.4.2 Pengujian Ayunan Langkah Pengujian ayunan langkah dilakukan dengan penggerakan sendi lutut kiri dan kanan dalam keadaan dinamis atau robot bergerak. Didapatkan hasil terbaik untuk menentukan variabel yang digunakan dalam proses langkah yang telah dijabarkan dalam algoritma di bab IV.3.1. Definisi hasil terbaik adalah keadaan di mana
biped robot bisa melakukan gerakan langkah secara tepat dengan parameter yang dibutuhkan, yaitu waktu dan tenaga putaran servo motor.
IV-11
Tabel IV-2 Hasil Pengujian Ayunan Langkah
Fase
Hasil
Kaki kanan sebagai kaki tumpu Power1=70,
Power2=50,
Time1=800,
Time2=250,
Time3=550,
Time4=300,
Time1=1000,
Time2=600,
Power1=50,
Power2=40,
Time1=800,
Time2=250,
Time3=650,
Time4=400,
Time1=1100,
Time2=700,
Time1=800,
Time2=800,
Time5=500. Kaki kiri sebagai kaki ayun
Power1=30, Time3=800.
Kaki kiri sebagai kaki tumpu
Time5=300. Kaki kanan sebagai kaki ayun
Power1=50, Time3=600.
Pinggang
Power1=50, Time3=800.
IV.5 Pengujian Zero Moment Point (ZMP) Pada prinsipnya, untuk membuat biped robot diharuskan memenuhi kaidah ZMP yang telah dibahas pada subbab IV.2. Namun karena keterbatasan kemampuan kontrol dari pemrograman terhadap biped robot yang dibuat maka kaidah tersebut tidak dapat digunakan untuk menggenerasi proses berjalan. Untuk itu gerakan langkah yang telah dihasilkan akan diuji apakah telah memenuhi ZMP dengan cara membandingkan pusat massa setiap gerakan dengan titik ZMP seharusnya pada saat itu. Pemodelan yang dibuat dalam bidang xy dan xz untuk mendapatkan pusat massa setiap saatnya digambarkan pada gambar IV-3.
IV-12
Gambar IV-3 Pemodelan Biped Robot dalam Bidang xy dan xz
IV.5.1 Perhitungan Pusat Massa IV.5.1.1 Bagian Badan
Pemodelan dari bagian badan untuk mempermudah perhitungan pusat massa digambarkan oleh gambar IV-4. Gambar tersebut menunjukkan pemodelan bagian badan dalam bidang yang dibentuk sumbu x dan y (tampak atas), dan bidang yang dibentuk sumbu x dan z (tampak samping). Badan terdiri dari Brick dengan berat 325 gram dan bagian lainnya (servo motor dan dudukan badan) dengan berat 150 gram. Untuk menghitung pusat massa di setiap sumbu digunakan rumus berikut:
∑p
i
pTotal mTotal
× mi
× pTotal =
∑p
i
× mi
mTotal
……………………………………...(10)
dengan pi
=
pTotal = mi
=
panjang bagian i pada sumbu panjang total badan pada sumbu massa bagian i;
mTotal
=
massa total badan
IV-13
Gambar IV-4 Pemodelan Bagian Badan
Sumbu x: Perhitungan pusat massa pada sumbu x adalah:
4 × 325 + 5 × 150 = 4.32 cm 475 Sumbu y: Pusat massa terletak tepat di tengah dengan asumsi berat badan sebelah kiri dan kanan sama besar, sehingga pusat massa untuk sumbu y adalah 4.5 cm. Sumbu z: Perhitungan pusat massa pada sumbu z adalah: 5 × (150 + 5 × 325) + 7 × ( 7 × 325) 12 12 = 5.8 cm 475
IV-14
IV.5.1.2 Bagian Kaki
Bagian kaki terbentuk dari rangka berongga dan sebuah servo motor. Untuk memudahkan perhitungan pusat massa diasumsikan menjadi sebuah balok dengan berat bertumpu kepada poros servo motor. Sumbu x: Pusat massa terletak pada poros servo motor, sehingga letak pusat massa dihitung untuk beberapa fase pergerakan, yaitu: Tabel IV-3 Letak Pusat Massa Sumbu-x Bagian Kaki
Fase
Pusat massa
Fase kaki di depan badan
5 cm
Fase kaki sejajar badan
4.5 cm
Fase kaki di belakang badan
4 cm
Untuk lebih jelasnya dapat dilihat pada Gambar IV-5.
Gambar IV-5 Perubahan Pusat Massa Kaki
IV-15
Sumbu y: Pusat massa terletak tepat di tengah dengan asumsi berat badan sebelah kiri dan kanan sama besar, sehingga pusat massa untuk sumbu y adalah 3.5 cm. Sumbu z: Pusat massa terletak pada poros servo motor, yaitu pada 8 cm sumbu z. IV.5.1.3 Fase Perhitungan Pusat Massa
Perhitungan pusat massa pada gerakan langkah dilakukan dalam beberapa fase krusial dari proses setengah gerakan langkah. Setengah gerakan langkah dibagi menjadi enam fase dimulai dari fase 0 yang menjadi posisi inisial hingga diakhiri fase 5 sebagai inisiasi proses setengah gerakan langkah selanjutnya. Setiap fase menyebabkan perubahan tersendiri terhadap masing-masing pusat massa setiap bagian. Definisi setiap fase beserta perhitungan perubahan yang terjadi pada setiap fase digambarkan pada gambar IV-6 dan dijabarkan pada tabel IV-4. Sementara itu biped robot yang dibentuk dibedakan menjadi yang menggunakan putaran badan dan tidak menggunakan putaran badan. Untuk biped robot yang tidak menggunakan putaran badan maka tidak memiliki fase 1 dan 5.
Tabel IV-4 Fase Perhitungan Pusat Massa
Fase
Deskripsi Fase
Pengaruh Terhadap Pusat Massa Bagian Lain
Fase 0
Posisi awal sebelum dimulainya proses gerakan
Fase 1
Posisi ketika badan memutar ke kiri Ax untuk memindahkan berat ke kanan
berubah
sebesar
40˚
terhadap sumbu putar (5.5 cm). Ay
berubah
sebesar
40˚
terhadap sumbu putar (5.5 cm). Fase 2
Posisi
ketika
kaki
tumpu Ax dan Cx maju sejauh 3 cm.
IV-16
Fase
Deskripsi Fase
Pengaruh Terhadap Pusat Massa Bagian Lain
meluruskan kaki
Az dan Cz naik setinggi 0.7 cm. Bx berubah menjadi 4.5 cm (Tabel IV-3).
Fase 3
Posisi
ketika
kaki
mengayunkan kaki ke depan
ayun Cx berubah menjadi 5 cm (Tabel IV-3) dan maju sejauh 6 cm.
Fase 4
Posisi
ketika
kaki
menjatuhkan tumpuan
tumpu Ax dan Cx maju sejauh 3 cm. Az dan Cz turun setinggi 0.7 cm.
Fase 5
Posisi ketika badan memutar ke Ax dan Ay kembali ke posisi kanan
untuk
memulai
gerakan selanjutnya Keterangan: Ax = Pusat massa sumbu x bagian A Ay = Pusat massa sumbu y bagian A Az = Pusat massa sumbu z bagian A Bx = Pusat massa sumbu x bagian B By = Pusat massa sumbu y bagian B Bz = Pusat massa sumbu z bagian B Cx = Pusat massa sumbu x bagian C Cy = Pusat massa sumbu y bagian C Cz = Pusat massa sumbu z bagian C
proses awal.
IV-17
Gambar IV-6 Fase Perhitungan Pusat Massa dan ZMP
IV.5.1.4 Hasil Perhitungan Pusat Massa
Dari perhitungan pusat massa yang telah dilakukan, maka didapatkan pusat massa setiap saatnya untuk masing-masing bagian. Hasil pusat massa per bagian untuk
biped robot yang menggunakan putaran badan dituliskan pada tabel IV-5, sedangkan yang tidak menggunakan putaran badan dituliskan pada tabel IV-6. Kedua tabel menjabarkan pusat massa untuk ketiga bagian badan dalam tiga sumbu, x, y, dan z pada setiap fase. Tabel IV-5 Pusat Massa Per Bagian (Dengan Putaran Badan)
Bagian
Pinggang
Kaki tumpu
Sumbu
x
y
Z
x
y
Fase 0
5.82
8.00
19.80
11.00
12.50
Fase 1
7.79
8.88
19.80 11.00
Fase 2
10.79
8.88
Fase 3
10.79
Fase 4 Fase 5
Kaki ayun x
y
Z
8.00
4.00
3.50
8.00
12.50
8.00
4.00
3.50
8.00
20.50 10.50
12.50
8.00
7.00
3.50
8.70
8.88
20.50 10.50
12.50
8.00 14.00 3.50
8.70
13.79
8.88
19.80 10.00
12.50
8.00 17.00 3.50
8.00
11.82
8.00
19.80
12.50
8.00
8.00
10.00
z
17.00 3.50
IV-18
Tabel IV-6 Pusat Massa Per Bagian (Tanpa Putaran Badan)
Bagian
Pinggang
Sumbu
x
y
Fase 0
5.82
8.00
Fase 2
8.82
Fase 3 Fase 4
Kaki tumpu Z
x
Kaki ayun
y
z
x
y
Z
19.80 11.00
12.50
8.00
4.00
3.50
8.00
8.00
20.50
10.50
12.50
8.00
7.00
3.50
8.70
8.82
8.00
20.50 10.50
12.50
8.00 14.00 3.50
8.70
11.82
8.00
19.80 10.00
12.50
8.00 17.00 3.50
8.00
Selanjutnya untuk menghitung pusat massa keseluruhan digunakan rumus (11).
CM seluruh (q ) =
∑ CM
i
( q ) × mi
mTotal
...........................................................................(11)
dengan CMseluruh(q)
=
pusat massa keseluruhan untuk sumbu q
CMi(q)
=
pusat massa bagian i untuk sumbu q
mi
=
massa bagian i
mtotal
=
massa total
Tabel IV-7 Pusat Massa Total (Gerakan Langkah dengan Putaran Badan)
Sumbu
X
Y
Z
Fase 0
6.47
8.00
15.23
Fase 1
7.68
8.54
15.23
Fase 2
10.00
8.54
15.80
Fase 3
11.35
8.54
15.80
Fase 4
13.68
8.54
15.23
Fase 5
12.47
8.00
15.23
Tabel IV-8 Pusat Massa Total (Gerakan Langkah Tanpa Putaran Badan)
Sumbu
X
Y
Z
Fase 0
6.47
8.00
15.23
Fase 2
8.79
8.00
15.80
Fase 3
10.15
8.00
15.80
Fase 4
12.47
8.00
15.23
IV-19
IV.5.2 Perhitungan ZMP ZMP dihitung dengan rumus yang telah dijelaskan pada subbab II.4, yaitu: x zmp
∑ =
n i =1
n n && mi ( &z&i + g ) xi − ∑i =1 mi &x&i z i − ∑i =1 I iy Ω iy
∑
n i =1
mi ( &z&i + g )
∑i =1 mi (&z&i + g ) yi − ∑i =1 mi &y&i zi − ∑i =1 I ix Ω&& ix n
y zmp =
n
∑
n i =1
n
...........................................(9)
mi ( &z&i + g )
di mana nilai-nilai dari variabel yang terdapat pada rumus tersebut dituliskan pada Tabel IV-9, Tabel IV-10, dan Tabel IV-11. Nilai dari Tabel IV-11 didapatkan dari referensi kecepatan sudut servo motor [HUR07]. Nilai-nilai dari tabel IV-9 dan Tabel IV-10 didapatkan dari rumus-rumus berikut: Rumus Kecepatan &y& =
y1 − y 0 z − z0 ...(13) &z& = 1 ...(14) t t
&x&, &y&, &z&
=
kecepatan untuk sumbu x,y,z
x1, y1, z1
=
titik akhir x,y,z
x0, y0, z0
=
titik awal x,y,z
t
=
waktu
&x& =
x1 − x0 ...(12) t
di mana
Rumus Inersia 1 I kaki ( x) = ml 2 .................................................................................(15) 3
I kaki ( y ) = 0 ..........................................................................................................(16) dari rumus inersia batang dengan sumbu putar di ujung batang [SAR02]
I pinggang ( x) =
1 2 2 (ma + mc ) ...............................................................................(17) 12
I pinggang ( y ) =
1 2 2 (mb + mc ) ...............................................................................(18) 12
IV-20
dari rumus inersia segi empat panjang dengan sumbu putar melalui pusat massa [SAR02] di mana Ikaki(x)
=
inersia kaki untuk sumbu x
Ipinggang(x)
=
inersia pinggang untuk sumbu x
Ipinggang(y)
=
inersia pinggang untuk sumbu y
m
=
massa benda
l
=
panjang benda
ma
=
panjang sumbu x
mb
=
panjang sumbu y
mc
=
panjang sumbu z
Tabel IV-9 Nilai Variabel Kecepatan Untuk Setiap Bagian Dalam Setiap Sumbu
Bagian
Pinggang
Kaki Tumpu
Kaki Ayun
Sumbu
x'
y'
z'
x'
y'
z'
x'
y'
z'
Fase 0
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Fase 1
2.46
1.10
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Fase 2
12.00
0.00
2.80
‐2.00
0.00
0.00
12.00
0.00
2.80
Fase 3
0.00
0.00
0.00
0.00
0.00
0.00
11.67
0.00
0.00
Fase 4
10.00
0.00
‐2.33
‐1.67
0.00
0.00
10.00
0.00
‐2.33
Fase 5
‐2.46
‐1.10
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Tabel IV-10 Nilai Variabel Inersia Untuk Setiap Bagian Dalam Setiap Sumbu
Bagian Sumbu
Pinggang X
Y
Kaki Tumpu Z
x
Y
Kaki Ayun z
x'
y'
z'
Fase 0 8906.25 8906.25
0.00 9800.00
0.00
0.00 9800.00 0.00
0.00
Fase 1 8906.25 8906.25
0.00 9800.00
0.00
0.00 9800.00 0.00
0.00
Fase 2 8906.25 8906.25
0.00
9800.00
0.00
0.00
9800.00 0.00
0.00
Fase 3 8906.25 8906.25
0.00 9800.00
0.00
0.00 9800.00 0.00
0.00
Fase 4 8906.25 8906.25
0.00 9800.00
0.00
0.00 9800.00 0.00
0.00
Fase 5 8906.25 8906.25
0.00
0.00
0.00
0.00
9800.00
9800.00 0.00
IV-21
Tabel IV-11 Nilai Variabel Kecepatan Sudut Untuk Setiap Bagian Per Sumbu
Bagian
Pinggang
Kaki Tumpu
Kaki Ayun
Sumbu
Ωx
Ωy
Ωz
Ωx
Ωy
Ωz
Ωx
Ωy
Ωz
Fase 0
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00 0.00
Fase 1
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00 0.00
Fase 2
0.00
0.00
0.00
0.00
9.25
0.00
0.00
0.00 0.00
Fase 3
0.00
0.00
0.00
0.00
0.00
0.00
0.00
5.23 0.00
Fase 4
0.00
0.00
0.00
0.00
8.02
0.00
0.00
0.00 0.00
Fase 5
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00 0.00
Untuk menghitung ZMP gerakan langkah dengan putaran badan maka digunakan nilai dari semua fase, sedangkan untuk ZMP tanpa putaran badan tidak menggunakan fase 1 dan fase 5. Setelah nilai-nilai variabel tersebut dimasukkan ke dalam rumus ZMP, maka didapatkan ZMP untuk gerakan langkah dengan putaran badan maupun tanpa putaran badan yang dituliskan pada tabel IV-12 dan IV-13. Sedangkan perbandingan dari hasil ZMP dan pusat massa yang dimiliki oleh biped robot digambarkan dalam grafik perbandingan pada gambar IV-7 dan gambar IV-8.
Tabel IV-12 ZMP Gerakan Langkah Dengan Putaran Badan
Sumbu
X
Y
Z
Fase 0
6.47
8.00
0
Fase 1
7.65
8.53
0
Fase 2
9.83
8.54
0
Fase 3
11.33
8.54
0
Fase 4
13.54
8.54
0
Fase 5
12.50
8.01
0
IV-22
Gambar IV-7 Kurva Perbandingan Pusat Massa dan ZMP
Tabel IV-13 ZMP Gerakan Langkah Tanpa Putaran Badan
Sumbu
X
Y
Z
Fase 0
6.47032258
8.00000000
0
Fase 2
8.62447454
7.99756678
0
Fase 3
10.12809677
8.00000000
0
Fase 4
12.33469367
8.00203609
0
Gambar IV-8 Kurva Perbandingan Pusat Massa dan ZMP
IV-23
Dari kedua grafik yang ditunjukkan oleh Gambar IV-7 dan IV-8 terlihat bahwa perbandingan titik pusat massa dan ZMP serupa. Hanya terdapat perbedaan yang sangat kecil sekali dalam ukuran di bawah 1mm. Sehingga dapat disimpulkan bahwa biped robot yang dibangun telah memenuhi kaidah ZMP.
IV.6 Analisis Gerakan Langkah Biped Robot IV.6.1 Perubahan Sudut Perubahan sudut yang terbentuk selama pergerakan langkah biped robot adalah seperti digambarkan pada gambar IV-9. Untuk gerakan langkah tanpa putaran badan hanya berbeda pada keberadaan perubahan sudut pinggang. Bila dibandingkan dengan perubahan sudut yang dimiliki oleh manusia, pada gambar II-6 (inset pada gambar IV-3), maka dapat dilakukan analisis sebagai berikut: 1. Perubahan sudut pinggang berbeda karena pergerakan pinggang yang dilakukan biped robot adalah memutar ke kanan dan kiri, tidak seperti manusia yang ke depan dan belakang. 2. Perubahan sudut lutut cukup serupa, yang memberikan perbedaan adalah besar perubahan sudut yang mampu dilakukan biped robot lebih kecil. 3. Perubahan sudut pergelangan kaki pada biped robot tidak disertakan karena memang tidak memiliki sendi pergelangan kaki.
100%
x : Persentase gerakan langkah, y : Besar sudut Gambar IV-9 Grafik Perubahan Sudut Biped Robot
IV-24
IV.6.2 Perhitungan Momen Sementara perubahan momen yang terbentuk selama pergerakan langkah biped robot adalah seperti digambarkan pada gambar IV-4. Untuk gerakan langkah tanpa putaran badan hanya berbeda pada keberadaan perubahan momen pinggang. Perubahan momen didapatkan dari menghitung putaran tenaga yang dilakukan oleh servo motor dalam satuan N.cm. Bila dibandingkan dengan perubahan sudut yang dimiliki oleh manusia, pada gambar II-7 (inset pada gambar IV-4), maka dapat dilakukan analisis sebagai berikut: 1. Perhitungan momen pinggang berbeda karena pergerakan pinggang yang dilakukan biped robot adalah memutar ke kanan dan kiri, tidak seperti manusia yang ke depan dan belakang. 2. Perhitungan momen cukup serupa, pada fase support menunjukkan perubahan yang sama, namun tidak demikian pada fase swing. Hal ini dikarenakan proses mengayun kaki yang dilakukan oleh biped robot lebih sederhana dari yang dilakukan oleh manusia. 3. Perhitungan momen pergelangan kaki pada biped robot tidak disertakan karena memang tidak memiliki pergelangan kaki.
100%
x : Persentase gerakan langkah, y : Besar gaya putar Gambar IV-10 Grafik Perubahan Momen Biped Robot
IV-25
IV.6.3 Variabel Perbandingan Gerakan Langkah Biped Robot dan Manusia Biped robot yang dibangun terdiri dari empat tipe, yaitu hasil implementasi dengan NXT# menggunakan pergerakan badan (Tipe 1) dan tidak menggunakan pergerakan badan (Tipe 2), serta implementasi dengan NXC menggunakan pergerakan badan (Tipe 3) dan tidak menggunakan pergerakan badan (Tipe 4). Hasil uji dari pergerakan langkah biped robot untuk seluruh jenis tipe memiliki nilai variabel sebagai berikut: Tabel IV-14 Variabel Gerakan Langkah Biped Robot
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) Tipe 1
6.3
0.36
1.33
Tipe 2
6.3
0.66
2.67
64:36 (Kiri)
Tipe 3
6.3
0.32
1.11
65:35 (Kanan)
Tipe 4
6.3
0.66
3.16
Untuk dibandingkan dengan gerakan langkah manusia, maka hasil gerakan langkah biped robot diskalakan sesuai dengan panjang langkah manusia pembanding yang dituliskan pada Tabel IV-15. Tabel IV-15 Variabel Pembanding Gerakan Langkah Manusia
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) 3-6 tahun
43
2.5
108
58:42
7-11 tahun
54
2.2
119
59:41
12-18 tahun
67
2.9
129
60:40
Pria
79
1.95
154
60:40
Wanita
66
1.95
131
60:40
IV-26
Penyesuaian skala dilakukan dengan membandingkan panjang langkah biped robot dengan manusia dan dikalikan dengan panjang langkah biped robot sehingga nilai variabel kecepatan langkah biped robot dapat dibandingkan dengan kecepatan langkah manusia. Kolom variabel menunjukkan skala untuk setiap pembanding. Dari skala tersebut panjang langkah dinormalisasi menjadi setara dengan panjang langkah manusia pembanding.
Tabel IV-16 Hasil Penyesuaian Skala Pembanding Dengan Tipe 1
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) Skala (6.8)
43
0.36
15.48
65:35
Skala (8.5)
54
0.36
19.44
65:35
Skala (10.6)
67
0.36
24.12
65:35
Skala (12.5)
79
0.36
28.44
65:35
Skala (10.5)
66
0.66
43.56
65:35
Tabel IV-17 Hasil Penyesuaian Skala Pembanding Dengan Tipe 2
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) Skala (6.8)
43
0.66
28.38
65:35
Skala (8.5)
54
0.66
35.64
65:35
Skala (10.6)
67
0.66
44.22
65:35
Skala (12.5)
79
0.66
52.14
65:35
Skala (10.5)
66
0.66
43.56
65:35
IV-27
Tabel IV-18 Hasil Penyesuaian Skala Pembanding Dengan Tipe 3
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) Skala (6.8)
43
0.32
13.76
65:35
Skala (8.5)
54
0.32
17.28
65:35
Skala (10.6)
67
0.32
21.44
65:35
Skala (12.5)
79
0.32
25.28
65:35
Skala (10.5)
66
0.32
21.12
65:35
Tabel IV-19 Hasil Penyesuaian Skala Pembanding Dengan Tipe 4
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) Skala (6.8)
43
0.66
28.38
65:35
Skala (8.5)
54
0.66
35.64
65:35
Skala (10.6)
67
0.66
44.22
65:35
Skala (12.5)
79
0.66
52.14
65:35
Skala (10.5)
66
0.66
43.56
65:35
IV.6.4 Analisis Hasil Perbandingan Gerakan Langkah Dari keempat tipe biped robot belum ada yang memiliki nilai variabel menyerupai gerakan langkah manusia. Hal ini dikarenakan nilai frekuensi langkah yang masih jauh. Dari keempat tipe, Tipe 2 dan Tipe 4 lah yang nilai frekuensi langkahnya paling besar, 0.66 langkah per detik. Namun nilai itu baru sepertiga dari nilai frekuensi langkah manusia yang paling kecil. Hal ini diakibatkan gerakan langkah yang masih belum sempurna dan kurang dinamisnya gerakan tubuh yang dimiliki oleh biped robot bila dibandingkan dengan manusia. Kunci untuk membuat gerakan yang serupa berdasarkan variabel gerakan langkah manusia adalah
IV-28
membuat gerakan dengan frekuensi langkah yang menyerupai gerakan langkah manusia. Gerakan yang belum sempurna diakibatkan oleh beberapa hal, yaitu: perbedaan kekuatan servo motor yang tidak lagi sama, hubungan antar blok yang tidak cukup kokoh, pengiriman data yang tidak terlalu besar melalui media komunikasi Bluetooth sehingga perintah yang dieksekusi kadang tidak sempurna. Untuk nilai perbandingan yang paling mendekati dimiliki oleh biped robot Tipe 2 dan Tipe 4 dengan persentase perbandingan terhadap langkah manusia sebagai berikut dituliskan di Tabel IV-20.
Tabel IV-20 Persentase Perbandingan Dengan Gerakan Langkah Manusia
Variabel
Panjang
Frekuensi
Kecepatan
langkah (cm)
langkah
(cm/detik)
Rasio Fase
(langkah/detik) 3-6 tahun
Dinormalisasi
0.66
26.2%
83%
7-11 tahun
Dinormalisasi
0.66
29.9%
85%
12-18 tahun
Dinormalisasi
0.66
34.2%
87.5%
Pria
Dinormalisasi
0.66
33.8%
87.5%
Wanita
Dinormalisasi
0.66
33.2%
87.5%
Bobot kemiripan dari perbandingan variabel gerakan langkah didapatkan dari ratarata persentase kecepatan ditambahkan dengan rata-rata persentase rasio fase dibagi dua. Sehingga nilai bobot kemiripannya adalah 58.78%. Sementara, perbandingan antara keempat tipe pergerakan langkah yang dibuat adalah sebagai berikut: 1. Tipe 1 dan Tipe 3 serupa karena memakai perhitungan yang sama dan menggunakan putaran badan. Namun frekuensi langkah Tipe 3 lebih cepat diakibatkan gerakan langkah yang lebih efektif menggunakan proses serial.
IV-29
2. Tipe 2 dan Tipe 4 serupa karena memakai perhitungan yang sama dan tidak menggunakan putaran badan. 3. Tipe 1 dan Tipe 3 sebagai hasil gerakan langkah dengan putaran badan bila dibandingkan dengan Tipe 2 dan Tipe 4 sebagai hasil gerakan langkah tanpa putaran badan memiliki frekuensi langkah yang lebih kecil akibat proses memutar badan yang memerlukan waktu. Namun arah gerakan Tipe 1 dan Tipe 3 yang dihasilkan lebih stabil dibandingkan dengan Tipe 2 dan Tipe 4. Penggunaan thread untuk pemrograman gerakan langkah biped robot secara paralel sangat berguna untuk menjaga keseimbangan tubuh robot saat berjalan, namun belum tentu juga menghasilkan gerakan yang lebih baik dari proses gerakan langkah yang berjalan serial. Akibat gerakan bagian tubuh robot yang saling independen, tidak mempertimbangkan gerakan tubuh yang lainnya, malahan proses berjalan secara serial menghasilkan gerakan yang lebih efektif.