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
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.
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
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
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
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.
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
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
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
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.
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
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.
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
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
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.
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
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.
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.
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
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.
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.
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
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.