1 perancangan dan pembuatan trajectory planning

advertisement
PERANCANGAN DAN PEMBUATAN TRAJECTORY PLANNING (PERENCANAAN LINTASAN)
UNTUK ARTICULATED ROBOT ARM MENGGUNAKAN METODE GENETIC ALGORITHM (GA)
Reza Akbar Rizaldy
Jurusan Teknik Mekatronika, Politeknik Elektronika Negeri Surabaya
Kampus PENS-ITS Sukolilo, Surabaya
[email protected]
ABSTRAK -- Saat ini sebuah produk robot yang
memiliki sistem dengan tingkat kecerdasan yang tinggi
berkembang dengan pesat. Pengontrolan dapat
dilakukan melalui sebuah metode yang terstruktur
seperti Genetic Algorithm. Oleh karena itu, makalah ini
menerangkan sebuah perancangan Trajectory Planning
yang menggunakan Genetic Algorithm untuk sebuah
robot lengan khususnya Articulated Robot Arm.
Dengan menggunakan metode tersebut robot ini dapat
memiliki sebuah sistem robot dengan kecerdasan
terstruktur. Robot ini memiliki presepsi gerak untuk
mencapai titik tujuan sesuai dengan lintasan yang telah
direncanakan. Robot ini memiliki keleluasaan gerak
karena robot ini dirancang memiliki 4 buah derajat
kebebasan.
Kata Kunci: Articulated Robot Arm, Trajectory
Planning, Genetic Algorithm.
.
1. PENDAHULUAN
Robot berasal dari kata “Robota” yang berarti
tenaga budak. Sedangkan di masyarakat pada
umumnya, istilah “Robot” dipresepsikan sebagai mesin
dengan perangkat mekanik dan peralatan elektronik
dalam
bentuk
tertentu
yang
dapat
melakukan/menentukan sesuatu sesuai tugas yang telah
diberikan. Salah satu bentuk robot yang telah banyak
dibuat adalah robot-robot yang menyerupai bentuk
lengan manusia. Robot lengan ini tentunya berbentuk
lengan-lengan mekanik yang banyak digunakan
sebagai pengganti tenaga manusia, salah satunya dalam
bidang industri.
Berdasarkan ruang kerjanya, robot dibagi menjadi
beberapa macam, salah satunya adalah Articulated
Robot Arm. Robot ini memiliki ruang kerja yang lebih
luas serta dapat bergerak secara fleksibel dan luwes.
Pergerakan yang mendominasi robot ini adalah rotasi.
Pergerakan robot ini tentunya dikontrol oleh sebuah
sistem robot yang memiliki tingkat kecerdasan yang
tinggi. Pengontrolan dapat dilakukan melalui sebuah
perencanaan lintasan yang terstruktur sehingga robot
memiliki presepsi untuk mencapai suatu tujuan
tertentu. Berdasarkan informasi perseptual, sebuah
robot dengan kecerdasan terstruktur membuat
keputusan dan tindakan dari empat tingkat secara
paralel. Aksi ini terdiri dari gerakan reaktif (refleks),
gerakan terampil, perencanaan gerakan primitif, dan
perencanaan gerak. Selain itu, menghasilkan gerak
robot melalui interaksi dengan lingkungan, dan pada
saat yang sama, secara bertahap memperoleh
keterampilan berdasarkan gerakan yang dihasilkan.
Untuk memperoleh keterampilan dan gerak, setidaknya
robot membutuhkan evaluasi internal dan eksternal.
Makalah ini menerapkan algoritma genetika dalam
penentuan lintasannya.
Sesuai metode yang diterapkannya yaitu
Algoritma Genetika (Genetic Algorithm), robot lengan
akan memiliki keluaran sebagai robot cerdas yang
mampu mencari lintasan terbaik untuk mencapai suatu
titik. Dengan hanya memberikan informasi theta pada
setiap joint dimana theta-theta ini merupakan sebuah
konfigurasi pergerakan lengan robot maka robot akan
bergerak sesuai dengan informasi tersebut.
2.
PERANCANGAN SISTEM
Perancangan
secara
keseluruhan
untuk
menyelesaikan Tugas Akhir ini meliputi perancangan
mekanik, perancangan hardware, dan perancangan
software. Berikut ini pada Gambar 2.1 merupakan
skema rangkaian sistem untuk menggambarkan urutan
kerja sistem pada proyek akhir ini:
Gambar 2.1 Skema Rangkaian Sistem
Koordinat merupakan masukan awal untuk
memberikan informasi kepada motor untuk melakukan
pergerakan. Koordinat dimasukkan melalui komputer
yang kemudian diinterfacekan ke mikrokontroler.
Kemudian untuk mengontrol posisi motor dilakukan
dengan menggunakan potensiometer. Potensiometer
akan menginformasikan besar sudut yang telah dicapai.
2.1 Analisa Kinematik
Pada tahap ini perhitungan kinematika dilakukan
pemodelan secara DH Parameter, yang selanjutnya
dipakai sebagai acuan untuk perhitungan kinematika
maju atau yang dikenal sebagai forward kinematics.
Untuk
memprmudah
penginisialisasian,
frame
assignment ditunjukkan pada Gambar 2.2
1
1
C2
S
A2   2
0

