BAB 1 PENDAHULUAN 1.1 Latar Belakang Sistem operasi adalah kumpulan dari program-program yang mengatur hardware pada sebuah komputer, dimana tugas sistem operasi menyediakan lingkungan untuk menjalankan aplikasi end user diatas sistem operasi secara nyaman dan efisien. Contoh-contoh sistem operasi adalah Linux, Windows, Mac OS(Operating System) dimana OS-OS tersebut adalah GPOS (General Purpose Operating System). GPOS umumnya digunakan untuk aplikasi yang bersifat normal atau sehari-hari tanpa kebutuhan khusus, sehingga pada GPOS tidak ada kemampuan untuk mendapat sifat deterministic ataupun time critical seperti RTOS (Real Time Operating System). RTOS atau sistem operasi waktu nyata merupakan jenis OS yang mampu memproses berbagai task dengan tingkatan prioritas yang dapat di atur sehingga dapat menghasilkan hasil yang dapat di prediksi dan presisi dalam menjalankan sebuah task yang sifatnya critical. Beberapa contoh RTOS adalah QNX, RTAI, RTLinux, FreeRTOS. RTOS tidak secara langsung akan meningkatkan performa atau kecepatan eksekusi program pada sebuah system, namun dengan pengaturan prioritas dan pembagian CPU time yang diatur dengan algoritma realtime adalah keuntungan utama sebuah RTOS dibandingkan dengan sistem operasi general-purpose karena dengan algoritma real-time, sebuah RTOS dapat menjalankan sebuah task dengan spesifikasi hardware yang lebih rendah jika di 1 2 bandingkan dengan GPOS dengan spesifikasi hardware yang lebih tinggi ketika kedua sistem tersebut di jalankan pada kondisi terbebani. Salah satu contoh aplikasi yang membutuhkan OS yang dapat bekerja dengan waktu nyata (realtime) dan berbasis multiple task (loaded condition) pada satu waktu adalah airbag pada mobil. Airbag bekerja dengan cara membaca sensor-sensor benturan yang terdapat di sekeliling mobil secara terus menerus. Dengan pembacaan yang demikian padat, ketika sensor memberikan trigger saat terjadi tabrakan maka pada kurun waktu yang sangat singkat balon airbag harus terbuka dan menyelamatkan penumpangnya. Prediktibilitas pada kondisi apapun dan responsivitas terhadap sensor input dan output balon pada airbag deployment merupakan kunci utama keberhasilan sistem airbag yang bekerja secara real time. 1.2 Formulasi Masalah Apakah sistem mampu memproses seluruh hasil input sinyal dari sensor ultrasonik dalam waktu yang lebih singkat dengan menggunakan Real Time Operating System? Apakah sistem reliable dalam memproses data? Apakah sistem responsif terhadap input yang diterima dan output yang di keluarkan terhadap perubahan lingkungan? Apakah sistem akurat dalam membaca hasil data input dan memprosesnya hingga menghasilkan data output? 3 1.3 Tujuan dan Manfaat Tujuan penelitian ini adalah : Untuk mempelajari, mengimplementasi dan menggunakan Real Time Operating System(Linux RT-Patched) pada Single Board Computer. Untuk melakukan pemograman aplikasi menggunakan Qt untuk dijalankan diatas Linux RT-Patched. Untuk mengembangkan aplikasi berbasis real time yang menggunakan sensor ultrasonik sebagai input yang mengontrol prototype. Manfaat yang didapatkan antara lain: Menambah pengetahuan, pengalaman dan wawasan, khususnya mengenai pengetahuan mengenai Linux RT-Patched sebagai RTOS. Mengerti kelebihan dan kekurangan dari implementasi Single Board Computer (SBC) menggunakan Pandaboard yang berbasis TI-OMAP 4460. Memperdalam pembelajaran, penggunaan dan aplikasi bahasa pemrograman C/C++ dengan Qt library. Membandingkan dan mengerti mengenai sensor ultrasonik dan implementasinya. Mengimplementasikan, mengembangkan dan menghasilkan sebuah sistem keseluruhan yang berbasis RTOS. 1.4 Ruang Lingkup Dalam membangun perancangan penelitian ini, terdapat tiga kelompok berbeda yang menjadi basis penelitian ini yaitu hardware, bahasa pemrograman, dan 4 sistem operasi. Hardware yang dipergunakan adalah Single Board Computer (SBC) Pandaboard berbasis prosesor TI-OMAP 4460, sensor ultrasonik HC-SR04, dan mobile robot dengan continuous wheel. Bahasa pemrograman yang digunakan dalam penelitian ini adalah bahasa C/C++. Penggunaan bahasa C/C++ dipilih karena memiliki kompatibilitas dengan program SDK(Software Development Kit) Qt. Bahasa C/C++ jg dapat digunakan baik untuk pemograman dengan tingkat abstraksi yang tinggi ataupun dengan tingkat abstraksi yang rendah dan dapat digunakan untuk implementasi real-time program. Dalam pemograman khususnya gerakan robotic device, algoritma berbasis PID ataupun closed-loop control bukan menjadi bagian penelitian ini karena penelitian ini memiliki titik berat kepada penggunaan RTOS sehinnga menggunakan algoritma robot yang sederhana sebagai implementasi bukti hasil respon RTOS. Sistem operasi yang digunakan adalah Linux Ubuntu dengan RT-patched kernel. Penggunaan OS Linux RT-patched pada perancangan ini dikarenakan sifatnya open source dan tidak membatasi akses kernel untuk dimodifikasi oleh penggunanya. Selain itu, pemakaian OS Linux RT-patched memudahkan proses pemrograman mobile robot ini karena dengan RT-patched, sebuah process dari userspace dengan prioritas yang lebih tinggi dapat mendahului (preempt) process yang ada pada kernel. Pembuatan program dari sisi user-space tentunya akan lebih mudah karena lebih umum dibandingkan dengan kernel programming. Penggunaan library Qt dalam Linux juga dapat di aplikasikan untuk mempermudah pemrograman berbasis multithread dan realtime. Terdapat berbagai pembatasan dalam penelitian ini, antara lain. Tidak memasukan faktor efisiensi daya. Tidak membandingkan dengan RTOS jenis lain. 5 Tidak memperdulikan masalah medium untuk sensor ultrasonik. Robot hasil rancangan hanya bergerak dengan algoritma sederhana tanpa feedback pada sistem dan tanpa kemampuan self-learning.