Selamat datang di sonoku.com

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.1/3)

Pada artikel ini akan dirancang sebuah sistem yang mengimplementasikan metode Fuzzy Logic Controller pada sebuah lengan robot 1 DOF. Berdasarkan blok diagram pada Gambar 1, dapat dilihat bahwa terdapat 2 nilai input yang akan masuk ke proses fuzzifikasi. Input yang pertama yaitu nilai error yang didapatkan dari selisih antara nilai set point (posisi lengan actual) dan nilai present value (posisi lengan target). Nilai posisi tersebut didapatkan dari nilai potensiometer yang di-couple pada lengan. Input yang kedua yaitu nilai delta error (error – last error). Output dari proses fuzzy logic controller berupa nilai PWM (pulse width modulation) yang akan mengatur pergerakan motor dari posisi lengan robot (actual). Nilai dari sensor potensiometer yang ada pada lengan robot (actual) akan digunakan sebagai feedback untuk mengetahui nilai error pada setiap iterasi yang telah dijalankan.
Read More

Kinematik Maju untuk Robot Planar 2 Sendi

Semua sumbu z pada gambar tidak ditampilkan karena tegak lurus dengan arah pandang kita. Dari gambar diatas kita tetapkan frame dasar-nya (base frame) adalah o0z0y0x0. Titik origin O0 kita tentukan pada titik dimana sumbu z0 pada pangkalnya (bayangkan titik z0 menembus kedalam halaman ini), dan penentuan x0 dan y0 mengikuti aturan tangan kanan seperti pada gambar.

Setelah frame dasar kita tentukan, kemudian kita bisa tentukan frame berikutnya yaitu o1z1y1x1 dengan origin o1, sumbu x1 searah dengan lengan 1 dan y1 tegak lurus dengan sumbu x1 mengikuti aturan tangan kanan. Kemudian frame terakhir yaitu pada o2z2y2x2 dengan origin o2 di akhir ruas (link) 2 seperti pada gambar.

Langkah berikutnya membuat tabel parameter ruas seperti berikut:

Ruas/Link ai αi di θi
1 a1 0 0 θ1*
2 a2 0 0 θ2*

Keterangan:

*variabel
a1 dan a2 adalah panjang masing-masing ruas 1 dan ruas 2.
α1 dan α2 masing-masing bernilai nol, dikarenakan tidak ada perubahan sudut yang terbentuk antara z1 dengan z0, dan z2 dengan z1 (semua sumbu z tetap sejajar).
d1 dan d2 bernilai nol, tidak ada translasi frame terjadi (bukan joint prismatik).

Matrik A dapat ditentukan sebagai berikut

Karena d1=0 maka matrik transz,d1 menjadi matrik identitas I, sehingga persamaan menjadi

Matrik A1 juga dapat ditentukan dari persamaan berikut:

Selanjutya dengan cara yang sama kita cari matrik A2

Dengan demikian kita bisa tentukan matrik transformasi frame 1 ke frame 0, ,  sebagai berikut,

Sedangkan untuk matrik transformasi frame 2 ke frame 0, , sebagai berikut

Kolom terakhir dari matrik diatas adalah komponen x dan y di origin o2  pada frame dasar, jadi

adalah koordinat dari end-effector terhadap frame dasar.

Bagian matrik rotasi pada matrik T2 diatas merupakan orientasi frame o2z2y2x2 relatif terhadap frame dasar.

Reinforcement Learning (intro)

Apa itu Reinforcement Learning?

Reinforcement Learning (RL) adalah pembelajaran (learning) terhadap apa yang akan dilakukan (bagaimana memetakan situasi kedalam aksi) untuk memaksimalkan reward. Pembelajar (learner) tidak diberitahu aksi mana yang akan diambil, tetapi lebih pada menemukan aksi mana yang dapat memberikan reward yang maksimal dengan mencobanya. Aksi tidak hanya mempengaruhi reward langsung, tetapi juga situasi berikutnya, begitu juga semua reward berikutnya. Dua karekteristik inilah (pencarian trial-error dan reward tertunda) yang membedakan RL dengan yang lain.

Agen harus mampu untuk mengindera (sense) keadaan (state) lingkungan luas dan harus dapat mengambil aksi yang mempengaruhi state.

RL berbeda dengan pembelajaran terawasi (Supervised learning ). Pembelajaran terawasi merupakan pembelajaran dari contoh-contoh yang disediakan oleh pengawas luar yang berpengetahuan. Hal ini sangat penting dalam pembelajaran, tapi itu sendiri tidak cukup untuk belajar dari sebuah interaksi. Dalam permasalahan interaksi, hampir tidak mungkin secara praktis mendapatkan contoh dari perilaku yang diinginkan baik yang benar dan mewakili semua situasi dimana agen harus beraksi. Karena itu agen harus belajar dari pengalamannya.

