T1 612012010 BAB III
BAB III
PERANCANGAN SISTEM
Pada bab ini akan dijelaskan mengenai perancangan dari perangkat keras, serta perangkat lunak dari algoritma robot.
3.1. Gambaran Sistem
Sistem yang dibuat untuk tugas akhir ini adalah berupa sebuah sistem perencanaan gerakan berjalan robot humanoid. Sistem menerima masukan berupa permintaan gerakan dan mengolah parameter gerakan yang sesuai dengan permintaan tersebut menjadi sebuah pola gerakan berjalan, seperti dapat dilihat pada diagram alir dalam Gambar 3.1. Dalam hal ini pembuatan sistem inverse kinematic untuk mengaktualisasikan gerakan dan sistem kontrol keseimbangan tidak tercakup dalam lingkup tugas akhir ini.
Gambar 3.1 Diagram alir sistem
Bagian sistem yang dikerjakan penulis dalam tugas akhir
Bagian sistem yang dikerjakan oleh Novembri Priyadmaji W. N.
Bagian sistem yang dikerjakan oleh Bangkit M.
Ya Start
Apakah ada permintaan gerakan?
Tentukan parameter gerakan
Fungsi pembangkit
Kinematika terbalik
Tidak
Aktuator Baca sudut kemiringan dan
kecepatan sudut robot
(2)
3.2. Perancangan Sistem Pembangkit Lintasan
Untuk membangkitkan pola gerakan berjalan robot ditinjau dari ruang kartesian x-y-z, digunakan persamaan pembangkit pola berdasarkan sistem online pattern generation
seperti yang diformulasikan oleh Park et al. [3][5] di mana terdapat 3 fungsi pola, yaitu pada arah x, arah y, dan arah z.
3.2.1 Pembangkitan Nilai Koordinat x(t)
Lintasan arah x dilihat dari sisi sagital, di mana menunjukkan jarak langkah kaki robot saat berjalan seperti pada Gambar 3.2. Titik A adalah engkel robot dan titik P adalah panggul robot.
Gambar 3.2 Penampang sagital menunjukkan gerakan robot pada arah x dan y.
̃
�� =
+ �
� −��−�−
�sin �
� −��−�−
(1)̃
�� = ∑
�= � � −��−� � (2)Hubungan nilai koordinat x terhadap waktu pada engkel kaki robot diperlihatkan pada persamaan kurva cycloid (1) di mana b merupakan jarak antar kaki sebelum melangkah pada t1 dan f merupakan jarak setelah melangkah pada t2. Periode langkah adalah dari t1 hingga t2, dan t adalah waktu sekarang. Persamaan (2) adalah kurva polinomial orde 3 yang menunjukkan hubungan hubungan nilai koordinat x terhadap waktu pada panggul robot. Koefisien � mendefinisikan batas awal dan akhir tiap langkah yang didapatkan dari persamaan (3) di mana ditentukan batas posisi awal ̃� dan batas
(3)
Koefisien αx merupakan faktor bentuk kurva. Kemudian didapatkan nilai � berdasarkan
normalisasi skala waktu seperti pada persamaan (4). Faktor bentuk α menentukan bentuk dari kurva lintasan panggul.
[
̃
�̃
�̇
̃
�̃
�̇
]
=
[
− ⁄
�
�⁄
� � ]
(3)
[
] [ ] =
[
̃
�̃
�̇
̃
�̃
�̇
]
(4)
3.2.2. Pembangkitan Nilai Koordinat y(t)
Lintasan arah y menunjukkan tinggi engkel saat kaki mengayun. Hubungan nilai koordinat y terhadap waktu pada engkel robot direpresentasikan pada persamaan (5) di mana h merupakan faktor tinggi dari langkah kaki (Gambar 3.2).
� = { − [cos �
� −��−�+ ]} ℎ⁄
(5)3.2.3. Pembangkitan Nilai Koordinat z(t)
Lintasan arah z pada robot menunjukkan goyangan panggul ke samping saat melangkah, langkah geser ke samping, dan langkah putar robot. Lintasan posisi engkel pada arah z dihasilkan dengan 2 langkah, langkah pertama adalah untuk berubah dari sikap siap menuju sikap terbuka, dan langkah selanjutnya untuk memulihkan dari sikap terbuka kembali ke sikap siap. Sikap terbuka adalah saat single support phase (SSP) dan sikap siap adalah saat double support phase (DSP).
(4)
Gambar 3.3 Penampang frontal menunjukkan gerakan robot pada arah sumbu z. Pada Gambar 3.3 ditunjukkan langkah pertama dari � hingga � dan langkah kedua dari � hingga � . Persamaan posisi engkel terhadap waktu untuk arah z dibentuk seperti persamaan (6), (7), (8), dan (9). � � dan � � merupakan posisi koordinat engkel pada arah z terhadap waktu untuk kaki kiri dan kanan pada langkah pertama, � � dan
� � merupakan posisi koordinat engkel pada arah z terhadap waktu untuk kaki kiri
dan kanan pada langkah kedua. Di mana η merupakan rasio langkah samping, ���� dan
���� merupakan koordinat akhir langkah kiri dan kanan pada arah z, ��� dan ���
merupakan koordinat awal langkah kaki pada arah z. Nilai ����, ����, ���, dan
���didapatkan dari parameter lebar langkah A. Pergerakan langkah samping ditunjukkan
pada Gambar 3.4.
�
� =
���� −� −���
+ cos �
�+� − �� −�+ ��
�(6)
�
� =
���� +� −��
�
+ cos �
�+� − �� −�+ ��
� (7)�
� =
���� −� −��
�
− cos �
� −��−�+ ��
�(8)
�
� =
���� +� −��
�
(5)
Gambar 3.4 Penampang frontal menunjukkan gerakan langkah samping robot. Untuk persamaan posisi panggul arah z terhadap waktu digunakan persamaan interpolasi polinomial orde 3 seperti pada arah x, tetapi dibagi menjadi 2 langkah yaitu untuk � < � < � dan � < � < � di mana t0 adalah setengah periode atau t2/2. Seperti pada persamaan (10) dan (11), di mana bentuk kurva ditentukan dari faktor bentuk � dan jarak koordinat arah z ditentukan oleh � .
̃
�� = ∑
�=̃
� �−�� −� � (10)
Di mana, ̃� � = ; ̃̇� � = −� ; ̃� � = −� ; ̃̇� � =
̃
�� = ∑
�=̃
� �−�� −� � (11)
Di mana, ̃� � = ; ̃̇� � = −� ; ̃� � = −� ; ̃̇� � =
Untuk mendapatkan nilai ̃� dilakukan normalisasi skala waktu seperti persamaan (12) dan (13).
[
̃
�
̃
�
̇
̃
�
̃
�
̇
]
(6)
[
] [ ] =
[
̃
�
̃
�
̇
� �̇
]
(13)
Dan untuk arah putaran kaki atau heading digunakan rumus (14) untuk kaki kiri dan (15) untuk kaki kanan, persamaan tersebut menentukan simpangan kaki robot. Di mana
ℎ
� danℎ
� adalah heading awal kaki kiri dan kanan, sedangkanℎ
� danℎ
� merupakan heading akhir. Ilustrasi dari arah putaran kaki dapat dilihat pada Gambar 3.5.�
�� = ℎ
�+ ℎ
�− ℎ
� � −��−�(14)
�
�� = ℎ
�+ ℎ
�− ℎ
� � −��−�(15)
Gambar 3.5 Penampang transverse telapak kaki robot yang menunjukkan langkah putar.
3.3. Perancangan Perangkat Keras
Perangkat keras yang telah direalisasikan yaitu modifikasi terhadap kit robot bioloid GP yang sebagian besar rangka robot diganti menggunakan desain rangka dari robot Darwin-OP seperti pada Gambar 3.6 untuk mengakomodasi penggunaan servo MX-28 yang lebih kuat.
(7)
Odroid XU-4 berada di dalam torso robot. Akses servo dilakukan secara langsung melalui
usb to serial FTDI sehingga tidak memerlukan adanya kontroler sekunder.
Gambar 3.6 Desain robot Bioloid-GP yang dimodifikasi.
3.4. Perancangan Perangkat Lunak
Dalam tugas akhir ini dibuat sebuah sistem perencanaan gerakan berjalan robot yang merupakan bagian dari sebuah sistem berjalan robot yang mencakup 2 bagian yaitu pembangkitan lintasan atau trayektori engkel dan panggul dan pengaturan pola langkah berjalan.
Pada Gambar 3.7 ditunjukkan diagram alir untuk pembangkit lintasan pada engkel dan panggul di mana parameter gerakan yang telah ditentukan diolah melalui rumus lintasan yang ada untuk menghasilkan kurva lintasan langkah robot. Hasil akhir berupa koordinat titik x, y, dan z untuk kaki kiri dan kanan robot yang merupakan hasil selisih dari koordinat engkel dan panggul. Perhitungan selisih dilakukan karena koordinat yang digunakan untuk sistem inverse kinematic merupakan koordinat dari satu titik end effector.
(8)
Gambar 3.7 Diagram alir algoritma pembangkit lintasan.
Berikut adalah penjelasan diagram alir algoritma pembangkit lintasan pada Gambar 3.7: 1. Algoritma dimulai setelah adanya permintaan gerakan.
2. Masukan dari sistem adalah penanda waktu dan parameter gerakan yang telah ditentukan sebelumnya sesuai dengan permintaan gerakan. Parameter gerakan mencakup panjang langkah engkel (f), tinggi langkah engkel (h), lebar langkah engkel ke samping (A), rasio langkah samping (η), faktor bentuk lintasan panggul arah x (αx), faktor bentuk lintasan panggul arah z (αz), jarak simpangan panggul
arah z (Sy), dan arah langkah (heading). Untuk parameter jarak (f), tinggi (h), lebar
samping (A), dan simpangan panggul (Sy) dalam satuan milimeter. Sedangkan heading dalam derajat.
3. Tentukan apakah kaki yang akan melangkah adalah kaki kanan atau kaki kiri. 4. Bila yang melangkah adalah kaki kanan, maka dikalkulasikan koordinat x,y, dan
z untuk kaki kanan. Kaki kiri tetap pada posisi sebelumnya.
5. Bila yang melangkah adalah kaki kiri, maka dikalkulasikan koordinat x,y, dan z
Terima input waktu dan parameter gerakan.
Start
Langkah kaki kanan?
Kalkulasi koordinat engkel dan panggul kaki kanan pada arah x,y,
dan z, koordinat kaki kiri = 0.
Kalkulasi koordinat engkel dan panggul kaki kiri pada arah x,y, dan
z, koordinat kaki kanan = 0.
Lintasan akhir = koordinat engkel – lintasan panggul
End
(9)
6. Dilakukan perhitungan selisih antara koordinat engkel dengan koordinat panggul. 7. Hasil perhitungan selisih merupakan koordinat pembentuk lintasan yang dihasilkan untuk gerakan berjalan, dan direalisasikan menggunakan inverse kinematic.
Pada Gambar 3.8 ditunjukkan diagram alir untuk algoritma pengaturan pergantian langkah kaki, di mana perubahan parameter gerakan dan perubahan langkah dilakukan setiap counter waktu t > periode.
Gambar 3.8 Diagram alir algoritma pergantian langkah. Start
Counter waktu sekarang > periode Ubah parameter
gerakan
Lakukan perhitungan lintasan
End Langkah
kaki kanan?
Langkah = kiri Langkah = kanan
Lakukan perhitungan lintasan
Waktu awal = waktu akhir Waktu akhir = periode Tambah counter waktu
Tambah counter waktu
Ya
Ya Tidak
(10)
Berikut adalah penjelasan diagram alir algoritma pembangkit pola langkah berjalan pada Gambar 3.8:
1. Awal algoritma dimulai dengan menentukan apakah penanda/counter waktu saat ini telah melebihi periode atau tidak.
2. Bila waktu belum melebihi periode yang ditentukan, maka dilakukan perhitungan lintasan dengan sistem pembangkit lintasan pada Gambar 3.7.
3. Setelah itu counter waku t ditambah satu atau diincrement. Counter waktu (t)
adalah counter yang berjalan selama satu kali perulangan program dan bukan waktu dalam satuan detik.
4. Ketika waktu telah melebihi periode, maka dilakukan penentuan ulang parameter gerakan.
5. Lalu ditentukan apakah langkah sebelumnya adalah langkah kaki kanan atau langkah kaki kiri. Kemudian penanda langkah kaki dirubah untuk melanjutkan ke langkah kaki berikutnya.
6. Kemudian dilakukan perhitungan lintasan menggunakan algoritma pembangkit lintasan seperti Gambar 3.7.
7. Setelah itu dilakukan pengaturan counter waktu, di mana waktu awal (t1) selanjutnya adalah waktu akhir (t2) sebeumnya, dan waktu akhir (t2) ditambah dengan periode. Sedangkan counter waktu sekarang (t) ditambah satu atau
(1)
Gambar 3.4 Penampang frontal menunjukkan gerakan langkah samping robot.
Untuk persamaan posisi panggul arah z terhadap waktu digunakan persamaan interpolasi polinomial orde 3 seperti pada arah x, tetapi dibagi menjadi 2 langkah yaitu untuk � < � < � dan � < � < � di mana t0 adalah setengah periode atau t2/2. Seperti pada persamaan (10) dan (11), di mana bentuk kurva ditentukan dari faktor bentuk � dan jarak koordinat arah z ditentukan oleh � .
̃
�� = ∑
�=̃
� �−�� −� � (10)
Di mana, ̃� � = ; ̃̇� � = −� ; ̃� � = −� ; ̃̇� � =
̃
�� = ∑
�=̃
� �−�� −� � (11)
Di mana, ̃� � = ; ̃̇� � = −� ; ̃� � = −� ; ̃̇� � =
Untuk mendapatkan nilai ̃� dilakukan normalisasi skala waktu seperti persamaan (12) dan (13).
[
̃
�
̃
�
̇
̃
�
̃
�
̇
]
(2)
[
] [ ] =
[
̃
�
̃
�
̇
� �̇
]
(13)
Dan untuk arah putaran kaki atau heading digunakan rumus (14) untuk kaki kiri dan (15) untuk kaki kanan, persamaan tersebut menentukan simpangan kaki robot. Di
mana
ℎ
� danℎ
� adalah heading awal kaki kiri dan kanan, sedangkanℎ
� danℎ
� merupakan heading akhir. Ilustrasi dari arah putaran kaki dapat dilihat pada Gambar 3.5.�
�� = ℎ
�+ ℎ
�− ℎ
� � −��−�(14)
�
�� = ℎ
�+ ℎ
�− ℎ
� � −��−�(15)
Gambar 3.5 Penampang transverse telapak kaki robot yang menunjukkan langkah putar.
3.3. Perancangan Perangkat Keras
Perangkat keras yang telah direalisasikan yaitu modifikasi terhadap kit robot bioloid GP yang sebagian besar rangka robot diganti menggunakan desain rangka dari robot Darwin-OP seperti pada Gambar 3.6 untuk mengakomodasi penggunaan servo MX-28 yang lebih kuat.
(3)
Odroid XU-4 berada di dalam torso robot. Akses servo dilakukan secara langsung melalui
usb to serial FTDI sehingga tidak memerlukan adanya kontroler sekunder.
Gambar 3.6 Desain robot Bioloid-GP yang dimodifikasi.
3.4. Perancangan Perangkat Lunak
Dalam tugas akhir ini dibuat sebuah sistem perencanaan gerakan berjalan robot yang merupakan bagian dari sebuah sistem berjalan robot yang mencakup 2 bagian yaitu pembangkitan lintasan atau trayektori engkel dan panggul dan pengaturan pola langkah berjalan.
Pada Gambar 3.7 ditunjukkan diagram alir untuk pembangkit lintasan pada engkel dan panggul di mana parameter gerakan yang telah ditentukan diolah melalui rumus lintasan yang ada untuk menghasilkan kurva lintasan langkah robot. Hasil akhir berupa koordinat titik x, y, dan z untuk kaki kiri dan kanan robot yang merupakan hasil selisih dari koordinat engkel dan panggul. Perhitungan selisih dilakukan karena koordinat yang digunakan untuk sistem inverse kinematic merupakan koordinat dari satu titik end effector.
(4)
Gambar 3.7 Diagram alir algoritma pembangkit lintasan.
Berikut adalah penjelasan diagram alir algoritma pembangkit lintasan pada Gambar 3.7:
1. Algoritma dimulai setelah adanya permintaan gerakan.
2. Masukan dari sistem adalah penanda waktu dan parameter gerakan yang telah ditentukan sebelumnya sesuai dengan permintaan gerakan. Parameter gerakan mencakup panjang langkah engkel (f), tinggi langkah engkel (h), lebar langkah engkel ke samping (A), rasio langkah samping (η), faktor bentuk lintasan panggul arah x (αx), faktor bentuk lintasan panggul arah z (αz), jarak simpangan panggul
arah z (Sy), dan arah langkah (heading). Untuk parameter jarak (f), tinggi (h), lebar
samping (A), dan simpangan panggul (Sy) dalam satuan milimeter. Sedangkan heading dalam derajat.
3. Tentukan apakah kaki yang akan melangkah adalah kaki kanan atau kaki kiri. 4. Bila yang melangkah adalah kaki kanan, maka dikalkulasikan koordinat x,y, dan
z untuk kaki kanan. Kaki kiri tetap pada posisi sebelumnya.
5. Bila yang melangkah adalah kaki kiri, maka dikalkulasikan koordinat x,y, dan z
Terima input waktu dan parameter gerakan.
Start
Langkah kaki kanan?
Kalkulasi koordinat engkel dan panggul kaki kanan pada arah x,y,
dan z, koordinat kaki kiri = 0.
Kalkulasi koordinat engkel dan panggul kaki kiri pada arah x,y, dan
z, koordinat kaki kanan = 0.
Lintasan akhir = koordinat engkel – lintasan panggul
End
(5)
6. Dilakukan perhitungan selisih antara koordinat engkel dengan koordinat panggul. 7. Hasil perhitungan selisih merupakan koordinat pembentuk lintasan yang dihasilkan untuk gerakan berjalan, dan direalisasikan menggunakan inverse kinematic.
Pada Gambar 3.8 ditunjukkan diagram alir untuk algoritma pengaturan pergantian langkah kaki, di mana perubahan parameter gerakan dan perubahan langkah dilakukan setiap counter waktu t > periode.
Gambar 3.8 Diagram alir algoritma pergantian langkah. Start
Counter waktu sekarang > periode Ubah parameter
gerakan
Lakukan perhitungan lintasan
End Langkah
kaki kanan?
Langkah = kiri Langkah = kanan
Lakukan perhitungan lintasan
Waktu awal = waktu akhir Waktu akhir = periode Tambah counter waktu
Tambah counter waktu Ya
Ya Tidak
(6)
Berikut adalah penjelasan diagram alir algoritma pembangkit pola langkah berjalan pada Gambar 3.8:
1. Awal algoritma dimulai dengan menentukan apakah penanda/counter waktu saat ini telah melebihi periode atau tidak.
2. Bila waktu belum melebihi periode yang ditentukan, maka dilakukan perhitungan lintasan dengan sistem pembangkit lintasan pada Gambar 3.7.
3. Setelah itu counter waku t ditambah satu atau diincrement. Counter waktu (t)
adalah counter yang berjalan selama satu kali perulangan program dan bukan waktu dalam satuan detik.
4. Ketika waktu telah melebihi periode, maka dilakukan penentuan ulang parameter gerakan.
5. Lalu ditentukan apakah langkah sebelumnya adalah langkah kaki kanan atau langkah kaki kiri. Kemudian penanda langkah kaki dirubah untuk melanjutkan ke langkah kaki berikutnya.
6. Kemudian dilakukan perhitungan lintasan menggunakan algoritma pembangkit lintasan seperti Gambar 3.7.
7. Setelah itu dilakukan pengaturan counter waktu, di mana waktu awal (t1) selanjutnya adalah waktu akhir (t2) sebeumnya, dan waktu akhir (t2) ditambah dengan periode. Sedangkan counter waktu sekarang (t) ditambah satu atau