T1 612012025 BAB III

(1)

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 dasarnyarobot 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.


(2)

Berikut adalah foto robot :

Gambar 3.1 Robot Kondo KHR-3HV tampak depan

Gambar 3.2 Robot Kondo KHR-3HV tampak samping


(3)

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


(4)

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 0o dengan 3500 dan 270o dengan 11500.


(5)

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.


(6)

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.


(7)

3.2.Bagian Sistem dan Algoritma 3.2.1. Bagian Sistem

Gambar 3.9 Diagram Blok Sistem

Sistem terdiri dari PowerSupply, 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.


(8)

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.2Kinematika 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.


(9)

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 :


(10)

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 azakan memiliki

nilai jika terdapat nilai input heading tidak sama dengan 0. Berikut adalah persamaan-persamaan yang dipakai untuk mencari nilai-nilai diatas :

� = ℎ � � (1)

� = √ + (2)

= − �

� − ℎ � � (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 Ɵ2dan Ɵ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.


(11)

Gambar 3.13 Pemodelan Kinematika pada bidang Y-Z

Dari gambar di atas dapat dilihat Ɵ2 dan Ɵ6memiliki 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:

= − − (6)

� = � = − (

� ) (7)

= � × (8)


(12)

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 axdan 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 Ɵ4dengan Ɵ3, atau bisa dilihat dari persamaan berikut:


(13)

= cos− �� 2+ �� 2−� 2

× �� × �� (13)

= sin− �� ×sin �

� (14)

� = + (15)

� = 8 − (16)

� = � − � (17)

3.2.3Bagian 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 sudut-sudut yang akan membentuk posisi akhir end-effector.


(14)

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.


(15)

(1)

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 persamaan-persamaan yang dipakai untuk mencari nilai-nilai diatas :

� = ℎ � � (1)

� = √ + (2)

= − �

� − ℎ � � (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 Ɵ2dan Ɵ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.


(2)

Gambar 3.13 Pemodelan Kinematika pada bidang Y-Z

Dari gambar di atas dapat dilihat Ɵ2 dan Ɵ6memiliki 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:

= − − (6)

� = � = − (

� ) (7)

= � × (8)


(3)

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 axdan 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 Ɵ4dengan Ɵ3, atau bisa dilihat dari persamaan berikut:

� = √( − − × ) + − × (10)

� = √� + (11)


(4)

= cos− �� 2+ �� 2−� 2

× �� × �� (13) = sin− �� ×sin �

� (14)

� = + (15)

� = 8 − (16)

� = � − � (17)

3.2.3Bagian 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 sudut-sudut 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


(5)

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.


(6)