Anda di halaman 1dari 15

KINEMATIKA ROBOT PLANAR SATU LENGAN I. TUJUAN Setelah melakukan serangkaian praktikum ini, diharapkan : 1.

Mahasiswa mampu memahami dan mengerti cara kerja dari robot planar satu lengan 2. Mahasiswa mampu menganalisa dan menyimpulkan hasil dari praktikum kinematika robot planar satu lengan

II. DASAR TEORI Kinematika merupakan Studi analitis pergerakan lengan robot (robot arm) terhadap sistem kerangka koordinat referensi yang diam/bergerak tanpa memperhatikan gaya yang menyebabkan pergerakan tersebut. Terdapat dua topik pembahasan kinematika : 1. Direct/Forward Kinematics : (angles to positions) Diketahui : panjang setiap link dan sudut setiap joint Informasi yang akan diperoleh : posisi dari ujung lengan robot dalam kerangka 3 D 2. Inverse Kinematics : (Positions to angles) Diketahui : panjang setiap link, posisi ujung lengan robot Informasi yang akan diperoleh : sudut masing joint untuk dapat mencapai posisi tersebut

Gambar 1. Transformasi kinematika maju dan kinematika balik.

Terminologi Kinematika : a. Link, Joint, End-effector, gripper b. Base : Link (Link 0) yang terhubung pada kerangka koordinat diam (fixed) biasanya terhubung langsung pada sistem kerangka koordinat cartesian (world coordinate) c. Kinematic chain : sejumlah link yang dihubungkan oleh joint (yang membentuk sebuah manipulator)

d. Open kinematic chain : sejumlah link yang memiliki hubungan kerangka koordinat yang terbuka (acyclic) e. Mixed kinematic chain : sejumlah link yang memiliki hubungan tertutup Dari Gambar.1 dapat diperoleh dua pernyataan mendasar, yaitu: Jika jari-jari r dan q dari suatu struktur robot n-DOF diketahui, maka posisi P(x,y,z) dapat dihitung. Jika q merupakan sebuah fungsi berdasarkan waktu q(t), maka posisi dan orientasi P(t) dapat dihitung juga secara pasti. Transformasi koordinat ini dikenal sebagai kinematika maju. Jika posisi dan orientasi P(t) diketahui maka, q(t) tidak langsung dapat dihitung tanpa mendefinisikan berapa DOF struktur robot itu. Jumlah sendi n dari n-DOF yang dapat dibuat untuk melaksanakan tugas sesuai dengan posisi dan orientasi P(t) itu dapat bernilai n=(m,m+1, m+2,,m+p) dimana m adalah jumlah sendi minimum dan p adalah jumlah sendi yang dapat ditambahkan. Robot berstruktur m-DOF disebut dengan robot nonredundant, sedang bila (m+p)-DOF maka disebut sebagai robot redundant. Transformasi ini dikenal sebagai kinematika balik. Dari pernyataan di atas nampak bahwa analisis kinematika maju adalah relatif sederhana dan mudah diimplementasikan. Di sisi lain, karena variabel-variabel bebas pada robot yang diperlukan dalam akusisi kendali adalah berupa variabel-variabel sendi (aktuator), sedang tugas yang didefinisikan hampir selalu dalam acuan koordinat kartesian, maka analisis kinematika balik lebih sering digunakan dan dikaji secara mendalam dalam dunia robotik. Jadi, kinematika dalam robotik adalah suatu bentuk pernyataan yang berisi tentang deskripsi Matematik geometri dari suatu struktur robot. Dari persamaan kinematika dapat diperoleh hubungan antara konsep geometri ruang sendi pada robot dengan konsep koordinat yang biasa dipakai untuk menentukan kedudukan dari suatu obyek. Dengan model kinematika, programmer dapat menentukan konfigiurasi masukan acuan yang harus diumpanbalikan ketiap aktuator agar robot dapat melakukan gerakan simultan (seluruh sendi) untuk mencapai posisi yang diinginkan. Sebaliknya, informasi kedudukan (sudut) yang dinyatakan oleh tiap sendi ketika robot sedang melakukan suatu pergerakan, dengan menggunakan analisis kinematika, programmer dapat menentukan dimana posisi ujung link atau bagian robot yang bergerak itu dalam koordinat ruang. Model kinematika robot manipulator dapat ditentukan dengan menggunakan metoda Denavit- Hertenberg. Prinsip dasar metoda ini adalah melakukan transformasi koordinat antar dua link yang berdekatan. Hasilnya adalah suatu matrik (4x4) yang menyatakan sistem koordinat dari suatu link dengan link yang terhubung pada pangkalnya (link sebelumnya). Dalam konfigurasi serial, koodinat (ujung) link-1 dihitung berdasarkan sendi-0 atau sendi pada tubuh robot. Sistem koordinat link-2 dihitung berdasarkan posisi sendi-1 yang berada diujung link-1 dengan mengasumsikan link-1 adalah basis gerakan link-2. Demikian seterusnya, link-3 dihitung berdasarkan link-2, hingga link ke-n dihitung berdasarkan link-(n-1). Dengan cara ini maka tiap langkah perhitungan atau transformasi hanya melibatkan sistem 1-DOF saja. Terakhir, posisi koordinat lengan atau posisi ujung robot/end-effector akan dapat diketahui. Metoda Denavit- Hertenberg (DH) menggunakan 4 buah parameter, yaitu q, a, d dan a. Untuk robot n-DOF maka keempat parameter tersebut ditentukan hingga yang ke-n. Penjelasannya yaitu: o qn adalah sudut putaran pada sumbu zn-1, o an adalah sudut putaran pada sumbu xn, o dn adalah translasi pada sumbu zn-1, dan o an adalah translasi pada sumbu xn. Dari Gambar 2 dapat didefinisikan suatu matrik transformasi homogen yang mengandung unsur rotasi dan translasi, seperti dituliskan pada persamaan (3.1):

Gambar 2. Matrik Transformasi Homogen

Untuk link dengan konsfigurasi sendi putaran, matrik transformasi A pada sendi ke-n adalah seperti yang terlihat pada persamaan :

Untuk robot manipulator yang memiliki n-sendi, hubungan rotasi dan translasi antara endeffector terhadap koordinat dasar dinyatakan dalam matrik link 0An yang ditentukan dengan menggunakan aturan perkalian rantai matrik transformasi homogen seperti yang terlihat pada persamaan (3.3) berikut ini.

Persamaan kinematika maju yang menyatakan posisi dan orientasi end-effector terhadap posisi sendi ditentukan dengan mendekomposisi matrik link 0An untuk menghasilkan vektor posisi end-effector 0Pn dan matrik orientasi end-effector 0Rn seperti yang terlihat pada persamaan (3.4) berikut ini. Turunan pertama persamaan kinematika maju tersebut menghasilkan persamaan kinematika diferensial dan matrik Jacobian (JR) robot yang menyatakan hubungan antara kecepatan endeffector v terhadap kecepatan sendi q& seperti yang terlihat pada persamaan berikut ini.

Derajat Kebebasan/DoF(Degree of Freedom) Derajat kebebasan merupakan istilah yang sangat penting untuk dipahami. Derajat kebebasan adalah sambungan pada lengan, dapat dibengkokkan dan diputar. Jumlah derajat kebebasan dapat diketahui dari banyaknya aktuator dari lengan robot. Derajat kebebasan digunakan untuk mengetahui bagaimana robot nanti akan bergerak, tingkat kerumitan algoritma kendali, dan jumlah motor dari robot yang dibuat. Pada gambar berikut persamaan derajat kebebasan pada lengan robot dan lengan manusia.

Gambar 3 Persamaan Derajat Kebebasan Pada Lengan Robot Dan Lengan Manusia

Perhitungan Gaya Sendi / Lengan Perhitungan gaya sendi atau gaya lengan ini dimulai dengan perhitungan berat momen pada lengan dapat dihitung dengan melakukan titik perhitungan gaya dan untuk pemilihan motor bisa dipastikan bahwa motor yang dipilih tidak hanya dapat mendukung berat lengan robot, tetapi juga objek atau benda yang akan dibawa atau digenggam oleh gripper sendiri. Langkah pertama adalah untuk simbol dari gambar, dengan lengan robot terbentang ke panjang maksimum. Robot lengan dengan torsi dan analisis perhitungan parameter sebagai berikut : 1. Berat hubungan masing-masing sendi. 2. Berat masing-masing sendi. 3. Berat benda untuk mengangkat. 4. Panjang hubungan masing-masing.

Gambar 4. Parameter lengan 2DOF yang dihitung

Perhitungan momen pada lengan robot ini harus dilakukan pada setiap aktuator / motor pada lengan. Desain pada gambar 2.2 tentu hanya memiliki 2 DOF yang memerlukan untuk mengangkat objek dari berat objek yang diangkat dan dari masing-masing hubungan yang diasumsikan sebagai berikut : Torsi Lengan 1 : (2.1) Torsi Lengan 2 :

............................................................(2.2) Keterangan : M = Motor / Aktuator L = Panjang Lengan (Length) W = Berat Aktuator (Weight) 2 = Jumlah DOF (Degree Of Freedom) pada lengan. Pada rumus diatas perhitungan torsi untuk berat lengan, aktuator dan objek yang akan digenggam sedangkan untuk DOF (Degree Of Freedom) yang dipakai pada setiap sendi perhitungan yang dipakai tetap sama tetapi DOF (Degree Of Freedom) yang jumlahnya berbeda akan dihitung sesuai dengan jumlah DOF (Degree Of Freedom) yang dimiliki pada lengan tersebut Kinematika Robot Planar 1 DOF

