perancangan sistem 3.1. gambaran sistem · 1. kontrol aktuator robot robot akan memiliki 16 motor...

23
13 BAB III PERANCANGAN SISTEM Pada bab ini akan dijelaskan mengenai perancangan dari perangkat keras, serta perangkat lunak dari algoritma robot. 3.1. Gambaran Sistem Sistem yang direalisasikan dalam skripsi ini adalah sebuah sistem yang berfungsi untuk mengendalikan sebuah robot humanoid. Dalam pengertian bahwa penulis tidak membuat robot humanoid dan servo controllernya akan tetapi penulis membuat sistem dan algoritma agar robot humanoid dapat berjalan secara cepat dan stabil. Sistem yang dibuat oleh penulis bertujuan untuk mengendalikan robot humanoid soccer dalam menyelesaikan misi perlombaan sepak bola pada Kontes Robot Sepak Bola Indonesia. Dalam Kontes Robot Sepak Bola Indonesia, robot harus dapat bergerak dengan cepat dan stabil agar dapat mendekati bola dan menendang bola ke arah gawang dengan cepat. Penulis membuat sistem dengan berbagai macam sensor untuk membantu robot dalam memulai pergerakan yang cepat, stabil, dan dapat bangun sendiri ketika robot dalam posisi jatuh. Atmega 324 Smartphone Bluetooth Bluetooth DF V3 To mbo l On/Off Accelerometer RAS-2 To m bo l On/Off Gyroscope KRG-4 16 DOF Servo KRS-2552HV TX TX RX RX Se rvo Ko ntroler RCB-4 Lithium polymer 11.1 V 1300 m Ah Lithium po lymer 7.4 V 1000 mAh Gambar 3.1. Blok Diagram Sistem

Upload: others

Post on 18-Jan-2021

14 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

13

BAB III

PERANCANGAN SISTEM

Pada bab ini akan dijelaskan mengenai perancangan dari perangkat keras, serta

perangkat lunak dari algoritma robot.

3.1. Gambaran Sistem

Sistem yang direalisasikan dalam skripsi ini adalah sebuah sistem yang berfungsi

untuk mengendalikan sebuah robot humanoid. Dalam pengertian bahwa penulis tidak

membuat robot humanoid dan servo controllernya akan tetapi penulis membuat sistem dan

algoritma agar robot humanoid dapat berjalan secara cepat dan stabil. Sistem yang dibuat

oleh penulis bertujuan untuk mengendalikan robot humanoid soccer dalam menyelesaikan

misi perlombaan sepak bola pada Kontes Robot Sepak Bola Indonesia. Dalam Kontes Robot

Sepak Bola Indonesia, robot harus dapat bergerak dengan cepat dan stabil agar dapat

mendekati bola dan menendang bola ke arah gawang dengan cepat. Penulis membuat sistem

dengan berbagai macam sensor untuk membantu robot dalam memulai pergerakan yang

cepat, stabil, dan dapat bangun sendiri ketika robot dalam posisi jatuh.

Atmega 324

SmartphoneBluetooth

BluetoothDF V3

Tombol On/Off

Acce lerometerRAS-2

Tombol On/Off

GyroscopeKRG-4

16 DOFServo KRS-2552HV

TX

TX

RX

RX

Servo KontrolerRCB-4

Lithium po lymer11.1 V 1300 m Ah

Lithium po lymer7.4 V 1000 mAh

Gambar 3.1. Blok Diagram Sistem

Page 2: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

14

Gambar 3.1. menunjukkan blok diagram sistem secara keseluruhan yang dirancang.

Secara umum sistem yang dirancang terdiri dari kontrol utama, kontrol aktuator, konstruksi

robot, sensor, aktuator, komunikasi, dan sumber daya listrik.

1. Kontrol Utama

Kontrol utama dalam blok diagram sistem di atas adalah smartphone berbasis

android samsung galaxy S3 dan sebuah mikrokontroler Atmega 324.

2. Kontrol Aktuator

Kontrol aktuator dalam blok diagram sistem di atas adalah servo kontroler

RCB-4 yang berkomunikasi dengan mikrokontroler melalui komunikasi serial.

3. Sensor

Dalam bagian ini terdapat beberapa perangkat keras, diantaranya :

a. Accelerometer RAS-2

b. Gyroscope KRG-4

c. Tombol On/Off

4. Aktuator

Aktuator adalah penggerak dari robot. Dalam blok diagram sistem di atas

terdapat 16 DOF servo yang bertugas sebagai alat penggerak robot. Servo yang

digunakan adalah servo tipe KRS-2552HV.

5. Komunikasi

Komunikasi sangat diperlukan untuk dapat mengirim dan menerima data

antara smartphone dengan mikrokontroler. Agar smartphone dapat berkomunikasi

dengan mikrokontroler secara nirkabel, digunakan sebuah modul bluetooth tipe DF-

Bluetooth V3 yang dipasang pada mikrokontroler.

6. SumberDayaListrik

Sumber Daya Listrik untuk robot ini dibagi menjadi dua bagian. Baterai

lithium polymer 7.4 volt digunakan sebagai sumber daya listrik pada mikrokontroler,

accelerometer, dan modul bluetooth. Tegangan sebesar 7.4 volt akan diturunkan

menggunakan regulator DC to DC menjadi 5 volt.

