G1
PERANCANGAN PERANGKAT LUNAK PENDETEKSI SUDUT DAN POSISI MENGGUNAKAN MIKROKONTROLER ATMEGA 32 M. Antisto Akbar[1], Wahyudi, S.T, M.T [2], Achmad Hidayatno,S.T,M.T[2] Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro Jln. Prof. Sudharto, Tembalang, Semarang, Indonesia Abstract The development of navigation systems have growth rapidly at this time. The navigation system is a system that is widely used on transportation system such as flight system, vessel system and rocket system. One of the navigation system that ussually used is inertial navigation system. The advancement of micro-sized electronic sensor and computing capabilities have stimulated several applications. Advances in sensor technology and high computer skills which are the progress of the art of computation have been applied to the traditional tools to provide increased employment in compact systems. In this project, the design of navigation systems used the Inertial Navigation System (INS) by utilizing the sensor Inertial Measurement Unit (IMU). The IMU is an electronic device that measures and reports the data linear acceleration and angular acceleration. IMU sensor consists of a three axis accelerometer and three axis gyroscope mounted on a board by sparkfun. Data from accelerometer and gyroscope is used to determine the body attitude by combining those two data by by using complementary filters method. Accelerometer data is used to determine the position of the payload by utilizing the inertia of the accelerometer. All methods to get the data about position and angle by utilizing the inertia of the sensors, is the part of the navigation system using INS. Based on the tests results that have been done by using INS method was used not yet accurately worked at IMU sensors. Keywords: Inertial sensor, IMU, INS
I. 1.1
PENDAHULUAN Latar Belakang Teknologi navigasi saat ini telah menjadi suatu ilmu pengetahuan yang sangat kompleks. Berbagai teknik telah dikembangkan untuk menunjang kebutuhan dalam bernavigasi, mulai dari peta, kompas, radar, GPS, dan sensor IMU. Inertial Measurement Unit (IMU) merupakan suatu unit dalam modul elektronik yang mengumpulkan data percepatan linier dan kecepatan angular, yang kemudian dikirim ke unit pemroses utama. IMU terdiri dari kombinasi accelerometer (sensor percepatan) dan gyroscope (sensor kecepatan angular) untuk menjejaki keberadaan dan pergerakan suatu benda. Biasanya ditambahkan pula sensor magnetometer (sensor magnet) agar dapat menghasilkan kinerja yang lebih baik untuk perhitungan orientasi. Accelerometer digunakan untuk
mengukur percepatan linier dan gravitasi pada benda, gyroscope digunakan untuk mengukur kecepatan rotasi pada benda. IMU banyak digunakan untuk keperluan navigasi suatu roket, pesawat dan lainlain. Teknologi ini sudah banyak diterapkan di beberapa negara maju, tetapi masih menjadi teknologi yang sulit diperoleh di beberapa negara lain. Inertial Navigation System (INS) adalah suatu sistem yang terdiri dari sensor IMU dan seperangkat komputer yang menghitung posisi, kecepatan (groundspeed), dan orientasi (attitude). Kerangka acuan dari setiap sensor harus diubah ke dalam bentuk kerangka navigasi. Accelerometer mempunyai kerangka acuan terhadap bumi (earth). Gyroscope mempunyai kerangka acuan terhadap body. Dengan menggunakan euler angle, acuan gyroscope dapat diubah dari kerangka acuan body menjadi kerangka acuan terhadap bumi. Dengan begitu, kedua
G2
sensor tersebut dapat digabungkan kedua datanya untuk mendapatkan sudut, serta dapat pula menghitung posisi, kecepatan, serta jarak. Complementary filter digunakan untuk menghasilkan data sudut yang lebih baik dari masing-masing sensor dengan menggabungkan data dari sensor accelerometer dan gyroscope, baik dalam keadaan statis maupun dalam keadaan dinamis. Data dari sensor accelerometer akan difilter dengan menggunakan low pass filter, sedangkan data dari sensor gyroscope terlebih dahulu diintegralkan, setelah itu akan difilter dengan menggunakan high pass filter.
1.2
Tujuan Tujuan dari tugas akhir ini adalah membuat perangkat lunak untuk mengukur posisi dan sudut dengan metode INS menggunakan modul IMU. 1.3
Pembatasan Masalah Dalam pembuatan tugas akhir ini penulis membatasi permasalahan sebagai berikut : 1. Sensor accelerometer dan sensor gyroscope yang digunakan memiliki tiga derajat kebebasan. 2. Modul IMU yang digunakan adalah 6DOF Razor produksi sparkfun, yang terdiri dari ADXL345, ITG3200 produksi sparkfun. 3. Mikrokontroler yang digunakan adalah mikrokontroler ATmega32. 4. Perangkat lunak yang digunakan untuk memprogram mikrokontroler adalah Code Vision AVR. 5. Proses tampilan dilakukan pada personal komputer dengan menggunakan bahasa pemrograman Microsoft Visual Studio C#. 6. Metode yang digunakan adalah dasar dari INS. 7. Filter yang digunakan adalah complementary filter. 8. Pengujian terhadap modul IMU dilakukan dengan waktu yang sesaat dan jarak yang pendek. 9. Tidak membahas rangkaian internal wireless YS-1020 UA.
II. 2.1
Dasar Teori Inertial Measurement Unit (IMU) IMU merupakan suatu unit dalam modul elektronik yang mengumpulkan data kecepatan angular dan akselerasi linear yang kemudian dikirim ke Central Processing Unit (CPU) untuk mendapatkan data keberadaan dan pergerakan suatu benda[6]. IMU terdiri dari kombinasi accelerometer (sensor percepatan) dan gyroscope (sensor kecepatan angular). Accelerometer digunakan untuk mengukur percepatan suatu benda dan gyroscope digunakan untuk mengukur kecepatan rotasi dari suatu benda. Modul IMU Sparkfun 6 DOF merupakan salah satu contoh modul IMU yang beredar di pasaran saat ini. Modul ini terdiri dari sensor accelerometer tiga axis (ADXL 345), dan sensor gyroscope tiga axis (ITG 3200). Sensor-sensor tersebut dipasang pada satu papan sedemikian rupa sehingga dapat digunakan untuk mengukur 6 DOF (degree of freedom / derajat kebebasan). Derajat kebebasan yang dapat diukur oleh modul IMU Sparkfun 6 DOF adalah sumbu x, y, dan z serta sudut roll, pitch, dan yaw.
Gambar 1 Modul IMU Sparkfun 6 DOF
2.2 2.2.1
Sistem Koordinat Koordinat body Koordinat body merupakan sistem koordinat yang bereferensi benda pejal yang bergerak. Cara menggunakan sistem koordinat body adalah dengan kaidah tangan kanan. Untuk sumbu x positif merupakan arah maju dari benda, sumbu y positif merupakan arah kanan dari benda, serta sumbu z positif merupakan arah bawah dari benda tersebut. Setiap sumbu dari koordinat body akan mengikuti gerakan dari benda
G3
pejal ketika terjadi perubahan posisi dan perubahan attitude.
mentransformasi dari satu bentuk koordinat ke dalam bentuk koordinat yang lain. Sudut orientasi suatu benda dapat direpresentasikan dalam Euler Angel (sudut roll, pitch, dan yaw). Sudut orientasi roll, pitch, dan yaw dapat disimbolkan dengan , , dan .
Rotasi melalui sumbu x body dengan sudut sebesar
Gambar 2 Sistem koordinat body
(4)
2.2.2
Koordinat tetap (navigasi) Koordinat tetap dalam INS adalah sistem koordinat yang bereferensi pada body yang bergerak tetapi tidak ikut berotasi. Pendefinisian arah x, y, dan z mengikuti kaidah tangan kanan yakni arah x positif merupakan arah maju, arah y positif merupakan arah kiri dari benda pejal, serta arah z positif merupakan arah atas dari benda pejal tersebut. Untuk mengubah sistem dari koordinat body ke sistem koordinat tetap digunakan matriks rotasi.
Rotasi melalui sumbu y body dengan sudut sebesar (5)
Rotasi melalui sumbu z body dengan sudut sebesar (6)
b.
Gambar 3 Koordinat tetap (navigasi)
Direct cosine matrix Direct cosine matrix merupakan suatu bentuk matriks rotasi dengan dimensi 3 X 3 dinotasikan sebagai matriks , dengan kolom mempresentasikan unit vektor pada koordinat body yang diproyeksikan sepanjang koordinat tetap atau koordinat navigasi. Matriks dapat ditulis dalam bentuk matriks sebagai berikut :
(7)
(1) 2.3.2 2.3
Inertial Measurement Unit (INS) 2.3.1 Attitude Representation a. Euler Metode euler merupakan salah satu motode yang digunakan untuk
Percepatan linier Sensor accelerometer dapat mendeteksi percepatan linier pada benda. Persamaan 8 menunjukkan persamaan gaya pada sumbu x, y dan z suatu benda yang dibaca oleh sensor percepatan pada masing-masing sumbunya.
G4
(8)
merupakan percepatan total yang dideteksi oleh sensor accelerometer, sedangkan merupakan percepatan linier setiap sumbunya. 2.3.3
Complementary filter Istilah complementary filter biasa digunakan untuk mendefinisikan algorithma digital yang menggabungkan data yang sama dari sensor-sensor yang berbeda untuk mendapatkan suatu kondisi data yang baik.
Gambar 3 Diagram complementary filter
Integral Runge-Kutta Metode Runge-Kutta merupakan metode penyelesaian persamaan differensial yang mana perhitungan penyelesaian dilakukan langkah demi langkah. Secara umum fungsi penyelesaian persamaan diferensial dengan metode Runge-Kutta ditunjukkan pada persamaan 9.
Perancangan perangkat keras pada sistem ini memanfaatkan Mikrokontroller ATMega 32 sebagai pengolah data, sensor accelerometer sebagai pengambil data sudut dan percepatan, sensor gyroscope sebagai pengambil data sudut, serta radio frekuensi YS-1020UA sebagai media transfer data secara wireless baik pada transmitter maupun reciever. Perancangan perangkat keras secara umum dibagi menjadi dua bagian, yaitu payload (sebagai pengambilan dan pengolahan data) dan ground segment (untuk menampilkan data pada komputer). Secara keseluruhan perancangan ini dapat dilihat dalam diagram blok berikut.
Gambar 4 Blok diagram perancangan alat keras
2.3.4
3.2
Perancangan Perangkat Lunak Perancangan perangkat lunak dengan menggunakan sensor IMU serta menggunakan algoritma INS. Gambar 5 menunjukkan perancangan sistem navigasi
(9) Bentuk paling sederhana dari metode Runge-Kutta orde 2 adalah membagi bagian perubahan menjadi dua bagian seperti ditunjukkan pada persamaan 10.
(10) III. 3.1
PERANCANGAN ALAT Perancangan Perangkat Keras
Gambar 5 Blok diagram sistem navigasi
pada
Pada Gambar 5 menunjukkan INS perancangan meliputi
G5
penentuan sistem koordinat, pengolahan data sudut dari gabungan sensor accelerometer dan sensor gyroscope dengan metode complementary, dan pengolahan data percepatan menjadi posisi. IV.
PENGUJIAN DAN ANALISIS 4.1 Pengujian Transfer Data Wireless dengan Menggunakan YS-1020UA dengan Variasi Jarak Tujuan dari pengujian transfer data wireless ini adalah mengetahui tingkat keakuratan data yang dikirim melalui modul YS-1020 UA sehingga data yang diterima tidak memiliki error dengan variasi jarak tertentu.
a. Jarak 3 meter
b. Jarak 6 meter
c. Jarak 9 meter Gambar 6 Data yang diterima hasil pengujian data wireless dengan variasi jarak
Pada Gambar 6 a dan b terlihat data yang dikirim oleh payload ke groundsegment dengan jarak 3 dan 6 meter tidak memiliki error, sedangkan pada Gambar 6 c data yang dikirim memiliki error yang sangat tinggi. Hal ini disebabkan level serial yang digunakan adalah TTL, sehingga jarak komunikasi antara payload dengan groundsegment yang dihasilkan tidak terlalu jauh. Serial TTL mempunyai
jangkauan untuk logika 1 sebesar 2,4 - 5 volt, sedangkan untuk logika 0 sebesar 0 - 0,8 volt. 4.2 4.2.1 a.
Pengujian Navigasi Pengujian Attitude Attitude roll Pengujian attitude roll dilakukan dengan cara memberikan gerak rotasi pada sumbu x payload dengan menggunakan metode INS serta menggunakan penggabungan data sensor accelerometer dan sensor gyroscope dengan metode complementary filter. Tabel 1 Hasil pengujian attitude roll
Dari pengujian pada Tabel 1 menunjukkan hasil pengukuran attitude roll terdapat selisih antara pengukuran menggunakan busur dengan perhitungan INS. Nilai rata-rata RMSE yang dihasilkan untuk sumbu putar x adalah 0,369 dan untuk sumbu putar z adalah 0,836. Hal ini disebabkan pada sumbu putar z hanya menggunakan sensor gyroscope sebagai pendeteksi dan tidak ada kompensasi dari sensor lainnya untuk mendeteksi sumbu putar z, sehingga saat benda diputar pada satu arah atau dua arah (selain sumbu z), sumbu putar z akan mendeteksi putarannya walaupun hasil pengukuran nilainya relatif kecil. b.
Attitude pitch Pengujian attitude pitch dilakukan dengan cara memberikan gerak rotasi pada sumbu y payload dengan menggunakan metode INS serta menggunakan penggabungan data sensor accelerometer dan sensor gyroscope dengan metode complementary filter. Tabel 2 Hasil pengujian attitude pitch
G6
menggunakan metode INS serta menggunakan penggabungan data sensor accelerometer dan sensor gyroscope dengan metode complementary filter. Tabel 4 Hasil pengujian attitude roll, pitch, dan yaw
Dari pengujian pada Tabel 2 menunjukkan hasil pengukuran attitude pitch terdapat selisih antara pengukuran menggunakan busur dengan perhitungan INS. Nilai rata-rata RMSE yang dihasilkan untuk sumbu putar x adalah dan untuk sumbu putar z adalah 0,635. c.
Attitude yaw Pengujian attitude yaw dilakukan dengan cara memberikan gerak rotasi pada sumbu z payload dengan menggunakan metode INS serta menggunakan data sensor gyroscope dengan metode complementary filter. Tabel 3 Hasil pengujian attitude yaw
Dari Tabel 4 menunjukkan bahwa hasil pengukuran roll, pitch, dan yaw dengan menggunakan busur dengan perhitungan INS menunjukkan selisih yang relatif kecil. RMSE untuk sumbu putar x adalah 18,33, sumbu putar y adalah 0,54, dan untuk sumbu putar z adalah 0,494. Saat benda diputar sebesar 90 derajat untuk setiap sumbunya dengan urutan roll, pitch, dan yaw, maka nilai roll akan berubah menjadi 0 derajat saat benda telah berputar pada sumbu y (pitch). Hal ini disebabkan perhitungan sudut pada accelerometer menggunakan aturan tangensial. 4.2.2
Hasil pengujian pada Tabel 3 menunjukkan bahwa hasil pengukuran dengan menggunakan busur dan perhitungan dengan menggunakan INS terdapat selisih yang sedikit anatara pengukuran dan perhitungan. Nilai ratarata RMSE yang dihasilkan pada rotasi sumbu z adalah 0,502. Hal ini bisa disebabkan oleh getaran mekanis dari luar sensor sehingga nilai keluaran data sensor gyroscope menjadi berubah. d.
Attitude roll, pitch, dan yaw Pengujian attitude roll, pitch, dan yaw dilakukan dengan cara memberikan variasi gerak rotasi pada setiap sumbu payload dengan
Pengujian Translasi Pengujian translasi dilakukan dengan variasi arah pengujian tiap satu axis, dua axis, dan tiga axis. Tabel 5 Hasil pengujian translasi
Hasil pengujian pada Tabel 5 memperlihatkan bahwa hasil pengukuran dengan mistar dan perhitungan dengan INS terdapat perbedaan. Hal pertama kesalahan pada perhitungan INS disebabkan adanya
G7
kesalahan dalam perhitungan nilai attitude sehingga berpengaruh dalam menghitung jarak. Hal kedua adalah ketika sensor digerakkan pada satu sumbu, maka sumbu yang lain akan mendeteksi gerakan tersebut. Hal ketiga adalah respon pada sensor yang tidak ideal (tidak seimbang antara percepatan dan perlambatan) yang menyebabkan nilai percepatan linier yang terdeteksi akan menghasilkan nilai error sehingga akan terakumulasi dengan proses integral yang menyebabkan nilai akan meningkat tiap waktunya. V. 5.1 1.
2.
3.
4.
PENUTUP Kesimpulan Sensor accelerometer ADXL345 dalam keadaan tidak bergerak tidak stabil sehingga perlu menggunakan discrimination windows, sedangkan untuk sensor gyroscope ITG 3200 lebih stabil. Perhitungan nilai attitude yang tidak akurat akan mengakibatkan kesalahan dalam mendapatkan percepatan linier dan mengakibatkan kesalahan dalam perhitungan posisi. Sensitivitas tiap sumbu x, sumbu y, dan sumbu z sensor accelerometer berbeda pada proses kalibrasi. Algoritma INS yang digunakan untuk mengukur attitude tehadap sumbu x (roll), didapatkan nilai rata-rata RMSE sebesar 0,4016. Attitude tehadap sumbu y (pitch), didapatkan nilai rata-rata RMSE sebesar 0,447. Attitude tehadap sumbu z (yaw), didapatkan nilai rata-rata RMSE sebesar 0,167. Attitude tehadap tiga sumbu (roll, pitch,dan yaw), didapatkan nilai rata-rata RMSE sebesar 6,454. Pengukuran untuk gerak translasi sejauh 30 cm ke arah sumbu x, sumbu y, dan sumbu z dengan 7 variasi didapatkan nilai RMSE sebesar 7,1533 untuk sumbu x, 7,2239 untuk
5.
sumbu y, 20,9498 untuk sumbu z. Estimasi sudut orientasi dari hasil complementary filter memiliki nilai error lebih kecil dibandingkan hanya menggunakan satu sensor saja karena dapat menghilangkan error drift dari gyroscope dan dapat meredam error dari pengaruh getaran terhadap accelerometer.
5.2
Saran Untuk pengembangan sistem lebih lanjut, maka dapat diberikan saransaran sebagai berikut: 1.
2.
3. 4.
[1]
Pengujian pengaruh temperatur sensor dapat dilakukan untuk mengetahui pengaruh temperatur dalam kinerja sensor. Menambahkan sensor magnetometer untuk mengkoreksi nilai sudut yaw. Menambahkan GPS untuk mengkoreksi nilai posisi. Menggunakan tegangan operasional sensor yang sesuai dengan datasheet. DAFTAR PUSTAKA Andrejašič, Matej, MEMS Accelerometers, Final project, University of Ljubljana,2008.
[2]
Ardakani, H. Alemi, T. J. Bridge, Review of the 3-2-1 Euler Angles: a yaw–pitch–roll sequence, University of Surrey, Guildford,UK, 2010.
[3]
As’ari, M Hasim, Pendeteksi Sudut Menggunakan Sensor Gyroscope, Tugas Akhir Teknik Elektro Universitas Diponegoro, Semarang, 2011.
[4]
Burg, Aaron, Azeem Meruani, Bob Sandheinrich, Michael Wickmann, MEMS Gyroscope And Their Applications,
[5]
Colton, Shane, The Balance Filter : A Simple Solution for
G8
Integrating Accelerometer and Gyroscope Measurements for a Balancing Platform, Chief Delphi white paper, 2007. Oktober 2013. [6]
Darajat, Anisa Ulya, dkk,”Sistem Telemetri Unmanned Aerial Vehicle (UAV) Berbasis Inertial Measurement Unit (IMU)”, Jurnal Rekayasa dan Teknologi Elektro Universitas Lampung, Bandar Lampung,2012.
[7]
Lie, Adhik, Inertial Navigation System (INS) – Sistem Navigasi Inersia, http://www.ilmuterbang.com/~ast/ , September 2013.
[8]
Nurfansyah, Rahadian, Estimasi Sudut Orientasi Benda Menggunakan Sensor 6 DOF IMU dan Sensor Magnetometer 3 Aksis, Tugas Akhir Teknik Elektro Universitas Diponegoro, Semarang, 2013.
[9]
Ronnback, Sven, “Development of a INS/GPS navigation loop for an UAV”, Masters Thesis Lulea University of Technology, 2000.
[10] Setyono, Arif, Perancangan Perangkat Lunak Pendeteksi Posisi Benda Dalam 6 Derajat Kebebasan, Tugas Akhir Teknik Elektro Universitas Diponegoro, Semarang, 2011. [11] Susilo, Tri Bagus, Pengukuran Sudut Kemiringan Benda dengan Sensor Percepatan, Tugas Akhir Teknik Elektro Universitas Diponegoro, Semarang, 2011. [12] Widada, Wahyu, Wahyudi, “Aplikasi Tapis Kalman Pada Pengubahan Data IMU Menjadi Data Navigasi”, Seminar Teknologi Informasi dan Komunikasi Terapan, 2011. [13] Wiryadinta, Romi, Wahyu Widada, “Modifikasi Persamaan Quaternion pada Algoritma INS Untuk Aplikasi Roket”, Jurnal Teknologi Dirgantara, 2010.
[14] Yoo, Tae Suk, Sung Kyung Hong, Hyok Min Yoon, Sungsu Park, Gain-Scheduled Complementary Filter Design for a MEMS Based Attitude and Heading Reference System, Open Access, Inc, 2011. [15] Xie, Huikai, Gary K. Fedder,” Integrated Microelectromechanical Gyroscopes”, Journal of Aerospace Engineering, 2003. [16] ----------, ATmega 32 Data Sheet, http://www.atmel.com, Desember 2012. [17] ----------, ITG3200 Data Sheet, https://www.sparkfun.com, Desember 2012. . [18] ----------, ADXL345 Data Sheet, http://www.analog.com,Desember 2012. BIODATA PENULIS M. Antisto Akbar (L2F009038), lahir di B. Aceh, 23 Oktober 1991. Menempuh pendidikan di SDN 61 B. Aceh, SMPN 2 Babalan, SMA N 5 B. Aceh dan pada tahun 2009 melanjutkan studi strata 1 di Jurusan Teknik Elektro Universitas Diponegoro, Semarang, dan mengambil konsentrasi Kontrol dan Instrumentasi. Menyetujui, Dosen Pembimbing I
Wahyudi, ST, MT NIP 196906121994031001
Dosen Pembimbing II
Achmad Hidayatno, ST, MT NIP 196912211995121001