Archive for the ‘Robotika’ Category

Mi-Duino Line Follower Robot

Mi-Duino LF robot is an open platform Line Following Robot using Arduino Uno which able to tracking the line with Graphical User Interface and Android control via Bluetooth.

Cover2

Features of Mi-Duino LF Robot:

  1. Open Platform, Arduino IDE, Processing IDE
  2. Arduino Uno platform
  3. Graphical User Interface by Processing IDE
  4. Controlling with PID Control Algorithm
  5. Serial USB GUI with Processing IDE
  6. Wireless Bluetooth Control with Android Smartphone use App Inventor 2
  7. Sensor system : 8 Sensor Line Multiplex with 4051

Features Mi-Duino LF Robot Shield for Arduino Uno:

  1. 4 button
  2. 1 LED
  3. 1 LCD 16*2
  4. Two channel H-Bridge Driver Motor (L293D)
  5. Bluetooth Client HC-06

 

 Video in YouTube:

 

Mi-Duino Gallery:

Mechanical Design:

Cover

Electronic Design:

Electronic Design

Mi-Duino in picture actions:

DSCN0703 DSCN0704 DSCN0705 DSCN0706 DSCN0707 DSCN0708

Dasar-dasar Quadcopter dan Setup KKBoard 2.0 pada Quadcopter (Mode X)

Berikut ini informasi yang dapat ane sampaikan buat temen2 yang baru akan memulai bermain dengan quadcopter. Sebenarnya bila ditekuni sebagai research, quadcopter asik juga lo… bila kita belajar dinamika terbangnya maka akan banyak ilmu yang kita dapatkan tapi butuh dana dan tentu saja analisis serta matematisnya jago, namun untuk kali ini pembahasan quadcopternya hanya sebatas basic hobby saja. Nah apa saja yang harus temen2 perhatikan dalam bermain quadcopter ini, baca penjelasannya berikut ini yang ane dapatkan dari berbagai sumber.

Basic movement of X-Quadcopter configuration:

basic movement quadcopter

Nah untuk lebih jelasnya silakan merujuk ke link ini:

http://blog.tkjelectronics.dk/2012/03/quadcopters-how-to-get-started/

http://creativentechno.wordpress.com/2012/06/13/quadcopter-basics/

1. Motor Brushless

Ini merupakan komponen utama, ada beberapa spesifikasi dalam memilih motor brushless untuk quadcopter, berikut paparannya:

  • Motor brushless type outrunner (yang berputar bagian luar) dan ringan.
  • KV motor sekitar 750-1200 KV.
  • Gunakan tegangan kerja 11.1 volt (3 cells), alasanya adalah mudah mencari batery dengan spesifikasi 3 cells, harganya terjangkau dan tidak terlalu berat.
  • Gunakan mounting motor brushless dengan tipe dibawah.
  • Untuk pemula, motor dengan max current < 20 Ampere sepertinya sudah cukup.

motor brushless

Berikut ini salah satu contoh paparan mengenai thrust pada motor brushless. Contoh perhitungannya menggunakan 1100 KV dengan Spesifikasi Thrust: 850gr dan propeler 10×4.7 maka 1 motor menghasilkan 850gr, ambil nilai setengahnya yaitu 425gr, kemudian kalikan 4 menjadi 1700gr. Kesimpulannya jika total massanya adalah 1700gr maka dengan tenaga setengah dari motor, quadcopter sudah dapat terbang.

2. ESC (Electronic Speed Controller)

ESC

ESC memegang peranan penting dalam proses pengendali kecepatan dan arah putar dari motor brushless. Pemilihan ESC tergantung dari besar arus maksimal dari motor brushless, untuk kalangan pemula, pemilihan ESC dapat menggunakan dengan spesifikasi arus maximum 25 Ampere. Dan gunakan ESC yang dapat di program atau dengan kata lain programmable, seperti turnigy plush.

3. Propeller

propellerPemilihan propeller disesuaikan dengan rekomendasi dari spesifikasi motor brushless tersebut. Kesalahan pemilihan berdampak besar terhadap trust yang dihasilkan oleh motor. Perhatikan ukuran propeller dan disesuaikan pula dengan dimensi quadcopter.

4. Kontroler

