Jumat, 26 Oktober 2007

KINEMATIK DAN DINAMIK ROBOT

KINEMATIK DAN DINAMIK ROBOT

1. PENDAHULUAN

Robot dapat dianalisa dalam dua domain kajian, yaitu analisa kinematik dan dinamik. Analisa kinematik berkaitan dengan gerakan robot tanpa memandang efek kelembaman (inersia) yang terjadi ketika robot melakukan gerakan, sedangkan analisa dinamik berhubungan dengan efek inersia dari struktur robot secara fisik hasil dari gerakan yang ditimbulkan oleh torsi aktuator ketika robot sedang melakukan pergerakan.

2. PRINSIP DASAR PEMODELAN MATEMATIK DALAM SISTEM ROBOTIK

Sistem robotik secara garis besar terdiri dari sistem kontroler, elektronik dan mekanik robot. Dalam bentuk diagram dapat dinyatakan seperti Gambar-1 sbb.

Robot

Kontroler (elektronik & mekanik)

n + e u y

-

Gambar-1. Diagram sistem robotik

G(s) adalah persamaan matematik kontroler sedangkan H(s) adalah persamaan untuk sistem robot secara fisik termasuk aktuator dan sistem elektroniknya. Komponen ri adalah referensi input yang dalam aplikasinya dapat berupa referensi posisi, kecepatan dan akselerasi. Dalam fungsi waktu, nilai input ini dapat bervariasi dan kontinyu yang membentuk suatu konfigurasi trajektori. Komponen e adalah error dan komponen u adalah output kontroler. Output y adalah fungsi gerak robot yang diharapkan selalu sama dengan referensi (gerak) yang didefinisikan pada input ri.

Jika input merupakan fungsi dari suatu koordinat vektor posisi dan orientasi P(x,y,z) dan output adalah θ(θ1, θ2, … θn) dimana n adalah jumlah sendi atau DOF, maka Gambar-1 dapat digambar ulang sbb.:

Robot

Kontroler (elektronik & mekanik)

P(x,y,z) + ep u θ(θ1,θ2,…θn)

-

Kinematik invers

Kinematik maju

Ruang

Ruang Kartesian /3D sendi/sudut

Gambar-2. Diagram sistem kontrol robotik

Pada Gambar-2 diatas, output yang diukur dari gerakan robot adalah dalam domain sudut dari sendi-sendi, baik sendi pada sistem tangan/kaki ataupun sudut dari perputaran roda jika robot adalah mobile robot. Sedang yang dibutuhkan oleh user dalam pemrograman atau dalam pemetaan ruang kerja robot adalah posisi (ujung tangan atau titik tertentu pada bagian robot) yang dinyatakan sebagai koordinat 2D (Kartesian) atau 3D. dengan demikian perlu dilakukan transformasi koordinat antara ruang Kartesian dengan ruang sendi/sudut. Didalam Gambar-2 dinyatakan sebagai kinematik invers dan kinematik maju. Kombinasi antara transformasi koordinat P ke θ dengan kontroler G(s) disebut sebagai kontroler kinematik. Inputnya berupa sinyal error ep sedangkan outputnya adalah sinyal kemudi u untuk aktuator. Dalam konteks praktis, u adalah sinyal-sinyal analog dari DAC untuk seluruh aktuator robot.

2.1 Konsep Kinematik

Dalam Gambar-2, kontroler dinyatakan sebagai kontroler kinematik karena mengandung komponen transformasi ruang kartesian ke ruang sendi. Dengan demikian diperoleh output kontroler u yang bekerja dalam ruang sendi, u(θ1, θ2, … θn). sebaliknya, kontroler membutuhkan feedback dalam bentuk koordinat karena referensi diberikan dalam bentuk koordinat. Penjelasan ini diilustrasikan dalam Gambar-3 sbb.

Kinematik invers

Kinematik maju

Gambar-3. Transformasi kinematik maju dan kinematik invers