Sedangkan baterai lithium polymer 11.1 volt digunakan sebagai sumber daya

listrik pada servo kontroler, gyroscope, dan 16 DOF servo.

Page 3: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

15

3.2. Perancangan Perangkat Keras

Pada bagian ini akan dijelaskan mengenai perancangan perangkat keras. Perancangan

perangkat keras yang akan dijelaskan meliputi sistem kontrol, konstruksi robot, dan

perangkat keras elektronik.

3.2.1. Sistem Kontrol

Pada bagian ini akan dijelaskan mengenai perancangan sistem kontrol robot. Gambar 3.2

menunjukkan gambaran sistem secara umum.

Sistem kontrol pada robot dibagi menjadi 2 bagian utama, yaitu kontrol aktuator robot

dan kontrol utama. Kontrol aktuator robot dalam hal ini adalah servo controller untuk

mengontrol sistem gerak robot yang keseluruhannya terdiri dari motor servo, dimana servo

controller mendapat perintah gerakan yang sudah didefinisikan di kontrol utama. Sedangkan

kontrol utama bertugas untuk mensinkronisasi antara gerak robot dengan perintah yang telah

diolah oleh mikrokontroler sehingga nantinya robot dapat melakukan tugas-tugas sesuai

dengan perintah yang dikirim dari smartphone.

Gambar 3.2. Gambaran Sistem Secara Umum

Page 4: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

16

1. Kontrol Aktuator Robot

Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo

di setiap kaki. Dengan demikian robot akan memiliki 16 derajat kebebasan sehingga

pergerakan robot akan mendekati pergerakan dari manusia. Untuk mengontrol 16 servo di

bagian lengan dan kaki digunakan servo controller yang akan dibantu oleh sebuah dual-axis

gyroscope yang berfungsi sebagai sensor keseimbangan dan stabilitas robot saat bergerak dan

dual-axis accelerometer yang berfungsi sebagai sensor kemiringan untuk mengetahui ketika

posisi robot miring atau posisi robot dalam keadaan jatuh.

2. Kontrol Utama

Kontrol utama pada robot terdiri dari sebuah smartphone untuk mengirimkan perintah

gerakan robot dan sebuah mikrokontroler untuk mengolah data yang berupa perintah. Modul

bluetooth digunakan untuk komunikasi secara serial antara smartphone dan mikrokontroler.

Selain itu kontrol utama juga bertugas sebagai pengontrol servo controller.

Smartphone pada tugas akhir ini digunakan sebagai remote control untuk mengendalikan

robot secara wireless. Smartphone yang digunakan adalah Samsung galaxy S3 yang telah

tertanam OS android di dalamnya. Aplikasi remote dibuat dengan software eclipse. Data

yang dikirim dari smartphone android berupa paket data motion yang akan diterima oleh

mikrokontroler. Pengiriman data dilakukan secara serial melalui bluetooth sehingga

pengiriman data dapat dilakukan secara wireless.

Gambar 3.3. Samsung galaxy S3 dan aplikasi remote

Page 5: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

17

3.2.2 Konstruksi Robot

Pada bagian ini akan dijelaskan mengenai perancangan konstruksi dan realisasinya serta

penjelasan lebih lanjut mengenai aktuator (servo) yang digunakan pada robot.

Gambar 3.4. Perancangan mekanik robot

Gambar 3.5. Skema mekanik robot

Page 6: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

18

Robot menggunakan perpaduan antara aluminium dan acrylic untuk bodinya. Perpaduan

kedua bahan ini dimaksudkan agar robot memiliki bobot yang ringan sehingga dalam

bergerak diperoleh kecepatan dan keseimbangan yang baik. Robot ini akan memiliki 16

degree of freedom, dengan rincian 5 di setiap kaki, dan 3 di setiap lengan. Servo yang dipilih

adalah servo yang memiliki torsi tinggi dengan gear berbahan metal dan yang mampu untuk

mengembalikan nilai, seperti sudut, beban, torsi, dll. Sedangkan ukuran telapak kaki akan

menyesuaikan dengan tinggi robot agar mampu menyokong robot agar tetap stabil.

Tabel 3.1. Tabel Keterangan Mekanik Robot.

HARDWARE

Dimensi (p×l×t) : 170×129×380 [mm]

Berat ± 1,5 [kg]

DOF 16 (tangan 3×2, kaki 5×2)

Koneksi RCB-4 Serial USB adapter HS

Tabel 3.2. Tabel Spesifikasi Servo KRS-2552HV.

Sudut Operasi Maksimal 270 derajat

Torsi Maksimal 14 kg

Kecepatan Tanpa Beban 0,14 s/60 derajat

Ukuran 41×21×30,55 mm

Berat 41,5 g

Tegangan Kerja 9-12 Volt

3.2.3 Perangkat Keras Elektronik

Pada bagian ini akan dijelaskan mengenai board sistem minimum mikrokontroler Atmega

324, sensor accelerometer RAS-2, sensor gyroscope KRG-4, modul DF-bluetooth V3, dan

servo controller RCB-4.

1. Board Sistem Minimum Mikrokontroler Tipe Atmega 324

Board sistem minimum mikrokontroler tipe Atmega 324 digunakan sebagai

kontrol utama pada sistem pengendalian robot. Board sistem minimum ini dibuat