Ada banyak pilihan yang dapat kita gunakan sebagai kontroler pada quadcopter, temen2 bisa melihat daftarnya di link ini  http://www.oddcopter.com/flight-controllers/, untuk pemula seperti  ane, KK Board dari Kapten KUK   adalah pilihan yang cukup tepat.

KK board 2.0

Nah untuk KK board, temen2 bisa membelinya di hobbyking untuk version 2.0 dan version 2.1 Atau menggunakan selain dari KK board seperti:

  • dan masih banyak lainnya…

5. Frame

frame

Untuk spesifikasi frame, pilihlah yang ringan dan kuat, anjuran ane beli dahulu saja atau buat sendiri dari bahan alumunium kotak (seperti batang) dengan dimensi 1cm x 1cm. Sedangkan untuk bagian tengahnya (tempat peletakan kontroler) dapat menggunakan akrilik / pcb fiber.

Setup KKBoard 2.0 dari hoobyking (Mode X)

Nah link berikut ini yang ane jadikan sebagai referensi men-setup KK board 2.0 dari hobbyking http://oddcopter.com/2012/07/24/setting-up-my-hobbyking-kk2-0-quadcopter-x/

quadcopter fahmizal

Berikut ini list komponen yang dibutuhkan untuk merancang Quadcopter pada gambar diatas:

  • KK board 2.0:

http://www.hobbyking.com/hobbyking/store/__24723__Hobbyking_KK2_0_Multi_rotor_LCD_Flight_Control_Board.html

  • ESC:

http://www.hobbyking.com/hobbyking/store/__2163__TURNIGY_Plush_25amp_Speed_Controller.html

  • Motor Brushless 1100 KV:

http://www.hobbyking.com/hobbyking/store/__18969__Turnigy_D2836_8_1100KV_Brushless_Outrunner_Motor.html

  • Frame:

http://www.hobbyking.com/hobbyking/store/__25884__Dead_Cat_Conversion_Kit_for_SK450_Quadcopter_Frame.html

  • Propeller:

http://www.hobbyking.com/hobbyking/store/__25828__12x4_5_SF_Props_2pc_Standard_Rotation_2_pc_RH_Rotation_Orange_.html

atau;

http://www.hobbyking.com/hobbyking/store/__25819__10x4_5_SF_Props_2pc_Standard_Rotation_2_pc_RH_Rotation_Blue_.html

  • Batery:

http://www.hobbyking.com/hobbyking/store/__9394__Turnigy_2200mAh_3S_30C_Lipo_Pack.html

Recommended:

  • Turnigy programming Card:

http://www.hobbyking.com/hobbyking/store/__2169__TURNIGY_BESC_Programming_Card.html

  • Connector ESC to Motor:

http://www.hobbyking.com/hobbyking/store/__25479__XT60_to_3_X_3_5mm_bullet_Multistar_ESC_Power_Breakout_Cable.html

  • Hobby King Quadcopter Power Distribution Board

http://www.hobbyking.com/hobbyking/store/__23140__Hobby_King_Quadcopter_Power_Distribution_Board.html

  • Extended Landing Skid Set for SK450 Quadcopter Frame:

http://www.hobbyking.com/hobbyking/store/__28221__Extended_Landing_Skid_Set_for_SK450_Quadcopter_Frame.html

  • Charger:

http://www.hobbyking.com/hobbyking/store/__11668__HobbyKing_Variable_6S_50W_5A_Balancer_Charger_w_accessories.html

dan yang tidak kalah pentingnya ialah Reseiver dan Transeiver (Remote Control), nah untuk reseiver dan transeiver ini disesuaikan dengan budget dari temen2, ada banyak pilihannnya silakan merujuk kelink berikut: http://www.hobbyking.com/hobbyking/store/__82__190__Radios_Receivers-Complete_systems.html

Video Testing :

Simulation Mobile Robot for Education and Research using Webots

Webots adalah perngkat lunak (software) yang digunakan sebagai model, program dan simulasi suatu robot bergerak (mobile robot). Dengan menggunakan software ini, programer (user) dapat mendesain dan memprogram robot secara kompleks dengan satu atau berbagai robot pada lingkungan yang di inginkan.Webots ini telah digunakan lebih dari 750 universitas dan peneliti di dunia. Dengan menggunakan webots, kita mendapatkan keuntungan bahwa semua codedevolep dikembangkan oleh Swiss Federal Institute of Technology, yang telah lulus uji dengan baik dan terus dipertahankan selama lebih dari 10 tahun.

