BAB III PERANCANGAN SISTEM -...
Transcript of BAB III PERANCANGAN SISTEM -...
12
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
13
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 (p×l×t) : 20 x 10 x 44 [cm]
Berat 2,2 kg
Derajat kebebasan gerak 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
14
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
Gambar 3.4. Orientasi sensor pada smartphone.
menggulung
mengoleng
melenggang
15
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
16
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
efektif, yaitu masih menggunakan kaki,
yang bisa menyebabkan bola menjauh
karena tidak sengaja tertendang sebelum
dijauhkan dengan kaki[9].
Metode menjauhkan bola yang baru dan
lebih efektif yaitu dengan menggunakan
tangan, untuk menghindarkan kejadian
bola tertendang dengan kaki sebelum
dijauhkan.
Robot tidak dapat menyesuaikan posisi
terhedap arah datang bola
Robot dapat menyesuaikan posisi terhadap
arah datang bola
Robot belum bisa kembali dengan baik ke
tempat semula
Robot dapat kembali dengan baik ke
tempat semula
Robot belum bisa kembali dengan baik
setelah dilakukan pickup
Robot dapat kembali dengan baik setelah
dilakukan pickup
17
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.
18
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.
19
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.
20
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.
21
Gambar 3.11. Diagram alir algoritma lama
22
Gambar 3.12. Diagram alir algoritma baru
23
Gambar 3.13. Diagram alir algoritma mode siap
24
Gambar 3.14. Diagram alir algoritma mode kembali
25
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”.