Selamat datang di sonoku.com

Uji coba ROV di Danau Teluk Mata Ikan – Hari 1

Setelah melakukan beberapa pengujian di lab, waktunya untuk uji lapangan. Pengujian ini dimaksudkan untuk mengamati kemampuan ROV untuk menyelam. Desain awal ROV menggunakan pelampung diatasnya untuk mengimbangi berat ROV yang hampir 7 kg agar mendapatkan zero buoyancy.

Menggunakan mobil pickup tim berangkat dari lab ke lokasi sekitar jam 3. Lokasi yang dipilih waktu itu adalah sebuah danau kecil di kampung teluk mata ikan, Nongsa. Setelah perjalanan sekitar 30 menit akhirnya sampai juga di lokasi uji. Medannya tidak terlalu Read More

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

Melanjutkan dari artikel sebelumnya.

4. Kode Program Defuzzifikasi

Metode defuzzifikasi yang digunakan pada program ini adalah metode WA (Weighted Average) atau COA (center of area) dengan persamaan sebagai berikut:

COA

Potongan program untuk metode CoA ditulis sebagai berikut: Read More

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.

Membuat mekanik robot mobil sederhana (bag.2)

Membuat kerangka dasar dan memasang motor DC

Hello apa kabar? Oke untuk melanjutkan rencana kita  membuat mekanik robot mobil sederhana yang terdahulu, sekarang kita mulai membuat kerangka dasar dan memasang motor DC pada rangka tersebut. Bagi anda yang langsung menemukan laman ini, saya sarankan untuk membaca dulu artikel bagian 1 disini. Tapi jika sudah, kita langsung saja lanjutkan pada bagian 2 berikut.

Membuat kerangka robot

Baik kita mulai dengan membentuk rangka dasarnya menggunakan siku aluminium yang sudah kita potong sesuai ukuran. Kemudian ikuti langkah berikutnya berikut ini.

1. Tempelkan pola no.1 pada salah satu sisi potongan siku aluminium.
2. Buat lubang untuk dudukan motor dc pada potongan aluminium sesuai dengan pola tersebut. Lakukan hal yang sama untuk potongan yang kedua. Hasilnya akan tampak seperti gambar berikut.

3. Tempelkan pola no. 4 pada PCB polos, kemudian buat lubang sesuai gambar pola tersebut.
4. Satukan kedua siku aluminium yang sudah selesai dibor dengan PCB polos tadi dengan sekrup.  Hasilnya akan tampak seperti gambar berikut.

Memodifikasi Motor DC

Motor DC yang digunakan untuk tape recorder didalamnya masih terdapat rangkaian speed controller. Sebaiknya kita lepas rangkaian ini, rangkaian ini menyebabkan kecepatan motor menjadi lambat. Untuk itu perlu kita lepas rangkaian speed controller ini.

1. Buka penutup motor pada bagian belakang menggunakan obeng kecil atau tang. Hati-hati jangan sampai merusak rangkaiannya.
2. Ambil spon hitam penutup rangkaian.
3. Dengan menggunakan solder, lepaskan rangkaian speed controller tersebut dari terminal motor.
4. Solder kabel warna merah dan hitam pada terminal motor yang sudah dilepas rangkaian speed controllernya.
5. Tutup kembali bagian belakang motor dengan penutup yang kita lepas tadi.

Memasang Motor Pada Rangka Robot

Setelah selesai memodifikasi motor, kemudian pasang motor pada rangka robot yang telah kita buat tadi. Ikuti langkah berikut.
1. Buka pulley yang menempel pada poros motor terlebih dahulu.
2. Masukkan poros motor pada lubang yang tersedia pada badan rangka dari dalam.
3. Pasangkan baut pada badan motor dan rangka dari luar, lakukan hal yang sama pada sisi rangka robot yang lain.
4. Pasang kembali pulley motor.

Membuat mekanik robot mobil sederhana (bag.1)

Membuat robot khususnya untuk hobby sebenarnya bukan hal yang sulit. Banyak orang mulai dari yang dewasa hingga anak-anak kecil sudah mengenal bermacam-macam robot, khususnya robot untuk tujuan entertainment. Sebut saja yang paling sederhana dan banyak dikenal adalah robot pengikut garis (line follower robot). Selain rangkaian elektronik, badan/kerangka/mekanik robot juga merupakan hal yang tidak bisa diabaikan. Namun pembuatannyapun tidak harus selalu yang rumit. Kali ini kita coba untuk membuat mekanik robot untuk robot mobil sederhana, nantinya rangka robot ini bisa digunakan untuk bermacam-macam jenis robot, misalnya line follower, robot penghindar halangan, robot bermain bola, dan sebagainya.

Rancangan mekanik robot ini dibuat sesederhana mungkin menggunakan bahan-bahan yang mudah didapatkan, dan untuk pembahasannya akan kita bagi menjadi beberapa artikel bersambung. Artikel ini sebenarnya merupkan kelanjutan dari artikel sebelumnya, yaitu membangun line follower robot.  Bagian-bagian yang akan kita bahas nantinya antara lain:

Baik, sebelum memulai pekerjaan kita, perlu disiapkan bahan dan peralatan yang akan kita gunakan untuk membuat mekanik robot sederhana ini.

Alat-alat yang kita gunakan adalah sebagai berikut:

  1. Solder
  2. Timah
  3. Bor Listrik
  4. Gergaji Besi
  5. Tang
  6. Gunting
  7. Obeng