Fitur – fitur robot yang ada pada software Webots diantaranya seperti Humanoid Robot; NAO, DARwIn-OP, Fujistu HOAP-2, ZMP walk. Wheel Robot; Pioner P3DX, Epuck, Sojourner, Koala. Bioloid Robot; Salamander, Yamor, Tripod, Aibo. Service Robot; KUKA, Khepera dan sebagainya. Nah informasi lengkapnya temen2 bisa kunjungi situs resminya di sini.

Semoga informasi ini bermanfaat 🙂

Simple Candle Fire Fighter Robot (Robot Pemadam Api Lilin)

Temen2 berikut ini simple fire fighter robot-ku yang robotnya modifan dari robot wall follower-ku… nah cara buatnya simple kok… sensor buat pendeteksi titik apinya hanyaku gunakan photodiode dengan diolah menggunakan ADC mikrokontroler… prinsipnya sama seperti aplikasi pohotodiode pada robot line follower… nah buat alat pemadam aplikasinya aku gunakan kipas yg ku drive menggunakan motor DC dengan bantuan transistor dan relay… kipas yg digunakan pada robotku ini berasal dari “casing pc fan” ini dia penampakan gambarnya:

Dan ini dia videonya:

Semoga informasi ini bermanfaat 🙂

Simple Line Maze Algorithm (Short Path Maze Robot)

Postingan berikut ini ane share ilmu yg ane dapat dari pololu (www.pololu.com )… ya algoritmanya cukup menarik buat dipelajari… apalagi temen2 yg baru saja memulai ingin membuat robot cerdas pencari jalan singkat ditengah kerumitan jalan layaknya sebuah maze. Nah tidak perlu berlama lagi langsung saja temen2 pelajari algoritma nya dengan mengunduh file nya di link berikut  http://www.pololu.com/file/0J195/line-maze-algorithm.pdf ato sedot disini dan teman2 bisa juga baca penjelasan algoritmanya dari-ku berikut ini.

Metode Telusur Kiri :

Posisi

Perilaku (behavior) dan strategi penyelesaian maze

Memori

A

Robot berangkat dari home menuju target dengan menggunakan metode telusur kiri.

B

Pada posisi ini, sensor mendeteksi adanya perilaku “persimpangan tiga kekanan”, maka yang dilakukan robot adalah berjalan lurus dan menyimpan memori navigasinya dengan kode “S”.

S

C

Pada posisi ini, sensor mendeteksi adanya perilaku “jalan buntu” , maka yang dilakukan robot adalah berbalik arah dan menyimpan memori navigasinya dengan kode “U”.

U

D

Pada posisi ini, sensor mendeteksi adanya perilaku “persimpangan tiga kekiri”, maka yang dilakukan robot adalah belok kiri dan menyimpan memori navigasinya dengan kode “L”.

L

E

Pada posisi ini, sensor mendeteksi adanya perilaku “persimpangan per-empat-an”, maka yang dilakukan robot adalah belok kiri dan menyimpan memori navigasinya dengan kode “L”.

L

F

Sama dengan kondisi pada posisi C.

U

G

Sama dengan kondisi pada posisi E.

L

H

Sama dengan kondisi pada posisi C dan F.

U

I

Sama dengan kondisi pada posisi E dan G.

L

J

Sama dengan kondisi pada posisi D.

L

K

Robot berhenti karena target telah ditemukan.

Dari hasil penjelajahan robot menggunakan telusur kiri pada track maze maka terbentuklah rekaman memori navigasi dengan kode berikut dan di sederhanakan menjadi “RRL”. Itu artinya bahwa disetiap persimpangan dimulai dari keberangkatan robot diperoleh arah navigasi ke kanan (R) untuk simpang pertama, ke kanan (R) untuk simpang yang kedua dan ke kiri (L) untuk simpang yang ketiga.

Metode Telusur Kanan :

nah berikut video robot line maze ku…

Semoga informasi ini bermanfaat 🙂

Robot Wall Follower dengan Kendali PID