dengan menggunakan Atmega 324 karena dibutuhkan dua buah pin serial untuk

berkomunikasi dengan smartphone dan servo controller.

Page 7: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

19

Pada perancangan sistem minimum Atmega 324 digunakan kristal oscillator

(XTAL) dengan nilai 11.0592Mhz sebagai pembangkit / pemompa data yaitu bersifat

timer (semacam clock)/pulsa digital. Pada sistem minimum Atmega 324 juga

digunakan IC MAX232 untuk mengubah level tegangan menjadi level tegangan TTL

karena untuk berkomunikasi dengan port COM pada servo controller RCB-4

dibutuhkan level tegangan TTL.

Berikut adalah tabel konfigurasi penggunaan pin pada mikrokontroler utama Atmega

324 yang digunakan pada robot.

Tabel 3.3. Konfigurasi pin pada mikrokontroler utama.

No Nama Port Fungsi1 PA4 Accelerometer axis Y2 PA5 Accelerometer axis X3 PB1 Flag input data motion berakhir4 PB2 Flag output data motion kurva5 PB3 Flag input data kaki kanan6 PB4 Flag input data kaki kiri7 PB5 Downloader8 PB6 Downloader9 PB7 Downloader10 PD0 Reciever RCB-4 ke

mikrokontroler11 PD1 Transmiter mikrokontroler ke

RCB-412 PD2 Reciever mikrokontroler ke

android13 PD3 Transmiter android ke

mikrokontroler14 PD4 Kontrol servo pan15 PD5 Kontrol servo tilt16 PD6 Flag output data motion cut17 PD7 Flag output data nilai awal

motion

2. Sensor Accelerometer RAS-2

Sensor accelerometer yang digunakan pada robot adalah accelerometer tipe

RAS-2. Sensor ini memiliki enam pin dan dibuat dengan sangat kecil sehingga

mempermudah dalam peletakan sensor di dalam robot. Tiga pin atas terdiri dari pin

ADC, VCC, dan GND untuk sumbu x sedangkan tiga pin bawah terdiri dari pin ADC,

VCC, dan GND untuk sumbu y. Jika sensor dimiringkan kearah sumbu x, maka pin

ADC akan memberikan nilai positif dan akan naik secara linear sesuai dengan

Page 8: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

20

kemiringan sensor. Sebaliknya jika sensor dimiringkan kearah sumbu –x, maka pin

ADC akan memberikan nilai negatif dan naik secara linear sesuai dengan kemiringan

sensor pada sumbu –x. Kerja sensor pada kemiringan sumbu y dan –y sama dengan

kerja sensor pada kemiringan sumbu x dan –x.

Keuntungan menggunakan sensor ini adalah selain diduat sangat kecil, sensor

ini memiliki tingkat ketelitian yang tinggi dan nilainya bertambah secara linear

sehingga mempermudah untuk mengetahui posisi robot ketika sedang terjatuh.

Gambar 3.6. Sensor Accelerometer RAS-2

Data dari sensor ini akan dikonversi oleh mikrokontroler menjadi nilai digital

dengan resolusi 10 bit dan dengan tegangan referensi sebesar 2.56 volt. Sumber

tegangan dari sensor ini didapat dari baterai lithium polimer 7.4 volt yang sudah

diturunkan tegangannya menjadi 5 volt dengan regulator. Sedangkan pin output ADC

axis x pada sensor akan diakses oleh pin ADC5 pada mikrokontroler dan pin output

ADC axis y pada sensor akan diakses oleh pin ADC4 pada mikrokontroler. Data

digital yang telah diolah oleh mikrokontroler akan digunakan sebagai pembanding

untuk mengetahui posisi robot saat robot sedang dalam posisi jatuh.

Pemasangan sensor ini diletakkan pada bagian punggung robot. Penulis

meletakkan sensor ini pada bagian punggung karena pada bagian punggung, robot

tidak memiliki sendi sehingga posisi sensor tidak berubah. Jika posisi sensor berubah,

maka data yang didapat akan berubah juga sehingga dapat menyebabkan kesalahan

saat data dibandingkan untuk mengetahui posisi robot sedang dalam posisi jatuh atau

tidak.

3. Sensor Gyroscope KRG-4

Sensor gyroscope yang digunakan pada robot adalah tipe KRG-4. Sensor ini

digunakan untuk memperhalus gerakan robot dan keseimbangan robot. KRG-4

Page 9: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

21

memiliki 3 pin yaitu pin ADC, VCC, dan GND. Prinsip kerja hampir sama dengan

sensor accelerometer hanya saja sensor gyroscope ini digunakan untuk mengubah

offset servo kaki robot jika robot berada dalam keadaan tidak seimbang sehingga

robot menjadi seimbang kembali.

Gambar 3.7. Sensor Gyroscope KRG-4

Data dari sensor ini akan dikonversi oleh mikrokontroler menjadi nilai digital

dengan resolusi 10 bit dan dengan tegangan referensi sebesar 2.56 volt. Sumber

tegangan dari sensor ini didapat dari batrai lithium polimer 11.1 volt yang sudah

diturunkan tegangannya menjadi 5 volt dengan regulator. Sedangkan pin output ADC

axis x pada sensor akan diakses oleh pin AD1 pada servo controller dan pin output