Dari gambar diatas diperoleh dua pernyataan mendasar, yaitu :

  • Jika jari-jari r dan θ dari suatu struktur robot n-DOF diketahui maka posisi P(x,y,z) dapat dihitung. Jika θ merupakan sebuah fungsi berdasarkan waktu, θ(t), maka posisi dan orientasi P(t) dapat dihitung secara pasti juga. Transformasi koordinat ini dikenal sebagai kinematik maju

  • Sebaliknya, jika posisi dan orientasi P(t) diketahui maka θ(t) tidak langsung dapat dihitung tanpa mendefinisikan berapa DOF struktur robot itu. Jumlah sendi n dari n-DOF yang bisa 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 sebagai robot non-redundant, sedangkan bila (m+p)-DOF maka disebut sebagai robot redundant. Transformasi ini dikenal sebagai kinematik invers.

Dari pernyataan diatas nampak bahwa analisa kinematik maju adalah relatif sederhana dan mudah diimplementasikan. Di sisi lain, karena variabel-variabel bebas pada robot yang diperlukan dalam aktuasi kontrol adalah berupa variabel-variabel sendi (aktuator), sedangkan tugas (task) yang didefinisikan hampir selalu dalam referensi koordinat kartesian maka analisa kinematik invers lebih sering digunakan dan dikaji secara mendalam dalam dunia robotik.

Jadi, kinematik dalam robotik adalah suatu bentuk pernyataan yang berisi tentang deskripsi matematik geometri dari suatu struktur robot. Dari persamaan matematik dapat diperoleh hubungan antara konsep geometri ruang sendi pada robot dengan konsep koordinat yang biasa dipakai untuk menentukan kedudukan dari suatu objek. Dengan model kinematik, programmer dapat menentukan konfigurasi referensi input yang harus diumpankan ke tiap aktuator agar robot dapat melakukan gerakan simultan (seluruh sendi) untuk mencapai posisi yang dikehendaki. Sebaliknya, informasi kedudukan (sudut) yang dinyatakan oleh tiap sendi ketika robot sedang melakukan suatu gerakan, dengan analisa kinematik programmer dapat menentukan dimana posisi ujung lengan atau bagian robot yang bergerak itu dalam koordinat ruang.

Secara umum persamaan kinematik maju untuk setiap sendi 1 DOF secara parsial dapat dinyatakan sebagai,

P(x,y) = f(r,θ) …. ….. ( 1 )

dengan r adalah jari-jari lengan (link) dan θ adalah sudut sendi. Dalam hal ini P adalah koordinat (x, y) yang relatif terhadap koordinat tetap/acuan (0, 0) pada titik sendi. Jika r adalah tetap dengan asumsi lengan bergerak secara rotasi maka r dianggap konstan. Dengan demikian perubahan P hanya dipengaruhi oleh perubahan θ. Persamaan kinematik invers-nya dapat dinyatakan sebagai,

(r,θ) = f(P) …. …. ( 2 )

Jika robot berstruktur n-DOF dengan tugas dinyatakan sebagai suatu fungsi trajektori P(t) dan posisi/orientasi tiap lengan sendi dinyatakan sebagai q(t) = (r,θ(t)) maka kinematik majunya dapat diekspresikan sebagai,

P(t) = f(q(t)) …. …. ( 3 )

dengan

…. …. ( 4 )

q(t) =

atau ditulis

q(t) = {q1(t), q2(t),…, qn(t)}T ….. ( 5 )

dengan demikian kinematik invers-nya dapat ditulis sebagai,

q(t) = f-1(X(t)) …. …. ( 6 )

dengan P adalah posisi dan orientasi posisi ujung lengan (tip-end position). Perlu diketahui bahwa jika struktur manipulator ini difungsikan sebagai kaki dalam suatu robot berjalan (walking robot) seperti biped robot (robot dua kaki) maka ujung struktur adalah posisi dan orientasi (sudut) akhir dari (misalnya) telapak kaki.

2.2 Konsep Dinamik

Secara fisik robot adalah benda yang memiliki struktur tertentu dengan massa tertentu yang dalam pergerakannya tunduk kepada hukum-hukum alam yang berkaitan dengan gravitasi dan/atau massa/kelembaman. Jika robot berada di permukaan bumi maka kedua efek, gravitasi dan massa ini, akan mempengaruhi kualitas gerakan. Sedangkan bila robot berada di luar angkasa yang bebas gravitasi maka massa saja yang dapat menimbulkan efek inersia. Dalam konteks inilah dikatakan bahwa model dinamik dari suatu robot berhubungan dengan struktur dan massa. Setiap struktur dan massa yang berbeda akan memberikan efek inersia yang berbeda pula sehingga penanganan dalam pemberian torsi pada tiap sendi (dpl: sinyal pengemudian aktuator/motor tiap sendi) seharusnya berbeda pula.