0
C3
S
3
A3  
0

0
Mempersingkat perhitungan akan diberikan beberapa
notasi yang akan dijumpai dalam perhitungan matriks
transformasi, antara lain:
(2.6)
 S3
C3
0
0
0 a3C3 
0 a3 S3 

1
0 

0
0 
(2.7)
Matriks transformasi (join pitch)
C 4
S
3
A4   4
0

0
 S4
C4
0
0
0 a4C4 
0 a 4 S 4 
1
0 

0
1 
3
A4 :
(2.8)
0
 Matriks transformasi T4 :
0
T4  0 A 1 1 A 2 2 A 3 3 A 4
0
Tabel 2.1 Parameter Kinematka Lengan
Robot
0
0 a 2C2 
0 a 2 S 2 
1
0 

0
1 
2

Gambar 2.2 Frame Assignment Lengan Robot
Setelah diagram koordinat link dari robot
ditentukan, dengan representasi DH didapatkan
beberapa parameter kinematika dari robot lengan
Articulated. Parameter-parameter kinematika akan
dijabarkan ke dalam tabel di bawah ini:
C2
0
Matriks transformasi (join elbow) A3 :

2
 S2
C1
S
T4   1
0

0
0
S1
0
0  C1 0 

1
0
d1 

0
0
1
C3  S3 0 a 3C3  C4

 S
S3 C3 0 a 3S3    4
0 0 1 0   0

 
0 0 0 1   0
 S2 0 a 2C2 
C 2 0 a 2S2 

0 1 0 

0 0 1 
 S 4 0 a4C4 
C4 0 a4 S 4 

0 1
0 

0 0
1 
C 2
S
 2
0

0
C1C234  C1S234 S1 C1(a4C234  a3C23  a2C2 )
S C
 S1S234  C1 S1 (a4C234  a3C23  a2C2 ) 
  1 234
 S234
C234
0 a4C234  a3C23  a2C2  d1


0
0
0
0


Ci  cos i
S i  sin  i
Cij  cos  i   j 
Sehingga persamaan matriks lengan robot articulated
yang didapatkan adalah :
nx = C 1 C 234 5
(2.9)
ny = S 1 C 234 5
( 2.10)
S ij  sin  i   j 
nz = S 234
Aturan perhitungan trigonometri juga akan dipakai
untuk meyederhanakan matriks transformasi, yaitu :
Sin     sin cos   cos sin 
(2.1)
(2.2)
(2.3)
(2.4)
Sin     sin cos   cos sin 
Cos     cos  cos   sin  sin 
Cos     cos  cos   sin  sin 
Berdasarkan Tabel 2.1 maka didapatkan matriks seperti
berikut:
 Matriks transformasi (join base)