ADC axis y pada sensor akan diakses oleh pin AD2 pada servo controller. Data

digital yang telah diolah oleh servo controller akan digunakan sebagai pembanding

untuk mengetahui posisi robot saat robot mendapatkan gaya dorong ke depan,

belakang, kanan, dan kiri

4. Modul Bluetooth

Modul bluetooth yang digunakan adalah modul bluetooth tipe DF-Bluetooth

V3. Berikut adalah gambar dari DF-Bluetooth V3.

Gambar 3.8. DF-Bluetooth V3

Page 10: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

22

Modul Bluetooth ini akan diakses oleh mikrokontroler melalui USART0 agar

mikrokontroler dapat berkomunikasi dengan smartphone untuk mengambil data

berupa perintah secara wireless. Sumber tegangan dari sensor ini didapat dari baterai

lithium polimer 7.4 volt yang sudah diturunkan tegangannya menjadi 5 volt dengan

regulator. Pin TX pada modul Bluetooth akan dihubungkan dengan Pin RX pada

mikrokontroler USART0. Sedangkan Pin RX pada modul Bluetooth akan

dihubungkan dengan Pin TX pada mikrokontroler USART0.

Penulis menggunakan modul Bluetooth ini karena modul DF-Bluetooth V3

merupakan sebuah modul Bluetooth yang dapat diatur sesuai kebutuhan pemakai.

Modul ini dapat diatur untuk memiliki password sehingga saat mode pairing

berlangsung, perangkat yang melakukan pairing dengan modul ini harus memberikan

memasukkan password. Dengan adanya password, maka hal ini akan mengurangi

kemungkinan adanya gangguan dari perangkat lain sehingga komunikasi antara

smartphone dengan mikrokontroler tidak terganggu.

Untuk dapat menerima dan mengirim data, USART0 pada mikrokontroler

menggunakan parameter komunikasi 8 data, 1 stop, dan even parity dengan baud rate

115200 sehingga modul bluetooth harus diprogram atau diatur agar memiliki

parameter komunikasi dan baud rate yang sama.

5. Servo Controller RCB-4

Pada robot humanoid R2C digunakan servo controller tipe RCB-4. Servo

controller ini memiliki 10 port ADC, 10 port PIO, dan 8 port SIO. Port ADC dapat

digunakan untuk konversi tegangan analog menjadi digital. Port ini dapat digunakan

sebagai input ataupun output. Port PIO digunakan sebagai input ataupun output. Jika

digunakan sebagai inputan, tegangan input maksimal adalah 5V. Jika digunakan

sebagai output, keluaran dapat sebesar 0V (low) atau 5V (high). Port SIO digunakan

untuk kontrol servo dari robot.

Page 11: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

23

Gambar 3.9. Konfigurasi ID Servo pada Robot Kondo KHR-3HV.

Pada gambar 3.11 dapat dilihat bahwa ada delapan servo ID yang memberi

tanda enam belas serial servo yang digunakan sebagai aktuator robot yaitu servo ID

nomor 1,2,4,6,7,8,9, dan 10. Setiap satu nomor servo ID digunakan untuk memberi

tanda dua buah servo, satu sebelah kiri dan satu sebelah kanan. Servo ID 0 tidak

digunakan karena pada realisasinya, servo kepala menggunakan mikro servo biasa

yang dikontrol dengan menggunakan mikrokontroler.

Gambar 3.10. RCB-4

Page 12: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

24

Pada gambar 3.12 dapat dilihat bahwa RCB-4 atau servo controller yang

digunakan pada robot memiliki 8 buah port SIO. Satu port SIO akan digunakan untuk

mengendalikan 2 buah serial servo. Jadi port SIO1 digunakan untuk mengendalikan

serial servo ID1 (kanan dan kiri), port SIO2 digunakan untuk mengendalikan serial

servo ID2, port SIO3 digunakan untuk mengendalikan serial servo ID4, port SIO4

digunakan untuk mengendalikan serial servo ID6, port SIO5 digunakan untuk

mengendalikan serial servo ID7, port SIO6 digunakan untuk mengendalikan serial

servo ID8, port SIO7 digunakan untuk mengendalikan serial servo ID9, dan port SIO8

digunakan untuk mengendalikan serial servo ID10.

Pembuatan gerakan atau motion dilakukan dengan cara mengubah setiap nilai

offset serial servo yang dikontrol oleh port-port SIO pada RCB-4 dengan

menggunakan software heart to heart yang telah disediakan oleh platform kondo.

Dengan membuat serangkaian gerakan dengan cara mengubah nilai offset serial servo

pada tiap delay waktu yang telah diperhitungkan akan dihasilkan sebuah gerakan

seperti berjalan, menendang, bangun dari jatuh, dll.

Gambar 3.11. Tampilan Software Heart to Heart Ver.1.2.2.

Page 13: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

25

Berikut adalah tabel konfigurasi penggunaan pin pada servo controller RCB-4 yang

digunakan pada robot.

Tabel 3.4. Konfigurasi pin pada RCB4.

No Nama Port Fungsi1 COM Komunikasi serial dengan

