PERANCANGAN PENELITIAN
3.1 Proses Kerja dan Mekanisme Robot Humanoid
3.2.3 Perancangan Sistem Perangkat Lunak
ATmega128 mengatur pergerakan-pergerakan pada robot dengan memberikan perintah berupa posisi servo dan kecepatan servo yang dikehendaki. Pergerakan pada robot humanoid ini semuanya diatur secara program. Robot humanoid ini memiliki 3 gerakan yaitu berdiri, persiapan berjalan dan bangkit berdiri. Gerakan-gerakan tersebut diperoleh dengan cara mengatur pergerakan dari 16 buah servo pada robot.
ATmega128 juga selalu membaca nilai ADC untuk mengetahui kemiringan pada robot. Jika robot pada posisi jatuh maka ATmega akan memberika perintah untuk bangkit berdiri. Algoritma-algoritma program pada pengontrrol ATmega128 yaitu:
3.2.3.1Algoritma Gerakan Robot
Gambar 3.7 menunjukkan program utama proses kerja mikrokontroler secara keseluruhan. Proses diawali dengan inisialisasi port pada mikrokontroler lalu proses pengaturan posisi robot dalam keadaan berdiri, pada posisi ini motor servo diatur pada posisi sudut putar yang berbeda-beda. Kemudian dilanjutkan proses pembacaan sensor keseimbangan. Setelah pembacaan sensor keseimbangan, maka mikrokontroler mulai menjalankan intruksi untuk menggerakkan motor servo. Pengaturan sudut putar servo tergantung dari sensor keseimbangan. Ketika data sensor keseimbangan tidak sama dengan posisi berdiri maka posisi robot dikatakan jatuh. Sehingga mikrokontroler akan memberikan intruksi untuk bangun. Setelah proses bangun sensor keseimbangan akan memberikan data kepada mikrokontroler posisi robot dalam keadaan berdir.
Ketika posisi berdiri sama dengan data yang dibaca sensor keseimbangan, maka mikrokontroler akan memberikan intruksi untuk menentukan arah gerak dan berjalan.
Gambar 3. 7 Diagram Alir Program Utama
3.2.3.2Prosedur Bangun
Pada prosedur bangun terdiri dari tiga posisi yaitu posisi terlentang, posisi duduk, posisi berdiri. Setiap posisi tersebut di dapatkan dari hasil keluaran data pada sensor keseimbangan, ketika data yang diberi ke mikrokontroler dalam range sudut antara 80o sampai dengan 130o maka posisi dalam range sudut tersebut adalah posisi terlentang. Ketika data yang diterima mikrokontroler dalam range sudut antara 20o sampai dengan 79o maka posisi dalam range sudut tersebut adalah posisi duduk, sedangkan untuk posisi berdiri range data yang diterima mikrokontroler dari sensor pada range sudut 0o sampai dengan 15o. Jika tidak ada range sudut yang didapat maka sensor akan membaca ulang keadaan sudut sekarang, sedangkan jika sensor membaca sudut pada posisi terlentang, duduk, dan berdiri maka proses selanjutnya adalah masuk ke subrutin dari posisi yang telah dicapai seperti pada Gambar 3.8.
Gambar 3. 8 Diagram Alir Sub Program Bangun
3.2.3.3Prosedur Terlentang
Pada prosedur terlentang posisi yang didapat oleh setiap sendi berbeda-beda yaitu, sendi perut pada posisi turun pada sudut 0o, sendi paha pitch baik kanan dan kiri pada posisi turun pada sudut yang sama yaitu 0o, sendi lutut baik kanan dan kiri pada posisi nilai tengah yaitu pada sudut 90o, dan sendi betis pitch baik kanan dan kiri pada posisi turun yaitu pada sudut yang sama 30o. Agar lebih jelas untuk kedudukan posisi dan range sudut setiap posisi dapat dilihat pada Tabel 3.3 dan Gambar 3.9 serta Gambar 3.10
Tabel 3. 3 Range Perubahan Sudut Posisi Sudut (o)
Naik 100-180
Nilai Tengah 90
Gambar 3. 9 Diagram Alir Sub Program Terlentang
Gambar 3. 10 Bagan Posisi Terlentang
3.2.3.4Prosedur Duduk
Pada prosedur ini posisi sendi berbeda-beda yang tetap hanya pada sendi lutut baik kiri dan kanan yaitu pada posisi turun dengan sudut 0o dan pada sendi paha baik kiri dan kanan pada posisi nilai tengah yaitu pada sudut 90o, serta sendi betis pitch baik kiri dan kanan pada posisi turun dengan sudut 30o. Sendi-sendi yang mengalami perubahan meliput sendi pundak pitch baik kiri dan kanan, sendi perut. Untuk sendi pundak pitch mengalami perubahan dari awalnya pada posisi nilai tengah pada sudut 90o menjadi posisi turun pada sudut 0o, sendi perut tetap pada posisi turun namun hanya berubah sudutnya dari awalnya pada sudut 0o menjadi 60o.
Gambar 3. 11 Diagram Alir Sub Program Duduk
3.2.3.5Prosedur Berdiri
Prosedur ini merupakan salah satu prosedur yang terpenting, karena posisi berdiri merupakan posisi ideal untuk memberi perintah guna melakukan gerakan berjalan. Posisi ideal berdiri yang diharapkan seperti Gambar 3.14 dan subrutin program untuk posisi berdiri seperti pada Gambar 3.13, dimana kondisi setiap sendi pada posisi nilai tengah atau dalam sudut 90o. Dan hanya sendi lutu yang dalam posisi naik atau dalam sudut 120o.
Gambar 3. 13 Diagram Alir Sub Program Berdiri
3.2.3.6Prosedur Jalan
Ketika prosedur berdiri telah selesai dilakukan maka akan masuk ke prosedur terakhir yaitu prosedur melangkah. Pada prosedur ini data yang diberikan sensor keseimbangan sama dengan posisi berdiri maka robot akan melakukan proses angkat kaki kakanan setelah proses tersebut selesai dilanjutkan proses angkat kaki kiri. Proses angkat kaki kanan dan kiri dilakukan sebanyak lima (5) kali atau melakukan proses melangkah sebanyak 5 kali. Setelah proses melangkah sebanyak 5 kali telah selesai program akan berakhir seperti pada Gambar 3.12
3.2.3.7Prosedur Melangkah Kaki Kanan
Pada prosedur ini terjadi perubahan sudut dari dari dua sendi yaitu sudut pada paha kanan dan lutut kanan seperti pada Gambar 3.13 dan Gambar 3.14. Perubahan sudut pada paha kanan terjadi dalam range sudut dari 0o sampai 30o, sedangkan pada lutut dalam
range 0o sampai dengan 40o. Perubahan sudut pada betis kanan terjadi pada range 95o sampai dengan 130o pada posisi naik seperti pada Gambar 3.17.
Gambar 3. 16 Diagram Alir Sub Program Melangkah Kaki Kanan
Gambar 3. 17 Bagan Pergerakan Melangkah Kaki Kanan
3.2.3.8Prosedur Melangkah Kaki Kiri
Pada prosedur ini terjadi perubahan sudut dari dari dua sendi yaitu sudut pada paha kiri dan lutut kiri seperti pada Gambar 3.15 dan Gambar 3.16. Perubahan sudut pada paha kiri terjadi dalam range sudut dari 0o sampai 30o, sedangkan pada lutut dalam range
0o sampai dengan 40o. Perubahan sudut pada betis kiri terjadi pada range 95o sampai dengan 130o pada posisi naik seperti pada Gambar 3.19.
Gambar 3. 18 Diagram Alir Sub Program Melangkah Kaki Kiri