BAB III PERANCANGAN
Pada bab ini akan dibahas perancangan tugas akhir yang meliputi mekanik robot yang dibuat, sistem kontrol robot, dan algoritma perangkat lunak pada robot.
3.1. Bagian Perangkat Keras Pada bagian mekanik akan dijelaskan bentuk dan ukuran robot, hardware yang digunakan dan cara kerja hardware. 3.1.1. Robot Humanoid Kondo KHR-3HV Basis perancangan menggunakan robot Kondo KHR-3HV yang merupakan robot humanoid yang dirakit oleh Jepang dan digunakan sebagai robot petarung di negara asalnya. Kondo KHR-3HV merupakan edisi ketiga dari robot Kondo Kagaku. Pemilihan Kondo KHR-3HV karena harga robot dan suku cadang lebih terjangkau, badan robot yang kokoh, dan pada dasarnya robot digunakan untuk bertarung. Robot ini mampu menggerakkan servo motor hingga 22 Degree of Freedom (DOF). Saat mengikuti kompetisi KRSBI, robot ini hanya menggunakan 20 DOF. Dengan rincian dua servo motor untuk kepala dan leher, tiga pasang servo motor untuk dua lengan, dan enam pasang servo motor untuk dua kaki. Bagian mekanik robot memiliki tinggi 48 cm, lebar 20,5 cm dan sudah memenuhi aturan ukuran robot maksimal pada KRSBI. Pada tugas akhir ini hanya menggunakan kaki robot saja untuk mengaplikasikan kinematika balik. Ukuran kaki robot memiliki panjang 26 cm dan digunakan sebagai besaran perhitungan kinematika balik, dengan enam servo pada masing-masing kaki. Gambar 3.1 menunjukkan ukuran panjang kaki robot tiap frame dan arah perputaran servo.
11
Berikut adalah foto robot :
Gambar 3.1 Robot Kondo KHR-3HV tampak depan
Gambar 3.2 Robot Kondo KHR-3HV tampak samping
Gambar 3.3 Ukuran Panjang Kaki Robot dan Arah Perputaran Servo
12
3.1.2. Servo Motor ICS KRS-2552RHV Servo yang digunakan adalah dua belas servo KRS-2552RHV (Gambar 3.4) dengan torsi sebesar 14 kgfcm dan besar perputaran sudut maksimal 270o. Gambar 3.5 menunjukan nama setiap servo kaki yang terpasang.
Gambar 3.4 Servo KRS-2552RHV
Gambar 3.5 Penamaan Servo Motor
13
3.1.3. Serial USB Adapter High Speed Serial USB Adapter High Speed (HS) (Gambar 3.6) merupakan USB bawaan dari robot Kondo KHR-3HV yang digunakan untuk memberi nomor identitas ke servo KRS-2552RHV. Namun USB adapter ini juga bisa digunakan sebagai pengirim data dari Odroid XU4 ke servo motor ICS KRS-2552RHV. Data yang dikirim berupa nilai servo yang dikonversi dari derajat ke nilai yang bisa dibaca servo yaitu sebagai berikut : untuk data dari Odroid XU4 berupa derajat dari 0o hingga 270o, di mana 270o merupakan perputaran sudut maksimum dari servo KRS-2552RHV. Sedangkan nilai yang dapat diterima oleh servo KRS-2552RHV adalah angka offset servo yaitu angka dari 3500 hingga 11500. Maka dilakukan konversi dengan cara dibandingkan 0 o dengan 3500 dan 270o dengan 11500.
Gambar 3.6 Serial USB Adapter HS
14
3.1.4. Odroid XU4 Odroid XU4 (Gambar 3.7) adalah mini PC yang digunakan sebagai prosesor algoritma dan kontroler servo motor. Odroid XU4 merupakan sebuah Single Board Computer (SBC) yang terdiri dari satu buah board dengan kemampuan operasi layaknya komputer personal. Odroid XU4 dipilih karena ukurannya kecil yaitu 82 x 58 x 22 mm dan kecepatan proses 1.5Ghz quad core. Odroid XU4 akan diisi sistem operasi Linux dengan distro Ubuntu. Odroid XU4 ini mampu memproses algoritma dengan ringan dan cepat serta dapat mengontrol servo motor. Pada perancangan digunakan komunikasi serial antara mini PC dengan ke 12 servo kaki melalui Serial USB Adapter HS. Pada Odroid hanya digunakan Port USB saja dan disambungkan ke Serial USB Adapter HS. Supply Odroid menggunakan Battery Turnigy 2.2mah 11.1Volt 3 cells yang telah dipotong menjadi 5 Volt menggunakan Regulator UBEC Turnigy 5 Volt.
Gambar 3.7 Odroid XU4
15
3.1.5. Bagan Perangkat Keras
Gambar 3.8 Bagan Skematik Sistem Gambar 3.8 adalah bagan pada sistem yang dibuat, terdapat board PCB yang tidak dijelaskan pada diagram blok sistem. Pada board PCB terdapat rangkaian supply dari battery menuju regulator ke Odroid XU4 dan servo, serta rangkaian untuk pengiriman data dari Serial USB Adaptor HS ke servo.
16
3.2. Bagian Sistem dan Algoritma 3.2.1. Bagian Sistem
Gambar 3.9 Diagram Blok Sistem Sistem terdiri dari Power Supply, Voltage Regulator, Odroid XU4, Serial USB Adapter, dan 12 Servo KRS-2552RHV. Sistem dimulai dari Odroid XU4 yang bekerja sebagai prosesor algoritma dan kontroler servo. Odroid XU4 dicatu dengan daya sebesar 5 Volt dari Battery 2.2mAh 11.1 Volt melalui Voltage Regulator UBEC 5 Volt. Data masukan Odroid merupakan input melalui program atau data dari pembangkit pola gerakan kemudian diproses sehingga didapat hasil nilai-nilai sudut servo yang akan dikomunikasikan ke servo KRS-2552RHV melalui Serial USB Adapter HS yang terhubung dengan Odroid XU4 melalui USB Port. Serial USB Adapter HS akan mengirimkan nilai ke masing-masing servo KRS-2552RHV. Servo KRS-2552RHV dicatu menggunakan Battery 2.2mAh 11.1Volt tanpa menggunakan regulator.
17
Pada Diagram Blok Sistem (Gambar 3.8) terdapat dua jenis anak panah, warna putih dan warna hitam. Anak panah warna putih menunjukan distribusi tegangan dari Battery ke Servo KRS-2552RHV dan Odroid XU4. Anak panah warna hitam menunjukan aliran data dari Odroid XU4 ke Serial USB Adapter HS kemudian ke setiap servo KRS-2552-RHV.
3.2.2 Kinematika Balik Untuk memudahkan perhitungan kinematika balik digunakan pendekatan geometri segitiga untuk mencari besar sudut pada konfigurasi setiap rantai kinematika. Pertama diketahui adalah panjang kaki robot yaitu 260 mm, akan digunakan sebagai posisi standby pada sumbu y. Panjang frame 1 dan frame 2 masing-masing 65 mm (Gambar 3.10).
Gambar 3.10 Gambar Frame Kaki Robot Pergerakan kaki dalam tiga dimensi (x, y, z) akan dihitung dan dibagi menjadi tiga tahap. Perhitungan dimulai dari bidang yang memakai DOF yang paling sedikit ke bidang yang memakai DOF yang paling banyak, pada masing-masing bagian yaitu bidang X-Y memakai satu DOF, bidang Y-Z dua DOF, dan bidang X-Y memakai tiga DOF. Berikut adalah gambar urutan servo yang akan digunakan dalam penjelasan diagram kartesian dan perhitungan matematis.
18
Gambar 3.11 Gambar Urutan Servo Kaki dan Pergerakan Kaki Tahap pertama perhitungan arah hadap atau heading dan gerak kaki pada bidang X-Z. Pada tahap ini, nilai-nilai input yang harus diketahui adalah Heading, px, dan pz. Untuk heading hanya menggunakan input nilai sudut saja. Heading, px, dan pz adalah input nilai bisa berasal dari perhitungan pembangkit pola gerakan langkah atau diinput melalui program. Terdapat empat buah frame pada setiap kaki, dan panjang frame dari servo 0 ke servo 2, servo 2 ke servo 3, servo 3 ke servo 4, dan servo 4 ke telapak kaki masing-masing adalah sama yaitu 65 mm (Gambar 3.11). Berikut adalah gambar joint space pada bidang X-Z :
Gambar 3.12 Pemodelan Kinematika pada bidang X-Z
19
Gambar di atas adalah pemodelan kinematika tampak atas dari kaki robot jika kaki robot digerakkan pada bidang X-Z. Dapat diketahui (px, pz) adalah titik (point = p) input algoritma, Ζ1 adalah besar sudut untuk heading (servo 0) yang dituju, Rxz adalah resultan gerak kaki pada sumbu (x) dan sumbu (z). B adalah besar sudut untuk mencari arah orientasi gerak kaki (ax, az) menuju sumbu (z). ax dan az akan memiliki nilai jika terdapat nilai input heading tidak sama dengan 0. Berikut adalah persamaanpersamaan yang dipakai untuk mencari nilai-nilai diatas : π1 = βππππππ
(1)
π
π₯π§ = βππ₯ 2 + ππ§ 2
(2)
π
π΅ = π‘ππβ1 (ππ§ ) β βππππππ
(3)
ππ§ = π
π₯π§ Γ π πππ΅
(4)
ππ₯ = π
π₯π§ Γ πππ π΅
(5)
π₯
Tahap kedua berisi perhitungan gerak kaki pada bidang Y-Z yaitu gerakan kaki mengangkat (y) dan ke arah samping (z). Pada tahap ini, nilai-nilai input yang harus diketahui adalah nilai py, ay, dan az. Nilai az sudah diketahui dari perhitungan tahap pertama. Pada perhitungan ini menggunakan pergerakan servo 1 (Ζ2) dan servo 5 (Ζ6) pada Gambar 3.11. Nilai sudut yang dihasilkan adalah sama antara nilai Ζ2 dan Ζ6 namun orientasi perputaran servo berbeda. Hal ini disebabkan konfigurasi kaki robot yang mengharuskan telapak kaki harus tetap mendatar agar robot dapat berdiri. Berikut adalah gambar pemodelan kinematika pada bidang Y-Z.
20
Gambar 3.13 Pemodelan Kinematika pada bidang Y-Z Dari gambar di atas dapat dilihat Ζ2 dan Ζ6 memiliki besar sudut yang sama, dan nilai Ζ2 dapat dicari besar sudut yang terbentuk dari frame ay dengan az, ay adalah panjang frame yang bergerak dari servo 1 ke servo 5 sepanjang sumbu y (Gambar 3.10), dan Ryz adalah resultan gerak kaki pada sumbu (y) dan sumbu (z). by dan bz adalah panjang garis bantu untuk menghitung resultan gerak kaki yang memiliki titik tumpu yang berbeda pada bidang Y-Z dan X-Y. Berikut adalah persamaan 6 untuk mencari nilai diatas: ππ¦ = ππ¦ β 25ππ β 25ππ π
(6)
π2 = π6 = π‘ππβ1 (π π§ )
(7)
ππ¦ = πππ π2 Γ 40ππ
(8)
ππ§ = π πππ2 Γ 40ππ
(9)
π¦
21
Tahap terakhir adalah perhitungan kinematika pada bidang X-Y yang akan mengatur gerak kaki robot melangkah ke depan sumbu (x) dan mengangkat sumbu (y). Pada tahap ini, nilai-nilai input yang harus diketahui adalah py, ax, az, by,dan bz. Nilai ax dan az sudah diketahui dari perhitungan tahap pertama, sedangkan nilai by, dan bz, diketahui dari perhitungan tahap kedua.
Gambar 3.14 Pemodelan Kinematik pada bidang X-Y Tahap ini merupakan tahap yang paling panjang karena memiliki tiga DOF. Pergerakan kaki pada bidang X-Y akan terjadi pada servo 2, servo 3, dan servo 4 (Gambar 3.11), di mana servo 3 adalah lutut robot. Ryz adalah resultan gerak antara sumbu (y) dan sumbu (z). Selanjutnya dapat dilihat dari Gambar 3.14 bahwa Ζ3 terbentuk dari penjumlahan sudut sA dengan sudut sB. sA terbentuk dari sudut antara Rxy dengan panjang garis antara servo 2 dengan servo 4 atau Rb, Rb didapat dari pitagoras Ry dengan ax. Ζ4 dapat diketahui dari sudut 180o yang dikurangi oleh sudut yang terbentuk antara frame1 dengan frame2 dengan panjang yang sama. Kemudian Ζ5 dapat diperoleh dari selisih Ζ4 dengan Ζ3, atau bisa dilihat dari persamaan berikut: 2
π
π¦π§ = β(ππ¦ β 50ππ β 2 Γ ππ¦ ) + (ππ§ β 2 Γ ππ§ )2 π
π₯π¦ = βπ
π¦π§ 2 + ππ₯ 2 π π΄ = sinβ1 (ππ₯ /π
π₯π¦) 22
(10) (11) (12)
πππππ 2 +πππππ 2 βπ
π₯π¦ 2
π πΆ = cos β1 (
2ΓπππππΓπππππ
πππππΓsin π πΆ
π π΅ = sinβ1 (
π
π₯π¦
)
)
(13) (14)
π3 = π π΄ + π π΅
(15)
π4 = 180 β π πΆ
(16)
π5 = π4 β π3
(17)
3.2.3 Bagian Algoritma
Gambar 3.15 Diagram Alir Algoritma Algoritma dimulai dari deklarasi nilai seperti phi dan radian, inisialisasi variabel seperti nama sudut, dan variabel untuk menyimpan perhitungan matematis. Nilai posisi final diinput ke dalam program atau mendapat masukan dari perhitungan pembangkit pola gerakan langkah, kemudian masuk ke perhitungan kinematika balik yang berisi algoritma penghitungan yang menghasilkan nilai sudutsudut yang akan membentuk posisi akhir end-effector. Setelah melakukan perhitungan, selanjutnya masuk ke koversi nilai hasil perhitungan yang berupa nilai sudut akan dikonversi ke nilai offset servo agar servo 23
dapat menerima nilai tersebut. Konversi nilai dan pengaturan orientasi servo dilakukan secara bersamaan. Pengaturan orientasi servo akan mengatur arah perputaran servo, yaitu ke arah putaran clockwise atau counter-clockwise agar perputaran servo berputar sesuai pergerakan kaki manusia. Langkah selanjutnya adalah mengirimkan nilai offset servo ke servo agar servo dapat bergerak sesuai nilai perhitungan algoritma. Pengiriman data nilai merupakan protokol pengiriman dari Serial USB Adapter HS. Pergerakan langkah akan disempurnakan dengan algoritma keseimbangan dan algoritma selesai.
24
25