mikrokontroler2 SIO1 Kontrol serial servo3 SIO2 Kontrol serial servo4 SIO3 Kontrol serial servo5 SIO4 Kontrol serial servo6 SIO5 Kontrol serial servo7 SIO6 Kontrol serial servo8 SIO7 Kontrol serial servo9 SIO8 Kontrol serial servo10 PIO1 Flag output data kaki kanan11 PIO2 Flag output data kaki kiri12 PIO3 Flag output data motion berakhir13 PIO7 LED indikator kaki kanan14 PIO8 LED indikator kaki kiri15 PIO9 LED indikator awal motion16 PIO10 LED indikator akhir motion17 AD1 Gyroscope axis X18 AD2 Gyroscope axis Y19 AD5 Input data motion cut20 AD6 Input data awal motion21 AD7 Input data motion kurva

3.3. Perancangan Perangkat Lunak

Penulis membuat algoritma baru agar robot dapat bergerak dengan cepat dan

stabil dengan cara membuat robot dapat memotong gerakan secara paksa (motion cut)

dan melakukan metode pengecekan posisi kaki agar robot dapat mengetahui posisi

kaki terakhir robot saat robot dipaksa untuk memotong gerakan. Algoritma saat robot

melakukan satu dengan gerakan lainnya berbeda-beda. Oleh karena itu penulis

membuat tiga buah algoritma baru yang berbeda-beda yang diterapkan pada robot

agar performa robot lebih optimal.

Pada bagian ini akan diberikan empat buah flowchart yang menggambarkan

jalannya program saat robot bergerak. Setiap flowchart terdiri dari dua algoritma yaitu

algoritma pada mikrokontroler dan algoritma pada RCB-4. Flowchart pertama adalah

algoritma lama saat robot masih belum bisa melakukan motion cut dan belum bisa

Page 14: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

26

menentukan posisi kaki robot (Algoritma saat R2C mengikuti KRCI 2013). Flowchart

kedua adalah algoritma baru saat robot menerima instruksi motion berulang yang

bergerak maju. Flowchart ketiga adalah algoritma baru saat robot menerima instruksi

motion berulang yang bergerak geser. Sedangkan flowchart keempat adalah algoritma

baru saat robot menerima instruksi motion yang tidak berulang.

3.3.1. Flowchart Algoritma Pertama

Algoritma pertama ini adalah algoritma yang digunakan robot R2C dalam

perlombaan KRSBI 2013. Algoritma yang digunakan masih sangat sederhana. Robot

belum dapat melakukan motion cut dan belum dapat mengetahui posisi terakhir kaki

robot. Gambar 3.13. menunjukkan diagram alir algoritma pertama dimana sebelah kiri

adalah algoritma pada mikrokontroler dan sebelah kanan adalah algoritma pada RCB-

4 (servo controller).

Gambar 3.12. Diagram Alir Algoritma Pertama

START

Kirim perintah paket data motion ke

RCB-4

Apakah ada perintah baru dari

smarthphone?

Lakukan motion

Terima perintah dari mikrokontroler

Ya

Tidak

Tidak

Algoritma mikrokontroler

Algoritma RCB4

A

Ya

A

Apakah ada perintah dari

smartphone?

Terima Perintah dari Smarthphone

Apakah ada perintah dari mikrokontroler?

Ya

Tidak

Page 15: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

27

Berikut ini adalah penjelasan algoritma yang pertama bagian mikrokontroler:

a. Pertama kali mikrokontroler akan menunggu perintah dari smartphone.

b. Mikrokontroler akan melakukan pengecekan apakah ada perintah atau tidak.

Jika ada maka mikrokontroler akan menerima perintah itu dan jika tidak maka

mikrokontroler akan menunggu sampai ada perintah yang dikirimkan dari

smartphone.

c. Mikrokontroler akan mengirimkan perintah agar robot bergerak dalam bentuk

paket data ke RCB-4 atau servo controller.

d. Kemudian mikrokontroler akan melakukan pengecekan apakah ada perintah

baru dari smartphone atau tidak. Jika ada maka jalannya program pada

mikrokontroler akan kembali ke awal dan siap untuk menerima perintah baru.

Jika tidak maka mikrokontroler akan menunggu hingga ada perintah baru dari

smartphone.

Berikut ini adalah penjelasan algoritma yang pertama bagian RCB-4:

a. Pertama kali RCB-4 akan melakukan pengecekan apakah ada perintah yang

dikirim oleh mikrokontroler atau tidak. Jika ada maka RCB-4 akan menerima

perintah yang dikirim oleh mikrokontroler. Jika tidak maka RCB-4 akan

menunggu hingga adanya kiriman paket data gerakan yang dikirim oleh

mikrokontroler.

b. RCB-4 akan memerintahkan robot untuk bergerak sesuai perintah yang dikirim

oleh mikrokontroler.

c. Setelah melakukan gerakan, RCB-4 akan menunggu perintah baru yang

dikirimkan oleh mikrokontroler.

3.3.2. Flowchart Algoritma Kedua

Algoritma yang kedua ini merupakan algoritma baru yang dibuat oleh penulis

saat robot menerima perintah untuk melakukan gerakan berulang (looping) yang

bergerak maju.

Page 16: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

28

.

Gambar 3.13. Diagram Alir Algoritma Kedua

START

Kirim perintah motion maju

berulang ke RCB-4

Apakah nilai accelero menyatakan robot sedang

terjatuh?Kirim perintah

motion bangun ke RCB-4