Gambar5. Robot Planar 1 DOF

Gambar 6. Transformasi pada 1 DOF

Sumber: - Husein, Ali A., Kinematika Maju Manipulator(Forward Kinematics), Politeknik Elektronika Negeri Surabaya, Surabaya :2008. - Fathan, SISTEM PENGENDALI LENGAN ROBOT DENGAN INTERFACING VISUAL BASIC, Aceh :Politeknik Aceh, 2011 - Riyad Firdaus,Ahmad,PERMODELAN ROBOT MANIPULATOR,Batam:Politeknik Batam III. PROSEDUR PERCOBAAN A. Persiapan 1. Siapkan alat-alat percobaan : DC power supply, servo dan modul AT mega 8535 2. Atur nilai power supply sebesar 5 volt 3. Catat dan ikuti instruksi dari dosen pengajar 4. Hubungkan downloader dari komputer ke modul AT mega 8535 5. Cabut port D dan gunakan port D sebagai input dari motor servo dengan konfigurasi warna hitam no.1, warna merah no.2, dan port 8 ke kabel warna putih. B. Pemrogram AVR ATMega 8535 1. Buka dan jalankan Code Vision AVR 2. Buat file baru dengan cara : FileNewProjectOk 3. Pada kotak dialog, pilih tab Chip lalu setting Chip :ATMega 8535 dan set clock = 4 MHz 4. Pilih tab pada LCD dengan ketentuan LCD pada port B dan Chat/line=16 5. Pilih dan tab port C, setting untuk kotak dialog input semua 6. Pilih tab Timer, dan setting : - Clock Source = 4000000 KHz - Clock Value = 4000000 KHz - Mode = Fast PWM top = ICR1 - Out A = non inverting - Out B = Discontinue 7. Klik FileGeneratepilih lokasi penyimpanan 8. Flash modul dengan kode yang selesai di compile C. Pengambilan Data 1. Sudut didefinisikan dari 00 sampai dengan 900 dengan step 100. 2. Catat posisi X dan Y pada tiap step sudut

3. Bandingkan antara X dan Y melalui pengukuran dan secara teori

IV.

PERALATAN

1. DC Power Supply 2. Modul AT-Mega 8535 3. Modul Servo 4. Downloader V. RANGKAIAN PERCOBAAN

220 VAC

TETA1 = ( ) deg EoE = ( )

Teta1++

Gambar 7. Rangkaian percobaan

Keterangan : Port programmer module minsys DT HIQ programmer LPTI port Kabel Putih = signal Kabel Merah = VCC +5V Kabel Hitam = GND DC Power Supply = 220 V AC

VI. DATA PERCOBAAN A. Keterangan 1. Teta1 adalah sudut pada LCD (teori) dan hasil perhitungan 2. Teta1 praktek adalah sudut yang ada pada modul. Dihitung dari x dan x1 3. X teori adalah koordinat pada LCD 4. X praktek adalah koordinat pada modul 5. Y teori adalah koordinat pada LCD 6. Y praktek adalah koordinat pada modul 7. % E adalah prosentase kesalahan antara teori dan praktek 8. Rumus % E = X (praktek) X (teori) x 100 % X (teori) B. Tabel Data
Teta1 (teori) Teta2 (praktek) %E Teta1 X X (teori) X (praktek) %E Y (teori) Y Y (praktek)

%E

00 100 200 300 400 500 600 700 800 900

0.00 12.30 19.70 30.60 43.50 51.30 61.60 72.50 81.60 900

0.0 23.0 1.5 2.0 8.8 2.6 2.7 3.6 2.0 0.0

27.5 27.1 25.8 23.8 21.1 17.7 13.8 9.4 4.8 0.0

27.5 27.5 26.5 24.5 21.0 18.0 13.5 8.5 4.0 0.0

0.0 1.5 2.7 2.9 0.4 1.6 2.0 9.5 16.0 0.0

0.0 4.8 9.4 13.8 17.7 21.1 23.8 25.8 27.1 27.5

0.0 6.0 9.5 14.5 19.0 22.5 22.0 27.0 27.2 27.5

0.0 25.0 1.0 5.0 7.3 6.6 5.0 4.6 5.0 0.0

% Error X

Xpraktek Xteori x 100% Xteori

27.5 - 27.5 x 100% = 0 %

27.5

% Error Y

Ypraktek Yteori x 100% Yteori

0 - 0 x 100% = 0 % 0

% Error teta1 =

Teta praktek Teta teori x 100% Teta teori

0 - 0 x 100% = 0 %
0

C. Tampilan pada LCD Modul


TETA1 = ( 10 ) deg EoE = ( 27.1 , 27.5 ) Teta 1 Teori Y Teori

X Teori

Gambar 8. Ilustrasi tampilan pada LCD

D. Pengukuran teta1 secara praktek

Gambar 9. Ilustrasi pengukuran secara praktek

1 = tan -1 (Y/X)

VII. ANALISA PERCOBAAN Percobaan kali ini adalah tentang kinematika robot lengan 1 DOF. Kinematika merupakan studi analisis pergerakan robot terhadap sistem kerangka koordinat referensi yang diam / bergerak tanpa memperhatikan gaya yang menyebabkan benda tersebut bergerak. Terdapat dua jenis kinematika, yaitu kinematika maju dan kinematika balikan. Pada percobaan ini, kinematika maju digunakan untuk menganalisa posisi koordinat dari ujung robot (End Of Effector) dalam kerangka 2D/3D. Sedangkan analisa kinematika terbalik digunakan untuk mencari posisi dari koordinat End Of Effector pada kondisi nyata(aktual). Persamaan dari kinematika maju dan balikan pada robot lengan 1 DOF adalah:

Kinematika maju : x= L1cos


1

Y= L1sin

Kinematika terbalik :

Besar sudut dari servo ditentukan oleh lebar pulsa (PWM) dari pin OC1 pada mikrokontroller. Pada percobaan ini besar sudut 0o dan 90 o ditentulan dulu besar PWMnya. Kemudian nilai PWM yang diperlukan untuk mencapai sudut tertentu dapat dicari dengan :

Sehingga hasil koordinat (x,y) secara teori dapat dihitung pada program menggunakan analisa kinematika maju. Sedangkan pada keadaan aktual (praktikum), nilai
1

dapat dicari dengan menggunakan analisa kinematika terbalik. Karena pada

kondisi nyata, yang diketahui adalah nilai koordinat x,y dari End Of Effector.

OC1 pada percobaan di setting pada fastPWMtop dengan nilai maksimum pada ICR1=FFFFh. Sehingga nilai PWM maksimum adalah 0,016s. Karena timer menggunakan spees 4MHz. Dari percobaan didapati eror rata-rata 4% dari nilai secara teori. Eror rata-rata didapati dari kesalahan ukur nilai(x,y).

.
VIII. KESIMPULAN

1.

Kinematika merupakan studi analitis pergerakan robot terhadap kerangka koordinat referensi lyang diam / bergerak tanpa memperhatikan gaya yang menyebabkan benda tersebut bergerak. Kinematika maju menganalisa posisi End OF Effector dalam koordinat (x,y), bila diketahui besar sudut dari setiap joint. Kinematika terbalik menganalisa besar sudut dari setiap joint bila diketahui posisi koordinat dari End Of EffectorPada blok diagram sebuah kinematika mempunyai input parameter joint yang dapat berupa joint putar maupun joint geser, dan menghasilkan output berupa End of Efector (EoE) yang berupa posisi atau koordinat

2. 3.

LAMPIRAN
Source Program
<mega8535.h> <stdio.h> <delay.h> <math.h>

#include #include #include #include

#asm .equ __lcd_port=0x18 ;PORTB #endasm #include <lcd.h> // Declare your global variables here unsigned char kata[17]; float teta1,xa,ya,teta1rad; const int OCR1A0=1795, OCR1A90=5510; const float L1=53, pi= 3.1428571428571428571428571428571; void main(void) { PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x20; TCCR0=0x00; TCNT0=0x00; OCR0=0x00; TCCR1A=0x82; TCCR1B=0x19; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0xFF; ICR1L=0xFF; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x00; ACSR=0x80; SFIOR=0x00; // LCD module initialization lcd_init(16); while (1) { if(PINC.0==1)teta1 -=0.1; if(teta1<=0.0)teta1=0.0; if(PINC.1==1)teta1 +=0.1; if(teta1>=90.0)teta1=90.0; sprintf(kata,"teta1 = %.1f deg",teta1); lcd_gotoxy(0,0); lcd_puts(kata);

OCR1A = OCR1A0 + ((teta1/90)*(OCR1A90-OCR1A0)); teta1rad = (teta1*pi)/180; xa=L1*cos(teta1rad); ya=L1*sin(teta1rad); sprintf(kata,"EoE = %.1f, %.1f",xa,ya); lcd_gotoxy(0,1); lcd_puts(kata); delay_ms(20); }; }

Gambar-Gambar

Gambar 1. Rangkaian robot lengan

Gambar 2. Proses input dan output

Gambar 3. Pergerakan lengan 1 DoF