• Tidak ada hasil yang ditemukan

T1 612011049 BAB III

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 612011049 BAB III"

Copied!
20
0
0

Teks penuh

(1)

8 BAB III

PERANCANGAN SISTEM

Pada bab ini akan dijelaskan mengenai perancangan dari sistem instruksi, perangkat keras, serta perangkat lunak dari algoritma robot.

3.1Sistem Instruksi Robot

Sistem instruksi pada robot dibagi menjadi 3 bagian utama, yaitu smartphone Android sebagai main processor yang menentukan gerakan robot yang akan dilakukan, mikrokontroler ATmega324P sebagai kontrol utama yang mengatur kesinambungan antara prosesor utama dengan controller servo robot kondo KHR-3HV (RCB4) dan controller servo robot robotis CM-510 dan CM-530, serta pemroses data komunikasi dan koordinasi yang menggunakan mikrokontroler ATmega8 dan Xbee 2mW wire antenna – series 2 sebagai media komunikasinya.

Gambar 3.1 Blok Diagram Sistem.

OC1A/OC1B

PORT I/O

PORT I/O

ATmega 324P

TX1/RX1

Servo Controller

TX/RX

PORT I/O

INT0

ATmega 8 Smartphone

Servo Xbee

(2)

9 3.1.1 Processor Utama

Prosesor Utama yang digunakan dalam robot adalah sebuah smartphone Android. Dalam smartphone ini algoritma pergerakan dan komunikasi dan koordinasi robot akan ditanamkan. Tugas utama dari perangkat ini memproses gambar kamera yang diletakkan di kepala robot sebagai mata dan mengunci bola. Kemudian menentukan pergerakan robot berdasarkan algoritma komunikasi dan koordinasi dan posisi bola terhadap robot. Algoritma komunikasi dan koordinasi ditentukan dari hasil request data komunikasi oleh smartphone kepada ATmega324P yang akan dihubungkan dengan media bluetooth.

3.1.2 Kontrol Utama

Kontrol utama robot menggunakan mikrokontroler ATmega324P yang bertugas mengolah perintah berupa paket data dari smartphone melalui serial bluetooth serta mengembalikan data komunikasi ke smartphone dan menyalurkan data komunikasi dari robot lain yang diterima oleh ATmega8 menuju ke smartphone. Ada 5 macam perintah yang dikirim dari smartphone yaitu :

1. Perintah untuk menggerakan robot.

2. Perintah untuk menggerakan servo kepala.

3. Perintah untuk me-initialisasi data komunikasi ke robot teman. 4. Perintah untuk memberi data komunikasi pada robot teman. 5. Perintah untuk request data komunikasi dari teman robot lain.

3.1.3 Pemroses Data Komunikasi

(3)

10 3.2 Komunikasi dan Koordinasi

Untuk membentuk suatu tim sepak bola yang baik, dibutuhkan kerja sama dan komunikasi yang baik. Oleh sebab itu dirancang suatu jaringan wireless personal dalam lingkup robosoccer humanoid R2C-R9 dengan menggunakan metode topologi mesh. Pada topologi mesh ini, setiap perangkat memiliki hubungan jalur data langsung dengan semua perangkat lainnya. Untuk menemukan jumlah jalur fisik agar n perangkat terhubung secara langsung, harus dimastikan bahwa setiap perangkat harus terhubung dengan perangkat lainnya. Perangkat-1 harus terhubung dengan n-1 perangkat lainnya, perangkat-2 harus terhubung dengan n-1 perangkat lainnya, dan perangkat-n terhubung dengan n-1 perangkat lainnya. Kita membutuhkan n(n-1) jalur fisik. Namun, jika setiap jalur fisik memungkinkan untuk berkomunikasi dua arah (duplex mode), dapat dibagi dua jumlah hubungan jalurnya. Dengan kata lain, dapat dikatakan bahwa mesh topology membutuhkan

n(n-1)/2

jalur data[5].

Gambar 3.2 Mesh Topology[5].

(4)

11

Gambar 3.3 Topologi Mesh dan Pembagian Job antar robot dalam lapangan.

Koordinasi antar robot dapat berjalan dengan baik dengan menganggap salah satu robot sebagai captain (master). Robot yang sudah mendapat bola dan berjarak tertentu pada bola akan dianggap sebagai captain (master) dan akan mengirimkan data kepada teman robot yang lain untuk saling berkoordinasi. Captain (master) dapat berpindah dari robot satu ke robot yang lain, namun jika sudah terdapat satu captain (master), maka robot lain tidak mungkin dapat menjadi captain(master).

