Design and Implementation Client Server of Image Data Processing on Mirosot Robotsoccer System

[S]OCCER is one of the most interesting sports in the society. FIFA records that at least 700 million people watched final match of World Cup 2010. Soccer is interesting not only to play but also to research. Especially to whom is researching the artificial intelligence.

Every one middle league team in Mirosot, it must not only have five robots but also a host computer, a communication module, and a camera to record the movements of the robots. It means, in a match, there are at least two cameras for each team in the field. A robot soccer match actually can be recorded by just one camera. Later, the result of the camera image will be sent to each team to be treated for their strategy.

The data will be sent to each host computer or client through the Local Area Network (LAN) by using the framework IOCP.
This thesis explains the system development of Mirosot robot soccer with the client server system which separates the image processing and the strategy processing. The result of this research shows the client server system can play the Mirosot soccer match well.


Yap, itulah secuplik hasil pertapaan saya selama 2 tahun di kampus gajah. Selama setahun terakhir, saya mengulik tentang robotsoccer Mirosot. Yang belum tahu apa itu Mirosot, silakan googling ya.

Karena saya tidak punya latar belakang elektro, tentu saja yang diulik bukan bagian hardware-nya. Cukup bagian software-nya. Dan itu pun luas, karena penelitian tentang sepak bola Mirosot saya pikir cukup luas, apalagi jika hanya dilakukan oleh 4 orang saja. Setidaknya ada 4 bagian yang kami kerjakan, yakni hardware -katanya ngulik robotnya-, kamera, AI, dan klien yang menghubungkan semuanya.

Saya kebagian yang klien. Berarti saya berhubungan dengan kamera, AI, dan juga si robot. Sebenarnya plus bagian server juga, atau tepatnya yang suka mengirim data (jika definisi server dianggap kurang tepat).

Umumnya di Mirosot, dalam permainan sepak bola akan digunakan dua kamera, dua komputer host, dan masing-masing 5 robot (ini untuk medium league). Jadi masing-masing tim punya kamera dan komputer host masing-masing. Gambarnya seperti berikut.

2.1

Jika dilihat dari gambar di atas, sebenarnya kan bisa pakai satu kamera saja kan? Dari sinilah penelitian saya bermula. Artinya, membuat sebuah sistem baru yang memungkinkan hasil pencitraan dari satu kamera digunakan oleh dua host (client) untuk selanjutnya diolah menjadi algoritma kecerdasan untuk memenangkan pertandingan.

2

Terdengar simpel ya? Bagi yang jago koding seperti anda sepertinya nggak susah. Tapi bagi saya yang tingkat kemahirannya masih di level basic, itu susahnya minta ampun. hehe. Apalagi menurut Pak Ary, kami harus membangun sistem dari awal. Padahal sebelumnya sudah ada, yakni software bawaan Yujin, robot yang kami pakai selama ini (walau hanya casingnya saja).

Itu artinya, algoritma pengolah citra harus dibuat lagi. Klien atau host harus dibuat juga. Termasuk sistem AI-nya (walau pun akhirnya saya samakan dengan di Simurosot, sehingga hasil percobaan di Simurosot masih bisa digunakan. Seharusnya). Juga sistem yang ada di robot, harus dibuat ulang. Dan itu pekerjaan yang tidak mudah, khususnya bagi saya :D.

Untunglah walau saya masih pemula dalam masalah koding mengoding, sistem klien yang menghubungkan kamera, AI dan robot bisa selesai juga. Selain itu, penggambaran ulang posisi robot menggunakan Open GL (karena nggak ngerti cara buat gambar bergerak pakai C++ biasa :)) ). Hasilnya seperti gambar di bawah.

4_clientbaca

Dan lulus lah saya. Lalu, apakah saya puas? tentu saja tidak. Banyak fitur yang seharusnya ada akhirnya dihapus dulu. Misalnya mengenai pencatatan pertandingan. Seharusnya di bagian kamera/server dibuat algoritma yang mampu mendeteksi apakah bola sudah gol atau belum, waktu permainan sudah berapa menit, kalibrasi lapangan, dll. Apa boleh buat, waktunya semakin mepet dan kemampuan saya belum sampai ke sana hehe.. (apologi).

Bahkan sebenarnya proyek ini bisa dikembangkan lebih jauh (kalau mau dan bisa), misalnya membuat si robot bermain dengan lawan virtual. Artinya, nanti di klien dipasang lawan virtual (dan mungkin bola virtual juga), nantinya si robot sebenarnya yang ada di lapangan akan bermain bola dengan tim virtual itu. Hybird, kata Pak Ary waktu itu.

Buat apa? Tentu ada gunanya. Asal tahu saja, harga robot Mirosot itu mahal. banget. Kalau nggak salah, robot keluaran Merlyn System bisa ratusan juta. Entah satu buah atau itu sudah sepaket dengan lapangan dll. Yang buatan Robotstore HK saja harganya sudah sekitar 180 jutaan.

Jadi kalau bisa bikin lawan virtual, itu artinya bisa menghemat banyak uang, sehingga kita masih bisa mengembangkan Ai yang baik sehingga bisa menang di kompetisi FIRA. 😀

Ada komentar?

%d bloggers like this: