BAB III PERANCANGAN SISTEM
Pada bab ini akan dibahas mengenai perancangan dari perangkat keras, serta perangkat lunak dari algoritma robot. 3.1. Sistem Instruksi dan Kontrol Robot
Gambar 3.1. Blok diagram sistem Sistem kontrol pada robot dibagi menjadi dua yaitu kontrol utama dan kontrol aktuator robot. Kontrol utama di sini terdiri dari smartphone dan mikrokontroler, di mana kontrol utama di sini bertugas untuk menciptakan keputusan bagaimana robot harus bertindak. Masukkan berupa gambar yang diterima oleh smartphone dari kamera, diolah dengan program sehingga menghasilkan keputusan untuk melakukan pergerakan. Keputusan yang diciptakan tersebut kemudian diperintahkan oleh smartphone dengan keluaran berupa paket data yang berupa char. Kemudian paket data tersebut akan diterjemahkan oleh mikrokontroler dan dapat diterima oleh kontrol aktuator robot berupa alamat-alamat ID dari servo untuk mengontrol servo dan telah diinisialisasi sebagai suatu gerakan. Kontrol aktuator robot di sini adalah pengendali servo yang berfungsi untuk mengontrol sistem pergerakan robot yang diaplikasikan pada servo motor yang ada pada
12
robot sehingga robot bisa melakukan gerakan seperti berjalan, jatuh, menendang, dsb. Di mana semua pergerakan tersebut diputuskan oleh kontrol utama
3.2. Konstruksi Robot
Gambar 3.2 Robot humanoid kiper versi 2015
Bahan yang digunakan pada robot kiper saat ini terdiri dari Alumunium, plastik dan akrilik. Bahan-bahan yang digunakan ini berfungsi untuk menjaga agar robot tetap kokoh dan ringan. Robot kiper ini terdiri dari 18 motor servo dengan rincian 5 servo di setiap kaki, 3 servo di setiap tangan, dan 2 di bagian kepala. Selain itu juga terdapat smartphone yang ada pada punggung robot sebagai kontrol utamanya. Tabel 3.1. Tabel keterangan badan robot Badan Robot Dimensi Berat Derajat kebebasan gerak
(p×l×t) : 20 x 10 x 44 [cm] 2,2 kg 18 servo (tangan 3x2, kaki 5x2, kepala 2)
3.3. Desain Perangkat Keras Pada bagian ini akan dijelaskan mengenai perancangan perangkat keras. Perancangan perangkat keras yang akan dijelaskan berupa perangkat keras elektronik yang digunakan. 3.3.1. Smartphone Android Smartphone adalah telepon seluler yang memiliki kemampuan komputasi yang tinggi dan biasanya memiliki periperal sensorik seperti akselerometer, kompas digital, dan kamera. Seperti komputer pada umumnya, smartphone membutuhkan sistem 13
operasi (OS). OS smartphone yang banyak beredar dipasaran antara lain Android, iOS, Windows dan Symbian.
Gambar 3.3. Smartphone Android Sony Xperia Mini st15i [1].
Penggunaan smartphone berbasis OS Android dipilih oleh penulis karena OS Android merupakan sistem operasi yang didukung oleh Google. Smartphone Android yang dipilih adalah keluaran Sony bertipe Xperia mini st15i dengan spesifikasi[1] : Resolusi Layar
: 320 x 480 pixel
Kamera
: 5 megapixel dengan penyetabil citra
OS
: Android 2.3
Kecepatan CPU
: 1 GHz
Sensor
: Akselerometer, jarak, kompas
Jaringan
: Wifi 802.11 b/g/n, Bluetooth V2.1 mengoleng menggulung
melenggang
Gambar 3.4. Orientasi sensor pada smartphone.
14
Smartphone Android memiliki sensor orientasi di mana terdapat sumbu mengoleng, melenggang, dan menggulung. Kompas digital memanfaatkan sumbu mengoleng dari sensor Android ini yang mengembalikan nilai dari 0 sampai 360 derajat.
3.3.2. Mikrokontroler ATMega 324 Mikrokontroler ATMega 324 bertugas mengontrol servo pan dan tilt kepala dan servo tubuh. Pengontrolan servo kepala dilakukan secara langsung menggunakan timer 16 bit. Pengontrolan servo tubuh dilakukan dengan mengirimkan instruksi gerakan ke controller servo Dynamixel. Instruksi gerakan yang dikirim adalah instruksi gerakan yang didapat dari perintah smartphone Android.
3.3.3. Modul Bluetooth Modul bluetooth digunakan untuk media pengiriman data yang berupa perintah dari smartphone Android ke mikrokontroler. Perintah akan dikirimkan dari smartphone melalui bluetooth sehingga diperlukan modul bluetooth agar mikrokontroler dapat terhubung dengan smartphone dan menerima data yang dikirimkan. Modul bluetooth yang digunakan adalah modul bluetooth tipe DF-Bluetooth V3. Berikut adalah gambar dari DF-Bluetooth V3.
Gambar 3.5. DF-Bluetooth V3 [2].
Gambar 3.6. Pin pada DF-Bluetooth V3 [2].
3.3.4. Motor Servo Motor servo disini digunakan untuk mengontrol gerakan kepala robot. Motor servo yang digunakan adalah motor servo dengan tipe Tower Pro MG90s. Motor servo
15
dikontrol oleh ATMega 324 dengan mengirimkan modulasi lebar pulsa atau Pulse Width Modulation (PWM).
Gambar 3.7. Motor servo Tower Pro MG90s[10].
3.4. Desain Perangkat Lunak 3.4.1. Modifikasi Algoritma Untuk merancang sebuah robot humanoid kiper yang cepat, tepat, dan efektif, dilakukan modifikasi terhadap Mode pinalti dan Mode counter[9] yang sudah ada sebelumnya, kemudian ditambahkan lagi dua mode lain yaitu Mode siap dan Mode kembali. Modifikasi di sini meliputi penambahan beberapa algoritma dan penggantian nama terhadap Mode pinalti dan Mode counter, di mana Mode pinalti menjadi Mode blok dan Mode counter menjadi mode siaga untuk menyesuaikan perilaku robot. Perbedaan algoritma yang lama dengan yang baru dapat dillihat pada Tabel 3.2
Tabel 3.2. Tabel perbedaan algortima lama dan baru Algoritma Lama
Algoritma Baru
Metode menjauhkan bola yang belum Metode menjauhkan bola yang baru dan efektif, yaitu masih menggunakan kaki, lebih efektif yaitu dengan menggunakan yang bisa menyebabkan bola menjauh tangan, untuk menghindarkan kejadian karena tidak sengaja tertendang sebelum bola tertendang dengan kaki sebelum dijauhkan dengan kaki[9]. dijauhkan. Robot tidak dapat menyesuaikan posisi Robot dapat menyesuaikan posisi terhadap terhedap arah datang bola arah datang bola Robot belum bisa kembali dengan baik ke Robot dapat kembali dengan baik ke tempat semula tempat semula Robot belum bisa kembali dengan baik Robot dapat kembali dengan baik setelah setelah dilakukan pickup
dilakukan pickup
16
Mode siap, dan Mode kembali digunakan saat robot ingin kembali ke posisi siaganya berada di tengah gawang. Penjabaran mengenai Mode blok, Mode siaga, Mode siap dan Mode kembali serta penjelasan mengenai modifikasi yang ada dapat dirangkum sebagai berikut: 1.
Mode blok Mode blok ini digunakan pada saat bola sudah masuk ke area pandang sejauh 80
cm dari kiper, kemudian mengunci posisi dari bola tersebut, dan jika bola ditendang kiper akan mengambil tindakan jatuh ke kanan, ke kiri, atau split. Selain itu kiper juga dapat menjauhkan bola saat bola berada kurang dari 40 cm. Modifikasi algoritma yang dilakukan di sini yaitu jika robot melihat bola di dekatnya, robot akan langsung merespon untuk menjauhkan bola dari gawang setelah menepis bola dengan metode yang lebih baik, yaitu dengan melakukan sampling terhadap jarak bola, serta cara menjauhkan yang berbeda yaitu menggunakan tangan robot sehingga menghindarkan kemungkinan bola tertendang karena motion robot yang tidak sempurna dan akhirnya keberhasilan untuk menjauhkan bola menjadi lebih besar.
Gambar 3.8. decision tree mode blok.
Pada mode ini keputusan yang harus dipilih yaitu jarak bola dari kiper. Jika kurang dari 80 cm berarti menginisialisasi mode blok jika kurang dari 40 cm, berarti robot memutuskan untuk mengejar bola dan menjauhkannya. 17
2.
Mode Siaga
Gambar 3.9. decision tree mode siaga. Mode siaga merupakan pengembangan dari mode counter yang ada pada algoritma sebelumnya. Mode counter adalah mode yang mengukur kecepatan bola, dengan mode ini robot dapat memperkirakan apakah bola sampai ke daerahnya dan perlu menangkisnya atau tidak. Pada mode siaga ditambahkan kemampuan pada robot yang nantinya dapat memperkirakan posisi bola (di sebelah kiri atau sebelah kanan gawang). Mode ini digunakan pada saat bola berada di luar daerah pinalti (80 cm) dengan maksud robot bisa memposisikan diri terhadap arah keberadaan bola, dan tidak melakukan gerakan yang sia-sia seperti split, jatuh ke kanan, dan jatuh ke kiri, mengingat ukuran gawang pada peraturan yang baru menjadi lebih besar dari ukuran sebelumnya. 3.
Mode Siap Pada mode siap ini robot dapat kembali ke posisi awalnya ke tengah gawang agar
siap untuk kembali menjaga gawang. Tujuan dibuatnya mode ini adalah agar robot tetap menjaga gawang di daerah jaganya, sehingga tidak terlalu maju atau mundur, serta tidak keluar dari area gawang yang harus dijaga. Acuan posisi kembali yang tepat pada mode ini yaitu menggunakan titik pinalti sebagai penentu supaya robot berada di tengah.
18
Gambar 3.10. decision tree mode siap.
4.
Mode Kembali Mode kembali memiliki konsep yang sama dengan mode siap, namun mode
kembali ini digunakan saat robot ingin kembali ke gawang dengan tepat setelah pickup .
Pembahasan mengenai algoritma sebelumnya dan algoritma yang baru akan digambarkan menggunakan diagram alir, di mana algoritma pertama merupakan algoritma yang lama dan algoritma kedua merupakan algoritma yang baru. Di mana terdapat perbedaan pada pengambilan keputusan saat robot akan membuang bola, dengan algoritma yang baru robot dapat menjauhkan bola dari gawang dengan lebih baik karena menggunakan sampling serta metode yang lebih aman seperti yang sudah dijelaskan pada penjabaran algoritma mode blok di atas. Selain itu perbedaan juga terletak pada saat bola di luar jangkauan kiper. Dengan algoritma yang baru kiper dapat menyesuaikan arah posisi bola, dibandingkan dengan sebelumnya kiper tidak dapat memposisikan diri terhadap arah bola. Diagram alir yang menunjukan perbedaan antara algoritma yang lama dan yang baru dapat dilihat pada Gambar 3.11 dan Gambar 3.12. 19
Kemudian untuk algoritma pada mode siap dan mode kembali akan ditunjukan oleh diagram alir pada Gambar 3.13 dan 3.14. Pada Gambar 3.13 menunjukan algoritma dari mode siap. Robot akan menerima komunikasi dari robot penyerang di mana menerima komunikasi ini menandakan bahwa bola sudah berada jauh di depan, di dekat robot penyerang. Setelah menerima komunikasi ini kemudian robot akan kembali ke posisi awal dengan menyesuaikan diri terhadap posisi titik pinalti. Pada Gambar 3.14 menunjukan algoritma dari mode kembali. Saat robot ingin kembali ke posisinya di lapangan, pertama-tama robot akan menyesuaikan kompas terhadap posisi gawang dari pinggir lapangan, setelah kompas posisi gawang ditemukan dia akan berjalan sampai gawang sesuai dengan perhitungan langkah yang dilakukan, setelah langkahnya habis itu berarti menandakan bahwa robot kiper sudah berada di depan gawang, dan kemudian robot akan cek kompas ke arah gawang musuh, agar posisinya menghadap ke depan. Setelah robot menyesuaikan posisi hadapnya robot akan kembali ke posisi tengah gawang dengan menyesuaikan diri terhadap posisi titik pinalti seperti pada mode siap.
20
Gambar 3.11. Diagram alir algoritma lama
21
Gambar 3.12. Diagram alir algoritma baru
22
Gambar 3.13. Diagram alir algoritma mode siap
23
Gambar 3.14. Diagram alir algoritma mode kembali
24
3.4.3. Analisis Perubahan Spesifikasi Pertimbangan yang dilakukan oleh penulis dalam merubah spesifikasi pada poin 3 yaitu, Robot dapat mengoper bola ke area kosong ke arah sisi lain lapangan dengan presentase keberhasilan 80% dengan percobaan sebanyak 30 kali percobaan menjadi, robot dapat menjauhkan bola dari gawang dengan presentase keberhasilan 80% dengan percobaan sebanyak 30 kali percobaan yaitu dengan alasan sebagai berikut: 1. Persebaran warna hijau yang merata pada pandangan robot, sehingga sulit untuk menentukan daerah mana yang kosong, meskipun ada robot di depannya apabila warna hijau (lapangan) yang didapat terlalu banyak, tetap saja robot akan menganggap daerah kosong ada di hadapannya.
Gambar 3.15. Persebaran warna hijau yang nampak sangat dominan meski ada robot di depannya 2. Adanya keterbatasan motion robot serta keterbatasan perangkat keras, sehingga dalam kondisi ini menyebabkan gerakan robot yang lambat untuk menjauhkan bola, untuk menjauhkan bola tanpa mencari posisi yang kosong saja sudah membutuhkan waktu yang relatif lama, jika algoritma pada robot ditambahkan untuk mencari di mana posisi yang kosong, hal ini akan menghilangkan tingkat efisiensi robot dalam menjauhkan bola, malah memungkinkan akan menghilangkan kesempatan robot kiper untuk menjauhkan bola. Karena tindakan terpenting pada robot yang digunakan saat lomba hanyalah “bagaimana menjauhkan bola dari gawang dengan cepat”.
25