planar 1 lengan

18
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 :

Upload: faza-putri-andini

Post on 29-Nov-2015

394 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: PLANAR 1 Lengan

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

lengan2. 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 jointInformasi 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 robotInformasi 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

Page 2: PLANAR 1 Lengan

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, dano an adalah translasi pada sumbu xn.

Dari Gambar 2 dapat didefinisikan suatu matrik transformasi homogen yang mengandungunsur rotasi dan translasi, seperti dituliskan pada persamaan (3.1):

Page 3: PLANAR 1 Lengan

Gambar 2. Matrik Transformasi Homogen

Untuk link dengan konsfigurasi sendi putaran, matrik transformasi A pada sendi ke-n adalahseperti 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.

Page 4: PLANAR 1 Lengan

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 2DOF 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 :

Page 5: PLANAR 1 Lengan

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

Page 6: PLANAR 1 Lengan
Page 7: PLANAR 1 Lengan

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. Persiapan1. Siapkan alat-alat percobaan : DC power supply, servo dan modul AT mega

85352. Atur nilai power supply sebesar 5 volt3. Catat dan ikuti instruksi dari dosen pengajar4. Hubungkan downloader dari komputer ke modul AT mega 85355. 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 85351. Buka dan jalankan Code Vision AVR2. Buat file baru dengan cara : FileNewProjectOk3. Pada kotak dialog, pilih tab Chip lalu setting Chip :ATMega 8535 dan set clock

= 4 MHz4. Pilih tab pada LCD dengan ketentuan LCD pada port B dan Chat/line=165. Pilih dan tab port C, setting untuk kotak dialog input semua6. 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 penyimpanan8. Flash modul dengan kode yang selesai di compile

C. Pengambilan Data1. Sudut didefinisikan dari 00 sampai dengan 900 dengan step 100.2. Catat posisi X dan Y pada tiap step sudut3. Bandingkan antara X dan Y melalui pengukuran dan secara teori

IV. PERALATAN

1. DC Power Supply2. Modul AT-Mega 85353. Modul Servo4. Downloader

V. RANGKAIAN PERCOBAAN

Page 8: PLANAR 1 Lengan

220 VAC

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. Keterangan1. Teta1 adalah sudut pada LCD (teori) dan hasil perhitungan2. Teta1 praktek adalah sudut yang ada pada modul. Dihitung dari x dan x13. X teori adalah koordinat pada LCD4. X praktek adalah koordinat pada modul

Teta1++

TETA1 = ( ) deg EoE = ( )

Page 9: PLANAR 1 Lengan

5. Y teori adalah koordinat pada LCD6. Y praktek adalah koordinat pada modul7. % E adalah prosentase kesalahan antara teori dan praktek8. Rumus % E = X (praktek) – X (teori) x 100 %

X (teori)B. Tabel Data

Teta1(teori)

Teta2(praktek)

%ETeta1

X YX

(teori)X

(praktek)% E

Y(teori)

Y(praktek)

%E

00 0.00 0.0 27.5 27.5 0.0 0.0 0.0 0.0100 12.30 23.0 27.1 27.5 1.5 4.8 6.0 25.0200 19.70 1.5 25.8 26.5 2.7 9.4 9.5 1.0300 30.60 2.0 23.8 24.5 2.9 13.8 14.5 5.0400 43.50 8.8 21.1 21.0 0.4 17.7 19.0 7.3500 51.30 2.6 17.7 18.0 1.6 21.1 22.5 6.6600 61.60 2.7 13.8 13.5 2.0 23.8 22.0 5.0700 72.50 3.6 9.4 8.5 9.5 25.8 27.0 4.6800 81.60 2.0 4.8 4.0 16.0 27.1 27.2 5.0900 900 0.0 0.0 0.0 0.0 27.5 27.5 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

Gambar 8. Ilustrasi tampilan pada LCD

D. Pengukuran teta1 secara praktek

TETA1 = ( 10 ) deg EoE = ( 27.1 , 27.5 )

Teta 1 TeoriY Teori

X Teori

Y

Page 10: PLANAR 1 Lengan

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 1

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

X

Page 11: PLANAR 1 Lengan

.

VIII. KESIMPULAN

1. Kinematika merupakan studi analitis pergerakan robot terhadap kerangka koordinat referensi lyang diam / bergerak tanpa memperhatikan gaya yang menyebabkan benda tersebut bergerak.

2. Kinematika maju menganalisa posisi End OF Effector dalam koordinat (x,y), bila diketahui besar sudut dari setiap joint.

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

Page 12: PLANAR 1 Lengan

LAMPIRAN

Source Program

#include <mega8535.h> #include <stdio.h>#include <delay.h>#include <math.h>

#asm .equ __lcd_port=0x18 ;PORTB#endasm#include <lcd.h>

// Declare your global variables hereunsigned 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 initializationlcd_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);

Page 13: PLANAR 1 Lengan

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); };}

Page 14: PLANAR 1 Lengan

Gambar-Gambar

Gambar 1. Rangkaian robot lengan

Gambar 2. Proses input dan output

Gambar 3. Pergerakan lengan 1 DoF