Nah pada postingan kali ini ane sharing tentang robot Wall Follower (follower lagi wkwkwkwkwk 🙂 ) yups mirip ama Line Follower tapi sedikit berbeda pada penggunaan sensor. Jika pada LF temen2 menggunakan sensor garis namun pada Wall Follower ini temen2 menggunakan sensor jarak. Nah tentu saja temen2 membutuhkan modal lebih lagi untuk bermain-main dengan nih robot coz sensor untuk ni robot agak mahal sih untuk kantong ane… ^_^. Topik yang akan ane bahas adalah bagaimana penerapan kendali PID untuk robot Wall Follower agar saat berjalah mengikuti Wall (dinding) dapat bergerak dengan halus, cepat dan responsif. So semoga pembahasan pada postingan kali ini dapat membantu temen2 yg saat ini sedang ngerjain Tugas Akhir ato sedang mempersiapkan robotnya pada ajang Kontes Robot Cerdas Indonesia (KRCI). Nah sebelum memulai materinya… temen2 sedianya membaca terlebih dahulu teori2 penunjang berikut ini yang telah ane susun dari berbagai referensi tentunya.

Teori Wall Follower:

Wall Follower adalah suatu algoritma untuk menyediakan orientasi navigasi kepada robot dengan menyusuri dinding. Salah satu keuntungannya adalah tidak perlu adanya garis penuntun ataupun suatu tanda khusus sebagai arahan bagi robot. Cara kerjanya adalah dengan mengatur jarak dinding dengan robot tetap konstan. Bila terjadi perubahan, maka robot akan bergerak untuk kemudian menyesuaikan jarak lagi. Proses ini akan dilakukan secara berulang-ulang. Ada empat metode dari Wall Follower:

  • Contact. Robot menggunakan saklar mekanik yang merasakan sentuhan  dengan dinding. Ini adalah metode yang paling mudah namun saklar akan cenderung mengalami kerusakan mekanis setelah beberapa waktu.
  • Noncontact, active sensor. Robot menggunakan sensor aktif yang beroperasi dalam jarak dekat seperti infra merah atau ultrasonik untuk mengukur jarak antara dinding dengan robot.
  • Noncontact, passive sensor. Robot memakai sensor pasif seperti saklar Hall effect untuk mengukur jarak antara robot dengan dinding. Pada kasus ini, dinding harus berbahan logam atau dipasangai kabel elektrik agar sensor dapat menangkap medan magnetik saat robot mendekati dinding.
  • Soft-contact. Robot menggunakan bahan mekanik untuk mendeteksi sentuhan dengan dinding, namun sentuhan ini diperhalus dengan memasang material lunak atau lentur contohnya roda dari busa atau karet. Kelebihan dari metode ini adalah berkurangnya kerusakan mekanis.

Metode-metodeWall Follower :

Selanjutnya sebelum ke materi pemrogramannya ane kenalin dulu nih ma robot ane ya temen2… ^_^

Desain mekanik robot Wall Followerku :

Desain elektronik robot Wall Followerku :

Tampilan hasil desain dan rancangan robot Wall Followerku :

Nah tu dia temen2 robot Wall follower ane… cakep kan wkwkkwkw 😀 Okedeh sekarang temen2 baca konsep kendali PID yang ane terapkan di robot ini. Semoga temen2 semua faham dan dapat di jadikan referensi ya ^_^

Pemrograman Kontroler PID pada Robot Wall Follower :

Pembuatan program kontroler PID ini dilakukan berdasarkan persamaan kontroler PID digital. Pertama-tama  akan  dibuat dua buah variabel berupa error, last_error. Gunanya adalah untuk menyimpan data error dan last_error yang akan digunakan pada perhitungan aksi kontroler PID. Setiap satu kali looping program, error akan diperbaharui dengan data yang diambil dari sensor dan sebelumnya akan disimpan di last_error. Keluaran dari perhitungan program kontroler PID ini adalah nilai PWM. Nilai PWM ini dapat bernilai positif ataupun negatif. Positif dan negatif pada nilai PWM ini menandakan arah putaran motor. Keluaran kontroler berupa nilai PWM ini akan memanggil fungsi pengendali driver motor, pada fungsi ini apabila PWM bernilai positif, maka motor akan berputar maju, sebaliknya bila PWM bernilai negatif, maka motor akan berputar mundur. Nilai PWM keluaran dari kontroler PID ini akan ditambahkan dan dikurangkan terlebih dahulu dengan base PWM untuk masing-masing motor dan dijumlahkan dengan offset PWM pada masing-masing motor tersebut. Ilustrasi aplikasi kontroler PID dapat dijelaskan pada diagram blok berikut.