Apakah posisi kaki robot sebelah kanan atau kiri

yang berada di depan?

Kirim data ke RCB-4 agar robot melangkah

dengan kaki kiri terlebih dahulu

Apakah ada perintah baru dari

smarthphone?

Apakah langkah awal robot kaki kanan atau kiri

dahulu?

Start berjalan dengan kaki kanan

terlebih dahulu

Start berjalan dengan kaki kiri terlebih dahulu

Lakukan motion

Apakah posisi kaki robot sebelah kanan atau kiri

yang berada di depan?

Kirim data ke mikrokontroler bahwa kaki kanan sedang

berada di depan

Kirim data ke mikrokontroler bahwa kaki kanan sedang

berada di depan

Apakah ada cut motion?

Terima perintah dari mikrokontroler

Ya

Kiri

Ya

Tidak

Kanan

Kiri

Kanan

Tidak

Kanan

Kiri

Ya

Tidak

Algoritma mikrokontroler

Algoritma RCB4

A

ATerima data posisi kaki robot kanan atau kiri yang berada di depan

dari RCB-4

Kirim data ke RCB-4 agar robot melangkah

dengan kaki kanan terlebih dahulu

C

Tidak

Ya

A

Terima data langkah awal kaki robot dari

mikrokontrolerB

B

B C

C

Apakah ada perintah dari

smartphone?

Terima Perintah dari Smarthphone

Apakah ada perintah dari mikrokontroler?

Ya

Tidak

Lakukan cut motion

Page 17: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

29

Berikut ini adalah penjelasan algoritma yang kedua bagian mikrokontroler :

a. Pertama kali mikrokontroler akan menunggu perintah dari smartphone.

b. Mikrokontroler akan melakukan pengecekan apakah ada perintah atau tidak.

Jika ada maka mikrokontroler akan menerima perintah itu dan jika tidak maka

mikrokontroler akan menunggu sampai ada perintah yang dikirimkan dari

smartphone.

c. Mikrokontroler akan mengirimkan perintah agar robot bergerak maju dalam

bentuk paket data ke RCB-4 atau servo controller.

d. Setelah menerima perintah, mikrokontroler akan melakukan pengecekan

apakah robot sedang dalam posisi jatuh atau tidak. Jika ya, maka

mikrokontoler akan mengirimkan perintah ke RCB-4 agar robot melakukan

gerakan bangun dari jatuh. Jika tidak akan dilakukan pengecekan posisi kaki

robot.

e. Mikrokontroler akan menerima data yang dikirimkan balik oleh RCB-4. Data

yang dikirimkan berupa informasi posisi kaki robot. Apakah kaki robot kanan

berada di depan atau kiri yang berada di depan.

f. Setelah mendapat data informasi posisi kaki robot dari RCB-4, mikrokontroler

akan melakukan pengecekan. Jika kaki robot kanan berada di depan, maka

mikrokontroler akan mengirim balik data ke RCB-4 agar RCB-4

memerintahkan robot agar bergerak maju dengan awalan kaki kiri maju

terlebih dahulu. Demikian sama halnya ketika kaki robot kiri yang berada di

depan.

g. Mikrokontroler akan melakukan pengecekan apakah ada perintah baru atau

tidak. Jika ada perintah baru, maka program akan kembali ke awal program,

jika tidak maka program akan kembali ke pengecekan posisi robot jatuh atau

tidak. Program akan berjalan berulang terus menerus hingga sistem dimatikan.

Berikut ini adalah penjelasan algoritma yang kedua bagian RCB-4 :

a. Pertama kali RCB-4 akan menunggu perintah dari mikrokontroler.

b. RCB-4 akan melakukan pengecekan apakah ada perintah yang dikirim oleh

mikrokontroler atau tidak. Jika ada maka RCB-4 akan menerima perintah yang

dikirim oleh mikrokontroler. Jika tidak maka RCB-4 akan menunggu hingga

adanya kiriman paket data gerakan yang dikirim oleh mikrokontroler.

Page 18: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

30

c. Setelah menerima data berupa informasi awalan langkah kaki robot dari

mikrokontroler, RCB-4 akan melakukan pengecekan robot harus bergerak

dengan awalan kaki kanan atau kiri terlebih dahulu. Jika kanan maka robot

akan bergerak maju dengan kaki kanan terlebih dahulu, demikian sebaliknya.

d. RCB-4 akan memberi perintah kepada robot agar robot bergerak maju dengan

langkah kaki awal sesuai dengan data yang telah diperoleh dari

mikrokontroler.

e. Kemudian RCB-4 akan melakukan pengecekan apakah posisi kaki robot

kanan berada di depan atau posisi kaki robot kiri berada di depan. Jika kaki

kanan berada di depan, maka RCB-4 akan mengirimkan data ke

mikrokontroler bahwa posisi kaki robot kanan berada di depan. Demikan

sebaliknya.

f. Pada akhir program, RCB-4 akan mengecek apakah ada perintah motion cut.

Perintah motion cut adalah kondisi dimana robot dipaksa untuk mengubah

gerakannya. Jika ada maka RCB-4 akan melakukan proses motion cut dan

kemudian kembali ke awal program untuk menunggu perintah dari

mikrokontroler lagi. Jika tidak maka program akan kembali untuk melakukan

