bab iv implementasi dan pengujian -...
TRANSCRIPT
IV-1
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-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 sebesar
Power1
//ke arah sebaliknya
Wait(Time2); //selama waktu Time2
Brake(); //Menghentikan motor dengan rem
Wait(Time3);
Algoritma IV-3 Fungsi Kaki Ayun
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
mendapatkan sudut yang tepat agar CPCMz
CM rT)zF(Fr rrr
+= terpenuhi dengan
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,
Time5=500.
Kaki kiri sebagai kaki ayun Power1=30, Time1=1000, Time2=600,
Time3=800.
Kaki kiri sebagai kaki tumpu Power1=50, Power2=40, Time1=800,
Time2=250, Time3=650, Time4=400,
Time5=300.
Kaki kanan sebagai kaki ayun Power1=50, Time1=1100, Time2=700,
Time3=600.
Pinggang Power1=50, Time1=800, Time2=800,
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:
mTotalmp
pTotalmTotal
mpTotalp
iiii ∑∑ ×
=××
……………………………………...(10)
dengan
pi = panjang bagian i pada sumbu
pTotal = panjang total badan pada sumbu
mi = massa bagian i; mTotal = massa total badan
IV-13
Gambar IV-4 Pemodelan Bagian Badan
Sumbu x:
Perhitungan pusat massa pada sumbu x adalah:
32.4475
15053254=
×+× cm
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:
8.5475
)325127(7)32512
5150(5=
××+×+×cm
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
untuk memindahkan berat ke kanan
Ax 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 ayun
mengayunkan kaki ke depan
Cx berubah menjadi 5 cm
(Tabel IV-3) dan maju sejauh
6 cm.
Fase 4 Posisi ketika kaki tumpu
menjatuhkan tumpuan
Ax dan Cx maju sejauh 3 cm.
Az dan Cz turun setinggi 0.7
cm.
Fase 5 Posisi ketika badan memutar ke
kanan untuk memulai proses
gerakan selanjutnya
Ax dan Ay kembali ke posisi
awal.
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
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 Kaki ayun
Sumbu x y Z x y z x y Z
Fase 0 5.82 8.00 19.80 11.00 12.50 8.00 4.00 3.50 8.00
Fase 1 7.79 8.88 19.80 11.00 12.50 8.00 4.00 3.50 8.00
Fase 2 10.79 8.88 20.50 10.50 12.50 8.00 7.00 3.50 8.70
Fase 3 10.79 8.88 20.50 10.50 12.50 8.00 14.00 3.50 8.70
Fase 4 13.79 8.88 19.80 10.00 12.50 8.00 17.00 3.50 8.00
Fase 5 11.82 8.00 19.80 10.00 12.50 8.00 17.00 3.50 8.00
IV-18
Tabel IV-6 Pusat Massa Per Bagian (Tanpa Putaran Badan)
Bagian Pinggang Kaki tumpu Kaki ayun
Sumbu x y Z x y z x y Z
Fase 0 5.82 8.00 19.80 11.00 12.50 8.00 4.00 3.50 8.00
Fase 2 8.82 8.00 20.50 10.50 12.50 8.00 7.00 3.50 8.70
Fase 3 8.82 8.00 20.50 10.50 12.50 8.00 14.00 3.50 8.70
Fase 4 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).
mTotalmqCM
qCM iiseluruh
∑ ×=
)()( ...........................................................................(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:
∑∑∑∑
∑∑∑∑
=
===
=
===
+
Ω−−+=
+
Ω−−+=
n
i ii
n
i ixixn
i iiin
i iiizmp
n
i ii
n
i iyiyn
i iiin
i iiizmp
gzm
Izymygzmy
gzm
Izxmxgzmx
1
111
1
111
)(
)(
)(
)(
&&
&&&&&&
&&
&&&&&&
...........................................(9)
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
txx
x 01 −=&& ...(12) t
yyy 01 −=&& ...(13)
tzz
z 01 −=&& ...(14)
di mana
zyx &&&&&& ,, = kecepatan untuk sumbu x,y,z
x1, y1, z1 = titik akhir x,y,z
x0, y0, z0 = titik awal x,y,z
t = waktu
Rumus Inersia
2
31)( mlxI kaki = .................................................................................(15)
0)( =yI kaki ..........................................................................................................(16)
dari rumus inersia batang dengan sumbu putar di ujung batang [SAR02]
)(121)( 22
capinggang mmxI += ...............................................................................(17)
)(121)( 22
cbpinggang mmyI += ...............................................................................(18)
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 Pinggang Kaki Tumpu Kaki Ayun
Sumbu X Y Z x Y 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 9800.00 0.00 0.00 9800.00 0.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.
x : Persentase gerakan langkah, y : Besar sudut Gambar IV-9 Grafik Perubahan Sudut Biped Robot
100%
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.
x : Persentase gerakan langkah, y : Besar gaya putar
Gambar IV-10 Grafik Perubahan Momen Biped Robot
100%
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
Tipe 1 6.3 0.36 1.33
64:36 (Kiri)
65:35 (Kanan)
Tipe 2 6.3 0.66 2.67
Tipe 3 6.3 0.32 1.11
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
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
langkah (cm)
Frekuensi
langkah
(langkah/detik)
Kecepatan
(cm/detik)
Rasio Fase
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 rata-
rata 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.