Salah satu tantangan yang muncul dalam RL dan tidak terdapat pada jenis pembelajaran lain adalah eksplorasi dan eksploitasi. Untuk mendapatkan banyak reward, agen RL lebih mementingkan aksi yang telah dicoba waktu lalu dan terbukti efektif menghasilkan reward. Tapi untuk menemukan aksi tersebut, harus mencoba aksi yang belum pernah terpilih sebelumnya. Agen harus mengeksplotasi apa yang telah diketahui untuk mendapatkan reward, tetapi juga harus  mengkeksplorasi untuk membuat pemilihan aksi yang lebih baik kedepannya.

Elemen RL

Terdapat empat sub-elemen RL yaitu,

1. Policy

“Apa yang akan dilakukan sekarang?

Policy adalah cara agen berperilaku pada saat waktu yang diberikan. Atau bisa dikatakan, policy adalah pemetaan dari keadaan (state) lingkungan ke aksi yang akan diambil pada saat keadaan tersebut. Dalam beberapa kasus  policy dapat berupa fungsi sederhana atau tabel (lookup table), atau dapat melibatkan komputasi seperti proses pencarian. Policy ini merupakan inti dari RL yang sangat menentukan behavior dari suatu agent.

2. Fungsi Reward (reward function)

“Seberapa bagus aksi ini?”

Fungsi reward didefinisikan sebagai gol/tujuan yang ingin dicapai dalam permasalahan RL. Atau bisa dikatakan, fungsi tersebut memetakan tiap state yang diterima (atau pasangan keadaan-aksi) dari lingkungan kedalam angka tunggal.

Agen RL bertujuan untuk memaksimalkan perolehan reward selama proses. Fungsi reward mendefinisikan apa yang baik dan apa yang buruk bagi agen.

3. Fungsi nilai (value function)

“Seberapa bagus keadaan/state ini?”

Fungsi reward mengindikasikan apa yang baik segera, sedangkan fungsi nilai (value function) lebih spesifik ke pada apa yang baik dalam waktu yang panjang. Atau bisa dikatakan, nilai sebuah keadaan (state) adalah jumlah total reward yang bisa dikumpulkan agen hingga masa berikutnya, dimulai dari keadaan (state) tersebut.

Reward diberikan langsung oleh lingkungan, sedangkan value harus diestimasi dan diestimasi ulang dari urutan pengamatan agen sepanjang waktu.

4. Model lingkungan (Dinamika Lingkungan)

“Apa yang terjadi jika saya lakukan aksi ini”

Model lingkungan adalah sesuatu yang menirukan kelakuan sebuah lingkungan. Sebagai contoh, diketahui sebuah keadaan dan aksi, model dapat memprediksikan keadaan selanjutnya dan reward selanjutnya. Elemen ini tidak harus ada, elemen ini digunakan untuk perencanaan (planning) maksudnya adalah berbagai cara dalam memutuskan aksi dengan memperhatikan kemungkinan situasi masa depan, sebelum benar-benar mengalaminya. Kolaborasi planning dan RL merupakan hal baru. Saat ini sistem RL  secara eksplisit merupakan pembelajaran secara trial-and-error.

Interaksi agent dan environment

Pembelajar (Learner) dan pengambil keputusan (decision maker) disebut agen (agent). Segala sesuatu yang berinteraksi dengan agen disebut lingkungan (environment). Agen memilih aksi dan lingkungan merespon kepada aksi tersebut dan memberikan keadaan (state) baru kepada agen. Lingkungan juga menghasilkan reward, nilai numerik tertentu yang coba dimaksimalkan agen tiap waktu.

Secara spesifik, agen dan lingkungan berinteraksi pada tiap urutan langkah waktu diskrit, t = 1, 2, 3,,….Pada tiap langkah t, agen menerima beberapa bentuk keadaan (state) lingkungan, , dimana S adalah himpunan semua keadaan yang mungkin, dan berdasarkan itu kemudian memilih sebuah aksi, , dimana adalah himpunan semua aksi yang mungkin pada keadaan . Satu langkah kemudian, akibat dari aksi yang diberikan, agen meneriman reward , dan sekarang berada pada keadaan baru .

Gambar 1.    Interaksi agen dan lingkungan pada RL

Pada tiap langkah, agen mengimplementasikan pemetaaan keadaan (state) ke probabilitas dalam memilih tiap aksi yang mungkin. Pemetaan ini disebut policy agen, dinotasikan dengan , dimana yaitu probabilitas  dimana jika . Metode RL adalah bagaimana agen merubah policy sebagai hasil dari pengalamannya. Tujuan yang ingin dicapai oleh agen adalah memaksimalkan jumlah reward yang diterima selama masa pembelajaran.

Goal dan Rewards

Dalam RL, tujuan adanya agen adalah menerima sinyal reward yang diberikan lingkungan kepada agen. Reward berupa angka sederhana, . Tujuan agen adalah memaksimalkan jumlah keseluruhan reward yang diterima (bukan reward langsung, tetapi akumulasi) selama pembelajaran.