gerakan maju secara berulang.

3.3.3. Flowchart Algoritma Ketiga

Algoritma yang ketiga ini merupakan algoritma baru yang dibuat oleh penulis

saat robot menerima perintah untuk melakukan gerakan berulang (looping) yang

bergerak geser.

Page 19: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

31

Gambar 3.14. Diagram Alir Algoritma Ketiga

START

Kirim perintah motion geser berulang ke

RCB-4

Apakah nilai accelero menyatakan robot sedang

terjatuh?Kirim perintah

motion bangun ke RCB-4

Apakah posisi kaki robot sebelah kanan atau kiri

yang bergeser?

Kirim data ke RCB-4 agar robot melangkah

dengan kaki kiri terlebih dahulu

Apakah ada perintah baru dari

smarthphone?

Apakah motion geser kanan atau

geser kiri?

Start berjalan dengan kaki kanan

terlebih dahulu

Start berjalan dengan kaki kiri terlebih dahulu

Lakukan motion geser kanan

Kirim data ke mikrokontroler

bahwa kaki kanan sedang bergeser ke

kanan

Kirim data ke mikrokontroler

bahwa kaki kanan sedang bergeser ke

kiri

Apakah ada cut motion?

Terima perintah dari mikrokontroler

Ya

Kiri

Ya

Tidak

Kanan

Kiri

Kanan

Tidak

Ya

Tidak

Algoritma mikrokontroler

Algoritma RCB4

A

ATerima data dari RCB-

4 posisi kaki robot kanan atau kiri yang

bergeser

Kirim data ke RCB-4 agar robot melangkah

dengan kaki kanan terlebih dahulu

C

Tidak

Ya

A

B

B

C C

Lakukan motion geser kiri

Apakah ada perintah dari

smartphone?

Terima Perintah dari Smarthphone

Apakah ada perintah dari mikrokontroler?

Tidak

Ya

Lakukan cut motion

Apakah ada cut motion?

Tidak

Ya

Page 20: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

32

Berikut ini adalah penjelasan algoritma yang ketiga bagian mikrokontroler :

a. Pertama kali mikrokontroler akan menunggu perintah dari smartphone.

b. Mikrokontroler akan melakukan pengecekan apakah ada perintah atau tidak.

Jika ada maka mikrokontroler akan menerima perintah itu dan jika tidak maka

mikrokontroler akan menunggu sampai ada perintah yang dikirimkan dari

smartphone.

c. Mikrokontroler akan mengirimkan perintah agar robot bergerak geser kanan

atau kiri dalam bentuk paket data ke RCB-4 atau servo controller.

d. Setelah menerima perintah, mikrokontroler akan melakukan pengecekan

apakah robot sedang dalam posisi jatuh atau tidak. Jika ya, maka

mikrokontoler mengirimkan perintah ke RCB-4 agar robot melakukan gerakan

bangun dari jatuh. Jika tidak akan dilakukan pengecekan posisi kaki robot.

e. Mikrokontroler akan menerima data yang dikirimkan balik oleh RCB-4. Data

yang dikirimkan berupa informasi posisi kaki robot. Apakah kaki robot kanan

berada di depan atau kiri yang bergerak terlebih dahulu.

f. Setelah mendapat data informasi posisi kaki robot dari RCB-4, mikrokontroler

akan melakukan pengecekan. Jika kaki robot kanan bergerak terlebih dahulu,

maka mikrokontroler akan mengirim balik data ke RCB-4 agar RCB-4

memerintahkan robot agar bergerak maju dengan awalan kaki kiri maju

terlebih dahulu. Demikian sama halnya ketika kaki robot kiri yang bergerak

terlebih dahulu. Proses pengiriman data langkah awal robot ini akan tetap

dilakukan oleh mikrokontroler tetapi RCB-4 akan mengabaikan data yang

dikirimkan karena untuk melakukan gerakan bergeser baik itu kanan ataupun

kiri tidak dibutuhkan data tentang pergerakan kaki yang harus melangkah

terlebih dahulu karena gerakan bergeser baik itu kanan ataupun kiri

pergerakannya selalu ke arah samping, berbeda dengan gerakan maju.

g. Mikrokontroler akan melakukan pengecekan apakah ada perintah baru atau

tidak. Jika ada perintah baru, maka program akan kembali ke awal program,

jika tidak maka program akan kembali ke pengecekan posisi robot jatuh atau

tidak. Program akan berjalan berulang terus menerus hingga sistem dimatikan.

Page 21: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

33

Berikut ini adalah penjelasan algoritma yang ketiga bagian RCB-4 :

a. Pertama kali RCB-4 akan menunggu perintah dari mikrokontroler.

b. RCB-4 akan melakukan pengecekan apakah ada perintah yang dikirim oleh

mikrokontroler atau tidak. Jika ada maka RCB-4 akan menerima perintah yang

dikirim oleh mikrokontroler. Jika tidak maka RCB-4 akan menunggu hingga

adanya kiriman paket data gerakan yang dikirim oleh mikrokontroler.

c. RCB-4 akan melakukan pengecekan apakah perintah dari mikrokontroler

berupa data geser kanan atau kiri. Jika kanan maka robot akan bergerak geser

ke kanan dengan kaki kanan terlebih dahulu. Jika kiri maka robot akan

