Mini4wd AI [ミニ四駆AI]

Happy Saturday! Saya mau cerita tentang kesibukan di kampus akhir-akhir ini, yang hampir bikin pusing tiap hari. Tanggal 9 Maret lalu, saya ditunjuk sebagai perwakilan lab untuk mengikuti Game AI Tournaments 2016, di bidang Mini4wd AI.

_MG_5886.jpg1235538_1109943779056520_9026869287042987209_n.jpg

Game AI Tournaments adalah sebuah kompetisi game, dimana para peserta tidak hanya memainkannya dalam mode biasa. Misalnya, di bidang Chess AI, para peserta diwajibkan menciptakan sebuah program permainan catur yang telah didesain dan diberi “kecerdasan buatan (Artificial Intelligence)”. Kemudian Chess AI yang telah diciptakan para programmer, diadu dan diduelkan dengan ciptaan game maker lainnya. Disini, algoritma sistem, dan machine learning, sangatlah berperan penting. Terlebih karena kompetisi ini bukan pertandingan antar manusia, melainkan AI system vs AI system.

Saya sendiri masih tergolong pemula, karena basic saya bukan seorang gamer. Malah sejak masih anak-anak, saya dilarang bermain game, apalagi PS dan game konsol lainnya. (LOL!) (^-^;) Namun itu bukan hambatan besar, karena jika paham mengenai prinsip dasar AI system, machine learning, kita bisa menciptakan kecerdasan buatan itu sendiri.

Anyway, sistem dapat digolongkan “cerdas”, jika mereka dapat berpikir sendiri untuk mengambil keputusan dan mengalahkan lawan main. Mereka diberi data awal dalam jumlah besar yang disimpan dalam database  terlebih dulu. Kemudian, game maker yang memutuskan algoritma dan cara kerja sistem tersebut. Kalau saya, karena di bidang Mini4wd AI, terlebih dulu saya merakit rangkaian elektronik di board, kemudian memasukkan program dasar ke Arduino (Fyi, Arduino ini banyak sekali jenisnya. Tapi yang saya pakai adalah Arduino pro Mini, karena ukurannya yang kecil sehingga dapat diletakkan diatas cover Mini4wd).

12790836_1103030149747883_6169167007903719980_n (1).jpg

Kali ini saya menggunakan Gyro sensor, dan 3Axes Acceleration Sensor, sebagai bahan input manual untuk menentukan kecepatan dan sudut kemiringan Mini4wd. Gyro sensor sangat berguna ketika Mini4wd melintasi tanjakan maupun turunan. Ketika dalam kondisi kecepatan tinggi dan berhadapan dengan tanjakan atau, maka sistem akan menurunkan kecepatan sehingga mini4wd tidak terpelanting keluar arena. Disisi lain, saya menggunakan Acceleration sensor (3Axes Sensor percepatan), sehingga pada lintasan biasa (datar) nilai percepatan akan semakin bertambah. Menggunakan baterai yang hanya diperbolehkan 3.3V (one of the game rules), membuat saya harus menggunahan FET untuk menaikkan nilai arus agar dapat mengaliri sensor, relay, dan LED secara bersamaan. Oh ya, saya menggunakan 2 buah relay (Panasonic 1.5V) untuk membuat motor berbalik poros putaran, sehingga saat mini4wd berhenti, akan sedikit mundur dalam hitungan waktu per milisec.

XBee digunakan untuk mengirim nilai input yang didapat dari sensors ke komputer, sehingga saya bisa tahu kecepatan maksimum mini4wd pada lintasan lurus, jump area, dan bukit. Dari sana, saya dapat menentukan treshold (nilai batas ambang) agar tidak terpelanting keluar lintasan. Penggunaan lain XBee adalah sebagi machine controller. Tapi karena ini kompetisi AI, maka saya tidak menggunakan fungsi XBee yang satu ini.

12814746_1103055616412003_346945452369297201_n (1).jpg

Alhasil ini mini4wd AI rancangan saya, board yang saya rakit diletakkan dibawah case, sedangkan Arduino ditaruh diatasnya untuk mempermudah memasukkan program. Kompetisi berlangsung selama kurang lebih empat jam, dan Alhamdulillah mini4wd saya melaju dengan stabil dan sesuai harapan, walaupun gak dapat peringkat pertama. But next time I’ll make it!

sign

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s