Model Dinamik

Robot

τ ( θ, θ, θ )

Gambar-4. Diagram Model Dinamik Robot

Perhatikan Gambar-2 kembali. Jika u adalah sinyal aktuasi pada aktuator motor DC (torsi) maka input yang masuk pada model dinamik robot dapat dinyatakan sebagai torsi τ,

τ = I . Ktn …….. …….. ( 7 )

seperti yang diperlihatkan dalam Gambar-6, dimana:

I : sinyal analog (arus motor) yang dikeluarkan oleh kontroler,

Ktn : konstanta motor.

Karena torsi pada sendi akan menghasilkan gerakan maka output (dinamik) robot dapat dinyatakan memiliki 3 komponen yang menyatu dalam fenomena gerak rotasi tiap lengan sendi, yaitu sudut θ, kecepatan sudut θ, dan percepatan sudut θ. Gambar-5 memperlihatkan skema kontrol robotik berorientasi dinamik dengan penggambaran lebih detil tentang torsi yang dihasilkan oleh aktuator.

Kontroler

Pref ep

+

kinematik invers dinamik invers robot

kinematik maju

Pact

Gambar-5: Diagram sistem kontrol robotik berorientasi dinamik

Jika output sistem , ‘ , ‘’ (1,2, … n) dinyatakan sebagai q maka torsi yang diberikan kepada sendi-sendi robot adalah,

τ = f (q) ….. ….. ( 8 )

Persamaan ini dikenal sebagai dinamik maju (forward / direct dynamics). Model dinamik nya dapat ditulis sebagai H(s). sebaliknya, jika torsi τ diketahui (sebagai input), bagaimanakah q, ini dikenal sebagai dinamik invers (inverse dynamics). Model dinamiknya dinyatakan sebagai H-1(s). persamaannya adalah,

q = f-1(τ) …. …. ( 9 )

Hubungan model matematik dinamik invers dan dinamik maju diilustrasikan melalui Gambar-6 sbb.

Torsi ( θ, θ, θ )

Gambar-6. Transformasi dinamik invers dan dinamik maju

2.3 Kontrol Kinematik vs Kontrol Dinamik

Untuk mendapatkan sistem kontrol gerakan (motion control) robot yang ideal, yaitu gabungan kontrol kinematik dan kontrol dinamik, model dinamik dari dinamik robot seharusnya dapat dideskripsikan dengan jelas. Seperti lazimnya dalam persamaan matematik, diperlukan solusi penyelesaian dengan memilih nilai variabel-variabel yang benar. Dengan pendekatan kontrol dinamik maka sinyal aktuasi kontroler dapat lebih presisi dengan dimasukkannya unsur perbaikan torsi yang sesuai dengan efek dinamik ketika robot bergerak. Jika kontrol kinematik lebih berfungsi untuk menjaga kestabilan gerak (biasanya dalam level posisi dan kecepatan) maka kontrol dinamik berfungsi untuk meningkatkan kelasakan/kekokohan (robustness) terhadap gangguan (disturbance) yang dapat muncul selama operasi. Kontrol dinamik sering dinyatakan sebagai kontrol gaya (force control), kontrol torsi (torque control). Di sisi lain, kontrol percepatan dapat juga dimasukkan sebagai kontrol dinamik dengan pertimbangan bahwa sesuai dengan hukum Newton ke-2, F = m.a, dengan m (massa) tetap, mengontrol a adalah identik dengan mengontrol F (Force).