bergerak geser ke kiri dengan kaki kiri terlebih dahulu.

d. RCB-4 akan memberi perintah kepada robot agar robot bergerak maju dengan

langkah kaki awal sesuai dengan data yang telah diperoleh dari

mikrokontroler.

e. RCB-4 akan memberi perintah agar robot berjalan geser ke kanan atau ke kiri

sesuai dengan perintah yang diberikan oleh mikrokontroler.

f. Kemudian RCB-4 akan mengirimkan data berupa informasi apakah kaki

kanan atau kiri yang bergerak terlebih dahulu ke mikrokontroler. Jika robot

bergeser ke kanan berarti kaki kanan robot yang bergerak terlebih dahulu. Jika

robot bergeser ke kiri berarti kaki kiri robot yang bergerak terlebih dahulu.

g. Pada akhir program, RCB-4 akan mengecek apakah ada perintah motion cut.

Perintah motion cut adalah kondisi dimana robot dipaksa untuk mengubah

gerakannya. Jika ada maka RCB-4 akan melakukan proses motion cut dan

kemudian kembali ke awal program untuk menunggu perintah dari

mikrokontroler lagi. Jika tidak maka program akan kembali untuk melakukan

gerakan geser ke kanan atau geser ke kiri sesuai dengan perintah yang telah

dikirim oleh mikrokontroler.

3.3.4. Flowchart Algoritma Keempat

Algoritma yang keempat ini merupakan algoritma baru yang dibuat oleh

penulis saat robot menerima perintah untuk melakukan gerakan yang tidak berulang.

Page 22: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

34

Gambar 3.15. Diagram Alir Algoritma Keempat

Berikut ini adalah penjelasan algoritma yang keempat bagian mikrokontroler:

a. Pertama kali mikrokontroler akan menunggu perintah dari smartphone.

b. Mikrokontroler akan melakukan pengecekan apakah ada perintah atau tidak.

Jika ada maka mikrokontroler akan menerima perintah itu dan jika tidak maka

mikrokontroler akan menunggu sampai ada perintah yang dikirimkan dari

smartphone.

c. Mikrokontroler akan mengirimkan perintah agar robot melakukan gerakan

yang tidak berulang dalam bentuk paket data ke RCB-4 atau servo controller.

START

Kirim perintah motion tidak berulang ke

RCB-4

Apakah nilai accelero menyatakan robot sedang

terjatuh?Kirim perintah

motion bangun ke RCB-4

Apakah ada perintah baru dari

smarthphone?

Lakukan motion

Apakah ada cut motion?

Terima perintah dari mikrokontroler

Ya

Ya

Tidak

Tidak

Ya

Tidak

Algoritma mikrokontroler

Algoritma RCB4

A

A

Tidak

Ya

A

Apakah ada perintah dari

smartphone?

Terima Perintah dari Smarthphone

Apakah ada perintah dari mikrokontroler?

Ya

Tidak

Lakukan cut motion

Page 23: PERANCANGAN SISTEM 3.1. Gambaran Sistem · 1. Kontrol Aktuator Robot Robot akan memiliki 16 motor servo, dengan rincian 3 servo di setiap lengan dan 5 servo di setiap kaki. Dengan

35

Gerakan yang tidak berulang adalah gerakan dimana tidak ada proses

perulangan dalam pembuatan gerakan tersebut seperti gerakan menendang,

bangun dari jatuh, dan gerakan stand by.

d. Setelah menerima perintah, mikrokontroler akan melakukan pengecekan

apakah robot sedang dalam posisi jatuh atau tidak. Jika ya, maka

mikrokontoler mengirimkan perintah ke RCB-4 agar robot melakukan gerakan

bangun dari jatuh. Jika tidak akan dilakukan pengecekan posisi kaki robot.

e. Kemudian mikrokontroler akan melakukan pengecekan apakah ada perintah

baru dari smartphone atau tidak. Jika ada maka jalannya program pada

mikrokontroler akan kembali ke awal dan siap untuk menerima perintah baru.

Jika tidak maka mikrokontroler akan menunggu hingga ada perintah baru dari

smartphone.

Berikut ini adalah penjelasan algoritma yang keempat bagian RCB-4:

a. Pertama kali RCB-4 akan menunggu perintah dari mikrokontroler.

b. RCB-4 akan melakukan pengecekan apakah ada perintah yang dikirim oleh

mikrokontroler atau tidak. Jika ada maka RCB-4 akan menerima perintah yang

dikirim oleh mikrokontroler. Jika tidak maka RCB-4 akan menunggu hingga

adanya kiriman paket data gerakan yang dikirim oleh mikrokontroler.

c. RCB-4 akan memberi perintah agar robot melakukan gerakan yang tidak

berulang sesuai dengan perintah yang diberikan oleh mikrokontroler.

d. Pada akhir program, RCB-4 akan mengecek apakah ada perintah motion cut.

Perintah motion cut adalah kondisi dimana robot dipaksa untuk mengubah

gerakannya. Jika ada maka RCB-4 akan melakukan proses motion cut dan

kemudian kembali ke awal program untuk menunggu perintah dari

mikrokontroler lagi. Jika tidak maka program akan kembali untuk melakukan

gerakan yang tidak berulang sesuai dengan perintah yang telah dikirim oleh

mikrokontroler.