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 humanoiddan 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 Sma rtp hone Bluetooth
Bluetooth DF V3
To mbo l On/Off
Acce lerom e ter RAS-2
To mbo l On/Off
Gyrosco pe KRG-4 16 DOF Servo KRS-2552HV
TX TX
RX RX
Se rvo Ko ntroler RCB-4
Lithium po lymer 11.1 V 1300 m Ah Lithium po lymer
7.4 V 1000 mAh
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-BluetoothV3 yang dipasang pada mikrokontroler. 6. SumberDayaListrik
Sumber Daya Listrik untuk robot ini dibagi menjadi dua bagian. Baterai
lithium polymer7.4 volt digunakan sebagai sumber daya listrik pada mikrokontroler,
accelerometer, dan modul bluetooth. Tegangan sebesar 7.4 volt akan diturunkan menggunakan regulator DC to DCmenjadi 5 volt.
Sedangkan baterai lithium polymer 11.1 volt digunakan sebagai sumber daya
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.
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 gyroscopeyang 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.
Smartphonepada tugas akhir ini digunakan sebagai remote controluntuk 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.
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
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
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 Fungsi
1 PA4 Accelerometeraxis Y
2 PA5 Accelerometeraxis X
3 PB1 Flag inputdata motionberakhir
4 PB2 Flag outputdata motionkurva
5 PB3 Flag inputdata kaki kanan
6 PB4 Flag inputdata kaki kiri
7 PB5 Downloader
8 PB6 Downloader
9 PB7 Downloader
10 PD0 RecieverRCB-4 ke
mikrokontroler
11 PD1 Transmitermikrokontroler ke
RCB-4
12 PD2 Reciever mikrokontroler ke
android
13 PD3 Transmiterandroid ke
mikrokontroler
14 PD4 Kontrol servo pan
15 PD5 Kontrol servo tilt
16 PD6 Flag outputdata motion cut
17 PD7 Flag outputdata 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,
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 AccelerometerRAS-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
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 GyroscopeKRG-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.
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 rateyang 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
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.
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.
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 Fungsi
1 COM Komunikasi serial dengan mikrokontroler
2 SIO1 Kontrol serial servo
3 SIO2 Kontrol serial servo
4 SIO3 Kontrol serial servo
5 SIO4 Kontrol serial servo
6 SIO5 Kontrol serial servo
7 SIO6 Kontrol serial servo
8 SIO7 Kontrol serial servo
9 SIO8 Kontrol serial servo
10 PIO1 Flag outputdata kaki kanan
11 PIO2 Flag outputdata kaki kiri
12 PIO3 Flag outputdata motionberakhir
13 PIO7 LED indikator kaki kanan 14 PIO8 LED indikator kaki kiri 15 PIO9 LED indikator awal motion
16 PIO10 LED indikator akhir motion
17 AD1 Gyroscopeaxis X
18 AD2 Gyroscopeaxis Y
19 AD5 Input datamotion cut
20 AD6 Input data awal motion
21 AD7 Inputdata motionkurva
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.
menentukan posisi kaki robot (Algoritma saat R2C mengikuti KRCI 2013). Flowchart
kedua adalah algoritma baru saat robot menerima instruksi motion berulang yang
bergerak maju. Flowchartketiga adalah algoritma baru saat robot menerima instruksi
motion berulang yang bergerak geser. Sedangkan flowchartkeempat adalah algoritma baru saat robot menerima instruksi motionyang tidak berulang.
3.3.1. FlowchartAlgoritma 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?
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. FlowchartAlgoritma Kedua
Algoritma yang kedua ini merupakan algoritma baru yang dibuat oleh penulis
.
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 A Terima 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
mikrokontroler B B B C C Apakah
ada perintah dari smartphone?
Terima Perintah dari Smarthphone
Apakah ada perintah dari
mikrokontroler?
Ya Tidak
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
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. FlowchartAlgoritma Ketiga
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 A Terima 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
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.
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 gerakanyang 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. FlowchartAlgoritma Keempat
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
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 gerakanyang 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