Dalam algoritma komunikasi dan koordinasi ini, dibedakan algoritmanya menjadi dua, yaitu algoritma menyerang dan algoritma bertahan serta membagi job robot menjadi tiga, yaitu goalkeeper, striker, dan midfielder .

Pembagian job robot ini bertujuan untuk mengefektifkan kinerja pergerakan robot dengan jangka lapangan yang sangat besar. Perincian tugas dari beberapa job yang ditentukan :

`

GK

MF

(5)

12

3.2.1 GoalKeeper (GK)

Tugas utama dari goalkeeper adalah menjaga gawang dan memberi data komunikasi pada robot teman lain apabila bola dekat dengan gawang sendiri untuk segera menuju ke daerah pertahanan sendiri. Pada job ini digunakan robot Robotis Bioloid Premium yang sudah dimodifikasi.

Gambar 3.4 Robot sebagai Goal Keeper.

3.2.2 MidFielder (MF)

Tugas utama dari midfielder adalah membantu striker mencetak goal dan membantu back dalam posisi bertahan untuk membuang bola menuju ke daerah lawan.Pada job ini digunakan robot Kondo KHR-3HV yang sudah dimodifikasi.

(6)

13

3.2.3 Striker (CF)

Tugas utama dari striker adalah mencetak goal ke gawang lawan.Pada job ini digunakan robot Kondo KHR-3HV yang sudah dimodifikasi.

Gambar 3.6 Robot sebagai Striker.

3.3 Jalur Data Komunikasi

Jalur data komunikasi dibagi menjadi 2, yaitu saat robot ingin memberikan data komunikasi ke robot lain (robot sebagai transmitter data), dan saat robot menerima data komunikasi dari robot teman yang lain (robot sebagai receiver data).

3.3.1 Pengiriman data komunikasi

Pada saat robot ingin mengirimkan data komunikasi ke robot lain, data yang dikirimkan berasal dari algoritma koordinasi pada smartphone. Data akan disalurkan ke ATmega324P melalui bluetooth yang akan selanjutnya dikirimkan ke ATmega8 dengan melalui pin Input/Output (I/O). ATmega324P akan mengirimkan sinyal interrupt kepada ATmega8 sebagai tanda bahwa robot akan mengirimkan data. Setelah ATmega8 mendapatkan kiriman data, data akan segera dikirimkan ke robot lain melalui Xbee 2mW wire antenna – series 2.

3.3.2 Penerimaan data komunikasi

(7)

14

variable. Data akan disalurkan menuju smartphone jika smartphone memberikan data request kepada ATmega324P melalui bluetooth.

Gambar 3.7 Jalur Data Komunikasi.

Jalur pengiriman data ke robot teman. Jalur penerimaan data dari robot teman. Jalur request data dari smartphone.

3.4 Bagian Perangkat Keras 3.4.1 Smartphone

Smartphone pada tugas akhir ini digunakan sebagai perangkat pemroses utama untuk memberi instruksi pada robot. Smartphone yang digunakan adalah Sony Xperia mini ST15i yang telah tertanam OS android di dalamnya. Aplikasi dirancang untuk smartphone ini untuk mengenali bola dan kemudian mengatur segala pengambilan keputusan pergerakan robot berdasarkan algoritma komunikasi dan koordinasi. Perintah untuk menggerakan robot kemudian dikirimkan melalui bluetooth ke board ATmega324P untuk kemudian diproses dan diteruskan ke kontroler servo robot.

Smartphone Bluetooth ATmega 324P

ATmega 8 Xbee

(8)

15 3.4.2 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, HC-05, dan HC-06. Penulis memilih jenis bluetooth ini karena atribut dari bluetooth seperti nama perangkat, password, baudrate, data parity, dan lainnya dapat diatur sendiri oleh pengguna. Berikut adalah gambar dari bluetooth yang digunakan.

3.4.3 Xbee 2mW wire antenna – series 2

Modul Xbee ini digunakan untuk media pengiriman data komunikasi antara robot satu ke robot yang lain. Data akan dikirimkan dari satu Xbee ke Xbee yang lain agar robot dapat saling bertukar data dan robot dapat berkoordinasi seperti tim sepak bola.

Modul Xbee yang digunakan adalah Xbee 2mW wire antenna – series 2. Penulis hanya menggunakan 4 pin, yaitu VCC (+3.3V), Data Out (TX), Data In (RX), dan GND. Berikut gambar dari Xbee 2mW wire antenna – series 2.

Gambar 3.8 DF-Bluetooth V3

Gambar 3.9 HC-05 Bluetooth

Gambar 3.10 HC-06 Bluetooth

Gambar 3.11 Xbee 2mW wire antenna series 2 [4].

(9)

16

3.4.4 Regulator Tegangan 3.3v (LP2950-3.3v)

Regulator tegangan 3.3 volt digunakan karena modul Xbee 2mW wire antenna – series 2 bekerja dalam range tegangan 3.3 volt. Selain itu, tegangan yang dihasilkan pada pin Input/Output (I/O) mikrokontroller sebesar 5 volt, maka agar data sampai ke modul Xbee dan tidak membahayakan modul Xbee diperlukan regulator tegangan sebesar 3.3 volt, tetapi penulis hanya menggunakan 2 buah resistor pada pin ini untuk mengubah tegangan 5 volt menjadi 3.3 volt.

3.4.5 Board Mikrokontroller ATmega324P

Mikrokontroler tipe ATmega324P digunakan karena selain dapat diprogram dengan bahasa C dan banyak dijual dipasaran, mikrokontroler ini memiliki dua pin serial yang masing-masing terdiri atas pin Tx dan Rx sehingga mikrokontroler ini dapat berkomunikasi secara serial dengan servo controller dan modul bluetooth yang digunakan untuk berkomunikasi dengan smartphone android untuk memberikan perintah kepada robot. Board ini juga digunakan untuk mengirimkan data komunikasi yang dikirimkan melalui pin interrupt dan pin Input/Output (I/O) ke board komunikasi ATmega8 yang kemudian diteruskan dengan modul Xbee 2mW wire antenna – series 2 ke robot lainnya.

Gambar 3.13 Skematik

LP2950-3.3v.

Gambar 3.14 Skematik resistor

sebagai pembagi tegangan.

5v 3.3v

(10)

17

Gambar 3.15 Skematik board ATmega324P. 3.4.6 Board Mikrokontroller ATmega8

Mikrokontroler ATmega8 digunakan dengan pertimbangan dimensi modul yang kecil. Board mikrokontroler ATmega8 ini digunakan untuk memproses data komunikasi dari robot teman lain. Data komunikasi yang diproses pada mikrokontroller ini ada 2 yaitu :

1. Data dari smartphone yang dikirim melalui board mikrokontroler ATmega324P yang akan dikirimkan ke robot teman lain.

2. Data yang diterima dari robot teman lain yang akan dikembalikan ke smartphone melalui ATmega324P.

(11)

18 3.5Bagian Perangkat Lunak

3.5.1 Komunikasi

Algoritma komunikasi ditanamkan pada keseluruhan sistem, yaitu pada smartphone¸ ATmega324P, dan ATmega8 yang saling berhubungan. Pada kondisi robot ingin mengirimkan data, maka data berawal dari smartphone, dan pada saat kondisi robot menerima data dari robot teman, data berawal dari ATmega8. ATmega324P hanya berfungsi sebagai penyalur data yang sudah siap diproses menjadi algoritma koordinasi oleh smartphone dari ATmega8.

Beberapa kendala ditemukan saat robot ingin mengirimkan data, karena trigger dari pengiriman data adalah sudut kepala yang menunjukkan robot jauh atau dekat dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma pada smartphone untuk sampling data yang ingin dikirimkan, yang bertujuan untuk memastikan bahwa data yang dikirim pada kondisi yang benar.

Gambar 3.17 Diagram Kotak Algoritma Sampling Data Komunikasi pada Smartphone.

Mulai

CountCom ++

Apakah CountCom > 10 ? CountCom = 0

Apakah data yang ingin dikirim sama?

Pengiriman Data

A A

YES

YES NO

(12)

19

Gambar 3.18 Diagram Kotak Algoritma Pengiriman Data Komunikasi pada Smartphone.

Pada saat pengiriman data, smartphone akan mengecek kembali beberapa kondisi apakah dia boleh atau tidak untuk mengirimkan data komunikasi ke robot lain. Apabila dalam satu team sudah ada yang menjadi captain (master) dengan mengirimkan data-1

(13)

20

ke robot lain, maka robot lain tidak diperbolehkan untuk mengirimkan data komunikasi apapun sampai captain (master) sudah menyelesaikan data komunikasinya dengan mengirimkan data-2.

Pada saat captain (master) mengirimkan data-1, maka robot lain akan hanya berfungsi untuk mendengarkan data komunikasi selanjutnya yang akan dikirimkan oleh captain (master) dan ketika captain (master) sudah menyelesaikan data komunikasinya dengan mengirimkan data-2, semua robot memiliki hak untuk mengirimkan data komunikasi ke robot lain yang menandakan bahwa dia akan menjadi captain (master) selanjutnya.

Gambar 3.19 Diagram Kotak Algoritma Komunikasi pada ATmega 324P. Selesai Mulai

Membaca nilai pin I/O dari ATmega8

Apakah nilai input = nilai sebelumnya?

Kirim data dari variable X melalui Tx1 sesuai dengan data di

variable Y

Kirim sinyal interrupt ke ATmega8

Main Rx1 Interrupt

(14)

21

Setelah data komunikasi diproses oleh smartphone, data dikirimkan ke ATmega324P. Pada ATmega324P data komunikasi dari smartphone akan diolah menjadi suatu nilai pin Input/Output (I/O) agar bisa dibaca oleh ATmega8. Ketika terdapat data masukan dari smartphone, ATmega324P langsung membaca data tersebut, merubah nilai pin Input/Output (I/O), dan memberikan sinyal interrupt kepada ATmega8 agar ATmega8 langsung dapat membaca data tersebut dan mengirimkan data ke robot lain.

ATmega8 yang berfungsi sebagai pemroses data komunikasi akan selalu menyediakan data komunikasi yang siap dibaca oleh ATmega324P. Saat ATmega8 menerima sinyal interrupt pada pin INT0, maka ATmega8 akan membaca pin Input/Output (I/O) dari ATmega324P untuk menyiapkan data komunikasi yang akan dikirimkan ke robot lain dan saat ATmega8 menerima Rx Interrupt, maka ATmega8 akan langsung mengambil data komunikasi yang diberikan Xbee 2mW wire antenna – series 2 dan menyimpannya dalam suatu variable dan akan mengubah nilai pin Input/Output (I/O) berdasarkan data yang baru diterima agar dapat dibaca oleh ATmega324P.

Gambar 3.20 Diagram Kotak Algoritma Komunikasi pada ATmega8. Mulai

Ubah nilai pin I/O dari data pada variable Z

Mulai

Baca pin I/O dari ATmega324P

Konversi dari nilai I/O menjadi data komunikasi

Kirim data ke robot lain melalui pin Tx

Mulai

Simpan data ke variable Z

Main INT0 Interrupt Rx Interrupt

Selesai

(15)

22 3.5.2 Koordinasi

Pada tugas skripsi ini, algoritma koordinasi dibagi antar robot, tidak hanya untuk 2 robot, melainkan untuk satu tim sepak bola R2C-R9 yang terdiri atas 3 robot. Agar koordinasi berjalan dengan lancar, maka job robot dibagi menjadi 3, yaitu striker, mid fielder, dan goal keeper. Masing-masing dari job robot memiliki algoritma koordinasi menyerang dan bertahan yang berbeda-beda agar dapat saling melengkapi dalam penguasaan lapangan yang semakin luas.

Gambar 3.21 Diagram Kotak Algoritma Koordinasi R2C-R9 (striker, dan mid fielder)

Kirim data2 ke robot teman Mulai

Apakah sudut tilt >= 75?

flagCaptain = 1 flagCaptain = 0

Kirim data1 ke robot teman

Tendang Bola

flagCaptain = 0

YES No

Sudut tilt kepala sudah mengunci

bola

Apakah bola hilang dari depan kaki??

Kejar Bola

(16)

23

Dua job yaitu striker, dan mid fielder memiliki algoritma koordinasi untuk pergantian captain (master) atau pengiriman data komunikasi yang sama, tetapi untuk algoritma koordinasi ketika job satu menerima data dari job lain, ketiga robot tersebut memiliki algoritma yang jauh berbeda satu sama lain.

Sedangkan untuk robot goal keeper hanya akan mengirimkan data ke robot teman lain untuk memanggil robot teman untuk segera menuju daerah pertahanan untuk membantu menjauhkan bola dari daerah pertahanan sendiri.

Gambar 3.22 Diagram Kotak Algoritma Koordinasi R2C-R9 (goal keeper). 3.5.2.1Striker (CF)

Robot yang berfungsi sebagai striker akan mengirimkan data-1 jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master) dan akan mengirimkan data-2 jika dia kehilangan bola atau bola sudah dieksekusi.

Mulai

Apakah sudut tilt >= 75?

flagCaptain = 1 flagCaptain = 0

Instruksi teman bola didaerah pertahanan

Selesai flagCaptain = 0

YES No

Sudut tilt kepala sudah mengunci

(17)

24

Pada saat robot striker mendapatkan data-1 dari robot mid fielder, maka robot striker akan langsung mencari posisi untuk menunggu bola di daerah depan gawang lawan untuk mencetak goal sampai robot mid fielder mengirimkan data-2 yang menunjukkan dia kehilangan bola atau bola telah dieksekusi.

Pada saat robot striker mendapatkan data-1 dari robot goal keeper maka robot striker akan segera mengarahkan pandangan ke daerah pertahanan diri sendiri dan segera bergerak menuju daerah sendiri untuk mencari bola.

Gambar 3.23 Diagram Kotak Algoritma Koordinasi pada robot striker. Mulai

Kejar Bola

Apakah ada data1 dari mid fielder?

flagCaptain = 0

Apakah ada data1 dari goal keeper? Positioning

flagCaptain = 0

Cek Orientasi

Apakah orientasi robot membelakangi gawang

lawan?

Putar hingga membelakangi gawang lawan YES

YES

YES

NO

NO

(18)

25

Pada saat robot mid fielder mendapatkan data-1 dari robot striker, maka robot mid fielder akan tetap mencari bola dan mendekati bola hingga jarak tertentu dengan tujuan menjaga striker yang akan mengeksekusi bola dan jika posisi robot mid fielder menutupi arah tendangan, maka robot mid fielder akan segera bergeser memposisikan dirinya agar tidak menutupi arah tendang bola.

Pada saat robot mid fielder mendapatkan data dari robot goal keeper, algoritma koordinasi sama dengan robot striker. Robot akan menghadap kearah gawang sendiri dan terus maju untuk mencari bola.

Mulai

(19)

26

Gambar 3.24 Diagram Kotak Algoritma Koordinasi pada robot mid fielder.

(20)

27

Data yang diterima robot goal keeper tidak semuanya diproses menjadi algoritma koordinasi. Data yang diproses hanya data yang berasal dari robot striker. Ketika robot goal keeper menerima data-1 dari robot striker, robot goal keeper akan segera memposisikan dirinya untuk kembali pada posisi yang benar.

Gambar 3.25 Diagram Kotak Algoritma Koordinasi pada robot goal keeper. Keterangan diagram alir :

1. Data1 : data yang menunjukkan bahwa dalam satu team sudah terdapat captain yang siap untuk menendang bola.

2. Data2 : data yang menunjukkan bahwa captain sudah selesai mengeksekusi bola atau kehilangan bola.

3. Pan : nilai sudut servo kepala yang bergerak pada sumbu y.Minimal nilai pan = 0 (kepala robot menghadap kiri) dan maksimal nilai pan = 180 (kepala robot menghadap ke kanan).

4. Tilt : nilai sudut servo kepala yang bergerak pada sumbux. Minimal nilai tilt = 0 (kepala robot menengadah ke atas) dan maksimal nilai tilt = 90 (kepala robot menunduk hingga melihat ujung kaki.

Mulai

Jaga Gawang

Apakah ada data1 dari striker?

Positioning

Gambar

Gambar 3.1 Blok Diagram Sistem.
Gambar 3.2 Mesh Topology[5].
Gambar 3.3 Topologi Mesh dan Pembagian Job antar robot dalam lapangan.
Gambar 3.4 Robot sebagai Goal Keeper.
+7

Referensi

Garis besar

Dokumen terkait

Perancangan alat ini menggunakan sensor ACS 712 sebagai sensor pendeteksi arus dan bahasa pemograman yang digunakan yaitu bahasa pemograman arduino (C/ C++) sebagai bahasa

(1.b) Guru yang membimbing baca al-Qur’an dalam model guru asuh tidak hanya guru pendidikan agama Islam, tetapi semua guru diharuskan mampu membimbing siswa

1. Role playing dan bermain peran memerlukan waktu yang relatif panjang/ banyak.. Memerlukan kreativitas dan daya kreasi yang tinggi dari pihak guru maupun

Inhibitor kerak pada umumnya merupakan bahan kimia yang digunakan untuk mencegah atau menghentikan terbentuknya kerak bila ditambahkan pada konsentrasi kecil atau konsentrasi

Kewajiban yang utama dari Fiskus adalah memberikan bimbingan, penerangan, penyuluhan kepada wajib pajak sehingga wajib pajak mempunyai pengetahuan dan keterampilan

skupno premoženje vlagateljev, ki se naloži na račun sklada; z zbranim denarjem se na trgu kupujejo različni vrednostni papirji; premoženje sklada je izključno v lasti vlagateljev in

Menganalisis hubungan frekuensi konsumsi susu, jumlah konsumsi susu, total protein, protein hewani, kalsium susu dan non susu dengan tinggi badan serta

Salah satu event yang sudah sering dilakukan ialah Lawatan Sejarah yang setiap tahun dilaksanakan oleh Balai Pelestarian Nilai Budaya (BPNB) yang tersebar di seluruh