C1
S
0
A1   1
0

0
0 S1
0  C1
1
0
0
0
0
A1 :
0
0 
d1 

1
 Matriks transformasi (join shoulder)
(2.5)
sx =  C 1 S 234 5
( 2.12)
sy =  S 1 S 234
( 2.13)
C 234
( 2.14)
sz =
ox = S 1
( 2.15)
oy =  C 1
oz = 0
( 2.16)
px= C 1 ( a 4 C 234  a 3 C 23  a 2 C 2 )
(2.17)
( 2.18)
py= S 1 (a 4 C 234  a 3 C 23  a 2 C 2 )
( 2.19)
pz= a 4 C 234  a 3 C 23  a 2 C 2  d 1
( 2.20)
2.2 Algoritma Genetika
Komponen-komponen utama dalam proses Genetic
Algorithm adalah:
2.2.1
1
A2 :
( 2.11)
Random populasi
Dalam tahap ini dilakukan teknik penyandian
untuk meninisialisasi parameter yang dibutuhkan.
Teknik penyandian disini meliputi penyandian gen dari
kromosom. Gen merupakan bagian dari kromosom.
Satu gen biasanya akan mewakili satu variabel. Gen
2
dapat direpresentasikan dalam bentuk: string bit,
pohon, array bilangan real, daftar aturan, elemen
permutasi, elemen program, atau representasi lainnya
yang dapat diimplementasikan untuk operator genetika.
Di dalam TA ini teknik penyandian dilakukan dengan
menggunakan string bit. Untuk posisi awal dan akhir
ditentukan dengan random dimisalkanhanya sebuah
individu, untuk prosenya sebagai berikut:
2.2.3
Cross Over
CrossOver adalah menggabungkan dan
mengawinkan dua individu dan menghasilkan dua
individu baru. Operator ini bekerja mengambil 2
individu dan memotong string kromosom mereka pada
posisi yang terpilih secara acak.
Gambar 2.4 Ilustrasi operasi crossover dalam
GA
Gambar 2.3 Ilustrasi Pergerakan Lengan
Operasi ini tidak selalu dilakukan pada semua individu
yang ada. Individu dipilih secara acak untuk dilakukan
crossover dengan Pc antara 0,6- 0,95. Jika pindah
silang tidak dilakukan maka nilai dari induk akan
diturunkan kepada keturunannya
Misalkan ada 2 kromosom dengan panjang 12:
Posisi penyilangan yang terpilih : misalkan 5
Setelah penyilangan, diperoleh kromosom-kromosom
baru:
2.2.4
Gambar 2.4 Ilustrasi Penyusunan Trayektori
2.2.2
Seleksi berdasarkan Nilai Fitness
Seleksi akan menentukan individu-individu
mana saja yang akan dipilih untuk dilakukan
rekombinasi dan bagaimana offspring (keturunan/anak)
terbentuk dari individu-individu terpilih tersebut.
Langkah pertama yang dilakukan dalam seleksi ini
adalah pencarian nilai fitness. Masing-masing individu
dalam suatu wadah seleksi akan menerima probabilitas
reproduksi yang tergantung pada nilai objektif dirinya
sendiri terhadap nilai objektif dari semua individu
dalam wadah seleksi tersebut. Nilai fitness inilah yang
nantinya akan digunakan pada tahap-tahap seleksi
berikutnya. Di dalam kasus lengan robot ini rumus
fitness yang disediakan adalah:
=
+
(2.21)
Dimana:
,
= koefisien bobot
= jumlah kuadrat jarak antara dua konfigurasi
= Jumlah kuadrat dari sudut antara 2 konfigurasi
pada
masing – masing joint
Mutasi
Setelah mengalami proses rekombinasi, pada
offspring (keturunan/anak) dapat dilakukan mutasi.
Variabel offspring dimutasi dengan menambahkan nilai
random yang sangat kecil (ukuran langkah mutasi),
dengan probabilitas yang rendah. Peluang mutasi (pm)
didefinisikan sebagai persentasi dari jumlah total gen
pada populasi yang mengalami mutasi. Peluang mutasi
mengendalikan banyaknya gen baru yang akan
dimunculkan untuk dievaluasi. Jika peluang mutasi
terlalu kecil, banyak gen yang mungkin berguna tidak
pernah dievaluasi. Tetapi bila peluang mutasi ini terlalu
besar, maka akan terlalu banyak gangguan acak,
sehingga anak akan kehilangan kemiripan dari
induknya, dan juga algoritma akan kehilangan
kemampuan untuk belajar dari histori pencarian. Ada
beberapa pendapat mengenai laju mutasi ini. Ada yang
berpendapat bahwa, laju mutasi sebesar 1/n akan
memberikan hasil yang cukup baik. Ada juga yang
beranggapan bahwa laju mutasi tidak tergantung pada
ukuran populasinya. Kromosom hasil mutasi harus
diperiksa, apakah masih berada pada domain solusi,
dan bila perlu bisa dilakukan perbaikan.
Mutasi ini berperan untuk menggantikan gen
yang hilang dan populasi akibat proses seleksi yang
memungkinkan munculnya kembali gen yang tidak
muncul pada inisialisasi populasi.
Dalam hal ini, metode mutasi yang digunakan
di dalam Tugas Akhir ini adalah mutasi biner artinya
proses mutasi dilakukan terhadap setiap bit biner. Cara
sederhana untuk mendapatkan mutasi biner adalah
3
dengan mengganti satu atau beberapa nilai gen dari
krornosom. Langkah-langkah mutasi ini adalah:
a)
Hitung jumlah gen pada populasi (panjang
kromosom dikalikan dengan ukuran populasi).
b)
Pilih secara acak gen yang akan dimutasi.
c)
Tentukan kromosom dari gen yang terpilih
untuk dimutasi.
Ganti nilai gen (0 ke 1, atau 1 ke 0) dari kromosom
yang akan dimutasi tersebut.
3.
HASIL
Pada bab ini akan dibahas mengenai pengujian
algoritma pada robot dengan kondisi yang sebenarnya.
Hal ini bertujuan untuk mengetahui apakah sistem yang
dibuat sudah sesuai keinginan atau belum dan juga
untuk mengetahui sejauh mana ketepatan algoritma
program yang dibuat serta tidak menutup kemungkinan
kelemahannya. Sehingga dari sini dapat disimpulkan
apakah algoritma program yang dibuat dapat
menjalankan sistem dengan benar sesuai dengan
kriteria yang diharapkan. Pengujian ini dilakukan
secara bertahap dan saling berhubungan. Pengujian
algoritma dilakukan pada perbedaan populasi dan
koefisien dari w1, dan w2
Hasil yang ditunjukkan di garafik opada Gambar 3.1
menunjukkan bahwa nilai fitness tertinggi lebih stabil
daripada nilai fitness terrendah yang cenderung
berosilasi. Hal ini menujukkan bahwa fitness terrendah
tidak dapat menemukan solusi yang baik sehingga
bentuk grafik berosilasi. Jadi pada bobot w1=0,2 dan
w2=0,8 hasil fitness yang baik terdapat pada nilai
fitness tertinggi.
3.2 Pengujian
= 0,8;
= 0,2
Pengujian pertama kali dilakukan dengan cara
mengeset nilai
= 0,8 dan
= 0,2. Penjumlahan
kedua koefisien pemberat tersebut harus berjumlah satu
dengan perubaha satu digit di belakang koma. Dengan
parameter tetap seperti pada Tabel 4.3, percobaan ini
dilakukan 5 kali trial untuk mengawasi nilai dari fitness
tersebut konstan atau tidak. Hasil dari percobaan ini
ditunjukkan pada Tabel 3.2.
Tabel 3.2 Hasil Percobaan Pemberian Bobot
dan
= 0,2
Tabel 3.1 Hasil Percobaan Pemberian Bobot
dan
= 0,8
Fitness
3.1 Pengujian
= 0,2;
= 0,8
Pengujian pertama kali dilakukan dengan cara
mengeset nilai
= 0,2 dan
= 0,8. Penjumlahan
kedua koefisien pemberat tersebut harus berjumlah satu
dengan perubaha satu digit di belakang koma. Dengan
parameter tetap seperti pada Tabel 4.2, percobaan ini
dilakukan 5 kali trial untuk mengawasi nilai dari fitness
tersebut konstan atau tidak. Hasil dari percobaan ini
ditunjukkan pada Tabel 3.1.
= 0,2
2558
2556
2554
2552
2550
2548
2546
= 0,8
Topest
Lowest
1
2
3
4
5
Trial
Fitness
Gambar 3.2 Grafik Pengujian
880
870
860
850
840
830
topest
lowest
1
2
3
4
5
Trial
Gambar 3.1 Grafik Pengujian
= 0,2;
= 0,8
Analisa:
Dalam percobaan ini, terdapat dua perbandingan yaitu
membandingkan fitness tertinggi dan fitness terrendah.
= 0,8;
= 0,2
Analisa:
Pada grafik di Gambar 3.2 perbedaan yang paling
mencolok dengan percobaan pertama adalah nilai
fitness lebih besar daripada percobaan pertama.
Dengan demikian dapat disimpulkan sementara bahwa
jikakoefisien w1 lebih besar dari koefisien w2 maka
nilai fitness semakin besar. Berdasarkan grafiknya pula
dapat dianalisa bahwa grafik fitness tertinggi mulai
stabil pada trial kedua dan seterusnya. Berbeda dengan
fitness terrendah dapat dilihat bahwa nilai fitness naik
turun menunjukkan bahwa tidak dapat menemukan
solusi yang baik. Jadi dikatakan bahwa pada percobaan
kedua ini fitness yang terbaik pada fitness tertinggi.
3.3 Pengujian
= 0,3;
= 0,7
Pengujian pertama kali dilakukan dengan cara
mengeset nilai
= 0,3 dan
= 0,7. Penjumlahan
kedua koefisien pemberat tersebut harus berjumlah satu
4
Tabel 3.3 Hasil Percobaan Pemberian Bobot
dan
= 0,7
Fitness
dengan perubaha satu digit di belakang koma. Dengan
parameter tetap seperti pada Tabel 3.3, percobaan ini
dilakukan 5 kali trial untuk mengawasi nilai dari fitness
tersebut konstan atau tidak. Hasil dari percobaan ini
ditunjukkan pada Tabel 3.3.
= 0,3
2276
2274
2272
2270
2268
2266
2264
2262
topest
Lowest
1
2
3
4
5
Trial
Fitness
Gambar 3.4 Grafik Pengujian
1155
1150
1145
1140
1135
1130
1125
1120
Topest
Lowest
1
2
3
4
5
= 0,7;
= 0,3
Analisa:
Pada percobaan kali ini, perbedaan yang mencolok
terlihat pada fitness yang dihasilkan lebih besar
daripada saat w1=0,3 dan w2=0,7. Hal ini dapat
disimpulkan untuk sementara bahwa nilai fitness
semakin besar ketika w1 lebih besar dari w2. Dapat
diihat di grafik pula bahwa pada fitness tertinggi grafik
yang ditunjukkan terlihat lebih stabil dari pada fitness
terrendah. Jadi fitness tertinggi merupakan fitness
terbaik karena lebih dapat menemukan solusi.
Trial
4.
Gambar 3.3 Grafik Pengujian
= 0,3;
= 0,7
Analisa:
Percobaan ketiga kali ini memiliki grafik yang
ditunjukkan pada Gambar 4.6 dimana grafik ini yang
diubah adalah w1=0,3 dan w2=0,7. Dapat dilihat
bahwa nilai fitness terrendah cenderung berosilasi ini
artinya bahwa fitness di nilai terrendah belum stabil
namum pada fitness terrendah lebih stabil demikian
artinya bahwa nilai fitness terrendah lebih baik
daripada nilai fitness tertinggi.
3.4 Pengujian
= 0,7;
= 0,3
Pengujian pertama kali dilakukan dengan cara
mengeset nilai
= 0,7 dan
= 0,3. Penjumlahan
kedua koefisien pemberat tersebut harus berjumlah satu
dengan perubaha satu digit di belakang koma. Dengan
parameter tetap seperti pada Tabel 3.4, percobaan ini
dilakukan 5 kali trial untuk mengawasi nilai dari fitness
tersebut konstan atau tidak. Hasil dari percobaan ini
ditunjukkan pada Tabel 3.4
Tabel 3.4 Hasil Percobaan Pemberian Bobot
dan
= 0,3
= 0,7
KESIMPULAN
Berdasarkan seluruh percobaan yang telah
diujikan maka dapat ditarik kesimpulan besar, antara
lain:
1.
Genetic Algorithm dapat memberikan solusi
yang terbaik pada lengan robot untuk mencari
lintasannya. Hal ini dapat dilihat dari fitness
yang tertinggi artinya solusi yang diberikan
adalah yang paling maksimal.
2.
Perubahan nilai w dapat mempengaruhi hasil
fitness yang dihasilkan oleh Algoritma
Genetika.
3.
Dari seluruh hasil percobaan dapat dilihat
bahwa jika w1 lebih besar maka fitness nya
lebih besar pula dan jika w1 lebih kecil dari
w2 maka fitnessnya lebih kecil.
4.
Pada saat pemberian bobot w1=0.3 dan
w2=0.7 hasil grafik yang dihasilkan lebih
smooth artinya bahwa fitnessnya lebih baik.
5.
Error yang terjadi pada robot ini disebabkan
oleh konstruksi robot yang masih banyak
terdapat backlace.
DAFTAR RUJUKAN
[1] http://elangmaya.lensa.or.id/archives/adaptivetrajectory-planning/
[2] http://lecturer.eepisits.edu/~kangedi/materi%20kuliah/Kecerdasan%20
Buatan/Bab%207%20Algoritma%20Genetika.pdf
[3] http://www.keep-elka.blogspot.com
[4]www.elecnet.candra.ac.th/learn/courses/ELTC2401/
unit 4/robot/robot2.htm
[5] www.societyofrobots.com/robot_arm_tutorial.shtml
[6] Kubota, Naoyuki. 1996. Trajectory Planning of
Cellular Manipolator System Using VirusEvolutionary Genetic Algorithm. Nagoya, Japan
5
[7] Kubota, Naoyuki. 1999. Trajectory Planning and
Learning of A Redundant with Structured
Intelligence.
Congress
on
Evolutionary
Computation
[8] Cinthya dan Indra. Human-Friendly Arm Robot
Using Interactive Genetic Algorithm. Surabaya,
Indonesia.
[9] Pitowarno, Endra, Robotika: Desain, Kontrol, dan
Kecerdasan Buatan, Penerbit Andi, Surabaya,
2006.
[10] www.wikipedia.com
[11] Suyanto, Algoritma Genetika dalam MATLAB,
Penerbit Andi, Yogyakarta, 2005.
[12] Lung-wen-tsai. (1999). “Robot analysis: the
mechanical of serial manipulator”.Wileyinterscience publication.
[13] Manjunath.T.C.(2007). “Kinematic Modeling and
Maneuvering of 5 Axes Articulated Robot Arm”.
International Journal of Mechanical, Industrial
and Aerospace Engineering.
[14] http://mekatronika-smk.blogspot.com
[15] http://www.rumahbuku.net
6
Download