Diagram blok kontroler PID pada robot Wall Follower :

Deviasi/simpangan antar variabel terukur (PV) dengan nilai acuan (SP) disebut error (galat). Setpoint (SP) adalah suatu prameter nilai acuan atau nilai yang diinginkan. Present Value (PV) adalah nilai pembacaan sensor saat itu atau variabel terukur yang di umpan balikan oleh sensor (sinyal feedback). Berikut Gambar ilustrasi kontroler PID pada robot Wall Follower dan arsitektur kontroler PID pada robot Wall Follower.

Ilustrasi kontroler PID pada robot Wall Follower :

Dan ini dia video hasil eksperiment robot Wall Follower ane dengan kendali Kendali PID …

Robot Wall  Follower PID -ku part 1:

Robot Wall  Follower PID -ku part 2:

Robot Wall Follower with Right Rule Tracer and Obstacle Avoidance:

Robot Wall Follower with Left Rule Tracer and Obstacle Avoidance:

Semoga informasi ini bermanfaat 🙂

Robot Line Follower dengan Kendali PID-Fuzzy

Robot Line Follower dengan Kendali PID-Fuzzy

Ane mau… sharing lagi nih ma temen2 tentang LF… mungkin ada yg bosen kok isi blog ini kebanyakan robot LF aja heheheeehe 😀 Ya begitulah kondisinya temen2 ane maniak banget dengan ni robot LF makanya ane suka ber-eksperiment tentang bagaimana menerapkan berbagai kendali yg tepat untuk diterapkan di robot LF ini supaya pergerakannya itu halus cepat dan responsif. Yups ane dah menerapkan kendali PID pada ni robot dan saat ini ane mencobanya dengan menggabungkannya dengan kendali Fuzzy. Ide itu berawal dari setelah ane dapat matakuliah sistem pengaturan cerdas di Teknik Elektro ITS. Matakuliah (walaupun cuma 2 sks) itu saat ane senangi temen2… dimana dosennya mantep banget (perfect) jelasinnya (terimakasih banyak ya pak) tidak hanya teori tapi praktek juga… so ane terrapin deh di robot LF ane :D. Nah oleh sebab itu ane coba share ilmu yg sedikit ini kepada temen2 semua… semoga bermanfaat dan bisa dijadikan referensiya… ^_^

Nah sebelum ane jelasin tentang logika Fuzzy-nya ane kenalkan dahulu ye ma robot LF ane yang tersisa, maksudnya yang kondisinya masih FIT alias sehat (masih bisa nyala). Ni dia foto-fotonya:

Temen2 semua dah liatkan robot LF ane yang satu ini… Jelekkan (kurang estetika)… hehehe 😀 itu lah robot ane.. desain mekanik ala kadarnya… menggunakan acrylic sisa dan PCB bolong sebagai kerangka robotnya… sensornya pun langsung ditanam di PCB bolong gak pake desain layout langsung solder aja praktis bukan… komposisi gearbox-nya pake kanibal maenan tank terus ane tempel ke bodi robotnya pake Lem Tembak… itulah senjata ane gan ^_^  walaupun mekanik robotnya jelek,  setelah diberi kontroler yang tepat jalannya bisa halus lo hehehe 😀 ini dia salah satu aksi robotnya pada kasus Line Maze Robot.

Nah ni dia spesifikasi lengkap dari robot LF ane :

  • Mikrokontroler AVR = ATMega32
  • Sensor = LED Super Bright Putih – Photo Dioda (8 di depan, 3 di sayap kiri, 3 di sayap kanan dan 1 di tengah belakang sebagai kondisi NOS… total pake 15 sensor dengan Konfigurasi ADC-Multiplekser)
  • Motor DC = DVD 6.0 V
  • Gear  = Kanibal dari maenan Tank
  • Battery = LiPo 850mAH / 11,1V
  • Driver Motor = L293d
  • Dimensi = panjang; 18 cm × lebar; 15 cm
  • Bahasa Pemrograman = Bahasa C dengan compiler  CodeVision AVR