Namun demikian, untuk robot yang memiliki struktur dinamik yang rumit seringkali model matematik dinamiknya tidak mungkin dideskripsikan secara rinci dan ideal. Faktor-faktor seperti gravitasi, friksi pada joint, backlash pada girboks, perubahan pembebanan, sampai dengan interaksi kopel antar bagian tubuh robot adalah masalah-masalah klasik dalam pemodelan dinamik yang amat kompleks. Kenyataannya, dalam aplikasi, para insinyur lebih suka menghindari analisis dinamik yang rumit, dan sebagai gantinya, lebih memfokuskan kajiannya dalam mempercanggih kontrol kinematik. Kajian-kajian seperti penghindaran rintangan (obstacle avoidance), bebas tabrakan (collision free), perencanaan alur (path planning), robot berbasis tingkah-laku (behaviour-based robot, robot vision, machine/robot learning, dan masih banyak lagi yang berkaitan dengan pergerakan robot, mengabaikan unsur dinamik dalam analisisnya. Dalam hal ini kepresisian gerak adalah bukan tujuan utama. Yang penting robot dapat dikontrol (controlable) selama dan sepanjang referensi trajektori diberikan.

Dalam konteks inilah kemudian dalam robotik dikenal dua pendekatan dasar, yaitu model-based control dan nonmodel-based control. Model-based control didisain dengan mempertimbangkan model matematik dinamik robot secara rinci dalam disain kontroler sehingga didapat penyelesaian kontrol yang secara matematis dapat dipertanggung-jawabkan. Yang termasuk dalam kategori ini misalnya nonlinier control, optimal control, (classical) adaptive control, Iterative Learning Control (ILC) dan berbagai kombinasi yang didapat dari turunan model dinamik sistem. Sedangkan nonmodel-based control banyak didisain dengan mengaplikasikan metode-metode AI. Kontroler fuzzy adalah salah satu contohnya.

Perlu digarisbawahi disini bahwa model matematik dari dinamik robot memang diperlukan dalam disain kontrol yang melibatkan kontrol dinamik. Model matematik robot perlu dikaji untuk mendapatkan kontrol dinamik yang sesuai disamping kontrol kinematik yang diperlukan untuk pergerakan robot. Model dinamik juga mutlak diperlukan dalam disain dan analisis kontrol dinamik terutama dalam proses simulasi. Simulasi untuk sistem robotik ataupun otomasi yang kompleks seperti rekacipta pesawat terbang tanpa awak, sangatlah diperlukan. Pemodelan dinamik yang tepat akan mengurangi resiko kesalahan ketika kontrol diterapkan pada robot atau sistem yang sebenarnya.

Ketika sistem kontrol diterapkan pada sistem yang sesungguhnya, model matematik dinamik, H(s) ini sudah “dikeluarkan” dari sistem analisa dalam diagram blok kontrolnya karena digantikan oleh robot secara fisik. Disinilah kemudian muncul dilema bahwa seringkali robot yang dibuat tidak dapat memenuhi model matematik secara ideal seperti yang dideskripsikan. Atau sebaliknya, robot yang telah dibuat tidak dapat dimodelkan secara matematis dengan sempurna. Akibatnya, kontrol dinamik yang didisain –sebagai pelengkap dari kontrol kinematiknya- tetap perlu diatur lagi (readjustment) sesuai dengan kondisi operasi yang sebenarnya.

3. ANALISA KINEMATIK SISTEM HOLONOMIC

Model kinematik robot dapat dibedakan dalam dua kelompok model pergerakan, yaitu:

  • Holonomic, dan
  • Nonholonomic.

Gerak holonomic dapat diumpamakan seperti menulis dengan menggunakan pensil atau pulpen (ballpoint) diatas kertas. Kita dapat menggerakkan ujung pensil atau pulpen ini ke segala arah di permukaan kertas sesuai dengan keinginan, bentuk atau huruf yang kita tulis. Gerak ujung pensil/pulpen ini disebut sebagai gerak holonomic. Dalam robotik dapat diambil contoh misalnya robot manipulator dua sendi yang dipasang secara planar sejajar dengan permukaan bumi. Ujung robot tangan ini (tip position) dapat menjangkau daerah kerja Kartesian dari satu titik koordinat ke titik koordinat yang lain secara langsung. Trajektori yang dibentuk untuk berpindah dari satu titik ke titik lain dalam posisi manapun di daerah Kartesian ini dapat ditempuh dalam gerakan seperti garis lurus. Gambar-7 mengilustrasikan gerakan holonomic dari ujung sebuah pensil. Kita dapat menggerakkan atau menuliskan ujung pensil ini di atas kertas ke segala arah dengan ujung pensil yang tetap menempel di permukaan kertas. Gerakan berbentuk garis, kurva melengkung, bahkan sudut tajam dapat dibuat secara langsung oleh ujung pensil ini.

Gambar-7. Gerakan holonomic.

Tidak demikian halnya dengan gerakan nonholonomic. Ujung atau suatu titik yang memiliki sifat nonholonomic memiliki keterbatasan dalam arah gerakan. Fungsi geometri tertentu yang berhubungan dengan “arah hadap” harus dipenuhi untuk mendapatkan gerak yang sesuai. Gerak nonholonomic dapat dapat diilustrasikan seperti kita menggoreskan ujung pisau atau cutter ke atas permukaan kayu. Tidak seperti pada gerakan holonomic, arah gerak nonholonomic ini dibatasi oleh efek sentuhan ujung pipih yang menempel di atas permukaan kayu. Kita tidak dapat menggerakkan dengan bebas ke kiri atau ke kanan tanpa mengikuti arah sisi yang tajam dalam “memotong/menggores” permukaan kayu. Jika diinginkan gerak melengkung ataupun sudut tajam terlebih dahulu kita harus mengarahkan sisi pisau yang tajam ini ke arah yang segaris dengan arah gerak yang diinginkan. Penjelasan ini diilustrasikan dalam Gambar-8 sbb.

Gambar-8. Gerakan nonholonomic

Contoh klasik kinematik dalam robotik yang memiliki sifat nonholonomic ini adalah sistem penggerak dua roda kiri kanan pada mobile robot dengan satu atau lebih roda bebas (castor) untuk menjaga keseimbangan. Mobile robot ini tidak dapat bergeser ke kiri atau ke kanan tanpa melakukan manuver (maju atau mundur sambil berbelok) seperti kalau kita memarkir mobil. Struktur 4 roda pada mobil yang dikenal sebagai model/struktur Ackermann dengan setir/kemudi dua roda depan juga dikenal sebagai sistem kinematik nonholonomic. Demikian pula struktur seperti pada kendaraan-kendaraan berat untuk industri seperti Excavator yang memiliki sistem setir roda belakang, four-wheel steering system, dan sebagainya. Robot berjalan seperti biped robot, robot serangga seperti hexapod, dan robot berkaki lainnya tidak dapat dimasukkan ke dalam kelompok nonholonomic jika memiliki kemampuan bergerak ke samping secara langsung. Untuk lebih jelas, sebagai ilustrasi Gambar-9 memperlihatkan perbedaan gerakan pada robot manipulator yang bersifat holonomic dengan mobile robot yang memiliki sifat nonholonomic.

Gambar-9. Holonomic vs Nonholonomic.

6 komentar:

ilda mengatakan...

asslamu'alaikum
mas herman pakabar?blog nya keren bgt yang jdulnya kinematik dan dinamik robot. tapi kenapa gambarnya ga mau muncul, mas bisa ga kirimin file kinematik dan dinamik robotnya ke alamat email saya?kalo bisa tolong ya mas! emailnya anna_math05@yahoo.co.id

J'KO mengatakan...

asslamu'alaikum
mas herman pakabar?blog nya keren bgt yang jdulnya kinematik dan dinamik robot. tapi kenapa gambarnya ga mau muncul, mas bisa ga kirimin file kinematik dan dinamik robotnya ke alamat email saya?kalo bisa tolong ya mas! coz gy ngerjain TA nih mas...!!
emailnya

jhokho8711@gmail.com

Zainah mengatakan...

assalamualaikum,

mas herman, harap bisa mengirim file kinematik dan dinamik robotnya ke alamat email saya: zainahmz@gmail.com
terima kasih

Triana Puspa Dewi mengatakan...

Assalamu'alaykum mas herman, Jika berkenan saya juga ingin dikirim file yg ada gambarnya.. untuk mengerjakan TA
terimakasih bantuannya..
puspadewi3ana@gmail.com

Teguh Satrio mengatakan...

Assalamualaykum, ini sumbernya dari buku mana?

syahroni hidayat mengatakan...

holonomic unmanned surface vehicle (USV)


https://www.youtube.com/watch?v=6PwZIPfMoYE