Untuk peralatan lain mungkin akan diperlukan mengikuti keadaan pada waktu kita membuat kerangka robot ini.

Sedangkan bahan-bahan untuk membuat mekanik robot ini cukup mudah didapat di toko elektronik maupun toko bangunan. Kebanyakan kita akan gunakan spare part dari tape recorder yang banyak tersedia di toko-toko elektronik. Bahan-bahan yang perlu disiapkan antara lain:

  1. Siku aluminium yang sudah dipotong ukuran 10x4x4 cm sebanyak 3 buah
  2. Lembar acrylic 1-2 mm, ukuran 15×15 cm
  3. Pulley diameter 3cm dan sabuk karet tape recorder
  4. Roda pulley untuk tape recorder
  5. Mur baut secukupnya
  6. Motor DC tape recorder
  7. Tempat battery isi 4
  8. PCB polos ukuran 10x8cm
  9. Spacer ukuran tinggi 2cm sebanyak 4 buah

Bersambung ke ….. http://sonoku.com/membuat-mekanik-robot-mobil-sederhana-bag-2/

Membuat Line Follower Robot Tanpa Mikrokontroler

Dari konsep sederhana yang pernah disampaikan pada artikel terdahulu, sebenarnya kita bisa mengaplikasikannya untuk membuat robot line follower tanpa menggunakan mikrokontroler sebagai prosesor/pemroses datanya. Penggunaan mikrokontroler sebenarnya selain untuk mempermudah pengendalian robot, juga digunakan untuk menangani kerumitan, operasi matematik/logika yang sulit dipecahkan, atau jumlah data yang harus diolah terlalu banyak, sehingga pemrosesan data sensor tidak terlalu effektif jika harus dilakukan oleh sejumlah rangkaian transistor ataupun op-amp. Read More

Roda gigi (Gear)

Struktur robot hampir tidak pernah terlepas dari konstruksi mekanik, dan tentu saja motor menjadi penggerak utamanya. Robot manipulator dan navigator biasanya memiliki konstruksi yang lebih rumit dibandingkan dengan robot yang bertugas sebagai navigator saja. Contohnya robot mobile yang dilengkapi dengan lengan tangan dan gripper untuk memindahkan barang, konstruksinya akan menjadi lebih rumit dibandingkan dengan robot mobile yang hanya yang mengikuti garis.

Jika kita mendesain mekanik robot hal penting yang tidak bisa kita tinggalkan adalah perhitungan torsi untuk menggerakkan roda ataupun sendi. Roda gigi, atau lebih familiar dengan sebutan gir (bahasa inggris: Gear) memungkinkan kita untuk merubah kecepatan putaran dan torsi untuk menyesuaikan motor dengan kond Read More

ROBOARD8 V1.1 – edisi revisi

Setelah dilakukan pengujian pada ROBOARD8 V1.0 ada beberapa “bug” yang musti diperbaiki meskipun secara umum board ini berhasil untuk diimplementasikan. Semua fungsi dapat berjalan sebagaimana mustinya tapi beberapa hal musti direvisi adalah:

1. Posisi VR untuk mengatur sensitivitas sensor IR perlu rubah atau diputar (posisi pin vcc, gnd dan output). Jadinya maksa banget xixixiii.

2. Pin 7 (Vcc)dari mikrokontroler tidak terhubung dengan Vcc (+5V

3. Terlalu banyak jumper, kurang enak dilihat.

4. Tulisan ROBOARD8 V0.1 di PCB keliru, harusnya ROBOARD8 V1.0…hihi..

Wokelah kalo begitu!! Saya masih ada sedikit waktu untuk memperbaiki desain PCB-nya. Setelah beberapa jam berkutak-kutik dengan design layout PCB itu, kepikirian juga untuk menambahkan beberapa fitur tambahan untuk board ini. Karena tujuannya memang untuk berlatih membuat robot, yaa..masa’ sensornya cuma dari Led IR, saya coba tambahkan 4 port I/O analog pada port C sehingga nantinya bisa dipasang sensor jarak GPD2D atau sejenisnya, malah jika perlu servo juga bisa dipasang di port ini pada board yang baru nanti. Emm…lumayan, eh saya juga tambahkan buzzer di portb.0, kemudian konektor RXD TXD untuk komunikasi serial, tapi aplikasinya untuk apa ya…ah pasti nanti berguna juga, lagian masih ada space di papan berukuran 10 x 8 cm itu. Berikut perbandingan board lama dengan yang baru.

No.

Fitur/Spesifikasi

ROBOARD8 V1.0

ROBOARD8 V1.1

1. Ukuran board

100 x 80 mm

100 x 80 cm

2. 4 channel analog komparator

v

v

3. 4 channel analog I/O

v

4. Driver motor L298

v

v

5. Serial port connector

v

6. Buzzer available

v

7. Power Supply (regulated)

5 Vdc

5 Vdc

Berikut foto board yang sudah jadi.


Dan yang ini ROBOARD8 V1.1 terpasang pada body robot line tracker.

Download

Roboard8 V1.1 – Komparator

Roboard8 V1.1 – Driver motor

Roboard8 V1.1 – CPU

Roboard8 V1.1 – BottomLayer

Roboard8 V1.1 – Top Silkscreen Overlay

Artikel terkait

1. ROBOARD8 V1.0

2. Membangun Line Follower Robot