Selanjutnya untuk penjelasan logika Fuzzy ini temen2 bisa googling di mbah google ato baca sedikit penjelasnya disini ato sedot ni paper. Berikut ini aturan yang harus temen2 fahami tentang logika Fuzzy yang ane uraikan sebagai berikut (bila ada kesalahan mohon ane dikoreksi ya gan ^_^ ).

Tahap Pemodelan dalam logika Fuzzy:

Nah bila kita terapkan dalam pengendalian proses dapat diterapkan seperti blok di bawah ini:

Dari uraian blok diatas dapat kita fahami bahwa didalam logika Fuzzy terdapat tiga hal terpenting yang harus temen2 fahami diataranya:

  1. Fuzzifikasi adalah proses untuk mengubah variabel non fuzzy (variabel numerik) menjadi variabel fuzzy (variabel linguistik).
  2. Inferencing (Ruled Based) , pada umumnya aturan-aturan fuzzy dinyatakan dalam bentuk “IF……THEN” yang merupakan inti dari relasi fuzzy.
  3. Defuzifikasi adalah proses pengubahan data-data fuzzy tersebut menjadi data-data numerik yang dapat dikirimkan ke peralatan pengendalian.

Oke deh… segitu aja ya penjelasan dari ane tentang teori logika Fuzzy-nya… selanjutnya ane jelasin tentang cara pengaplikasiannya pada robot LF… tapi logika Fuzzy yang ane terrapin pada robot LF ini tidak murni hanya dengan logika Fuzzy saja tapi digabungkan (hybrid) dengan kendali PID… so judulnya yang lebih tepat adalah Robot Line Follower dengan Kendali Hybrid PID-Fuzzy.

Diagram Blok Hybrid Kendali PID – Fuzzy

Nah untuk penjelasan Kendali PID-nya bisa temen2 lihat postingan ane yg lampau disini. Dan untuk penjelasan logika Fuzzy-nya ialah sebagai berikut:

Perhatikan step berikut temen2 :

Aplikasi pemrograman logika fuzzy ini ane terapkan dalam bahasa C (codevisonAVR), ini dia potongan program untuk penentuan membership pada proses penentuan crisp input dalam proses fuzzikasi-nya. Ane menggunakan 7 membership dalam proses cris input pada Fuzzifikasi error dan derror-nya, dengan fungsi keanggotaan segitiga (triangle membership function).  Berikut ini sample code fuzzifikasi-nya:

fuzzifikasi

Proses fuzzifikasi, fungsi keanggotaanya ane aktifkan dengan fungsi keanggotaan segitiga yang selanjutnya masuk ke proses Rule Base Evaluationnya. Proses Rule Evaluation-nya mengacu pada tabel MacVicar Whelan dengan menggunakan Mamdani Inference Rule, berikut ini contoh tabee proses rule evaluationya menggunakan teknik dari MacVicar Whelan dengan menggunakan 5 membership error dan derror. Untuk case pada robot ini, ane gunakan 7 membership error dan derror.

Nah berikut ini sample codenya untuk Mamdani Inference Rule using MacVicar Whelan Method:

Inference Rule

Dari hasil rule evaluasi ini kita dapatkan hasil kontrol logika fuzzy-nya yang selanjutnya kita defuzzifikasi yaitu dengan banyak cara (bisa lihat disini sebagai reference) diantaranya yang paling umum adalah dengan teknik Center of Gravity (COG). Nah untuk case robot ini, ane gunakan teknik dari Sugeno menggunakan Weighted Average (WA). Berikut ini sample code defuzzifikasi-nya:

defuzzifikasi

Dari proses defuzzifikasi ini baru lah kita dapatkan sinyal kontrol logika Fuzzy yang akan kita terapkan pada robot LF nantinya. Nah selajutnya proses pemberian nilai PWM motor robot LF ane adalah gabungan (hybrid) antara kendali PID dengan logika Fuzzy. Berikut sample code untuk ditransfer ke aktuator (driver motor robot) dalam bentuk PWM:

Dan ini dia video robot LF ane dengan kendali Kendali PID – Fuzzy…

Semoga informasi ini bermanfaat :)