Impelementasi sensor accelerometer gyroscope dan magnetometer berbasis mikrokontroler untuk menampilkan posisi benda menggunakan inertial navigation system (INS)
1
DAFTAR RIWAYAT HIDUP
IDENTITAS DIRI :
NAMA : YUGA ADITYA PRAMANA
TTL : SUMEDANG, 13 MEI 1989
AGAMA : ISLAM
JENIS KELAMIN : LAKI-LAKI
ANAK KE : 3 (DARI 4 BERSAUDARA)
STATUS : BELUM MENIKAH
ALAMAT : DUSUN TEGALPANJANG RT.01 RW.01 DESA CIKONENG, KECAMATAN GANEAS, KABUPATEN SUMEDANG
KEWARGANEGARAAN : INDONESIA
TELEPON :
-PONSEL : 085624656713
EMAIL : Yuga.AdityaPramana@gmail.com
PENDIDIKAN :
- TK KARTIKA DEWI KODIM TAHUN 1993-1994
- SD NEGERI MANANGGA SUMEDANG TAHUN 1994-2000 - SMP NEGERI 1 SUMEDANG TAHUN 2000-2003
- SMA NEGERI 1 CIMALAKA TAHUN 2003-2006
(2)
2 PENGALAMAN KERJA :
- TEKNISI INSTALASI PERANGKAT PESAWAT TELEPON DAN INTERNET MASUK DESA PROYEK DEKOMINFO TAHUN 2010-2011
- TEKNISI INSTALASI PERANGKAT PRINTER SIM DI POLRES AREA PRIANGAN TAHUN 2010-2011
- PESERTA KERJA PRAKTEK DI PT. PLN APJ SUMEDANG DI BAGIAN OPERASI DISTRIBUSI PADA BULAN JULI 2010
- ANGGOTA TIM TRAFFIC COUNTING LAPI-ITB DAN KIEC KRAKATAU STEEL DI BAGIAN TIM LAPANGAN DI KOTA CILEGON BANTEN BULAN FEBRUARI 2012
BANDUNG, AGUSTUS 2013 HORMAT SAYA,
(3)
TUGAS AKHIR
IMPLEMENTASI SENSOR
ACCELEROMETER, GYROSCOPE DAN MAGNETOMETER
BERBASIS MIKROKONTROLER
UNTUK MENAMPILKAN POSISI BENDA
MENGGUNAKAN INERTIAL NAVIGATION SYSTEM (INS)
Laporan ini disusun untuk memenuhi salah satu syarat kelulusan menempuh pendidikan program sarjana di Program Studi Teknik Elektro
Oleh:
Yuga Aditya Pramana 1.31.06.028
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
(4)
Assalamualaikum. Dengan mengucapkan SWT, karena berkat
menyelesaikan Tugas Akhir ACCELEROMETER, GYROS MIKROKONTROLER
MENGGUNAKAN INERTIAL NAVIGATION
Penulisan Tugas menyelesaikan studi Program Teknik dan Ilmu Komputer, Tugas Akhir ini, penulis bantuan dan dorongan moril Tugas Akhir ini dapat untuk menyampaikan ucapan
1. Kedua orang tua tulus.
2. Kakak dan adik yang selalu memberikan semangat dan mo 3. Bapak Muhammad
Elektro UNIKOM B
v
KATA PENGANTAR
laikum. Wr. Wb.
mengucapkan puji syukur Alhamdulillah segala puji bagi berkat Rahmat dan Ridho-Nya sehingga penulis
Tugas Akhir ini dengan judul “IMPLEMENTASI SENSOR ETER, GYROSCOPE DAN MAGNETOMETER BERBASIS
KONTROLER UNTUK MENAMPILKAN POSISI
INERTIAL NAVIGATION SYSTEM (INS)”.
Tugas Akhir ini dimaksudkan sebagai salah satu syarat studi Program Sarjana pada Jurusan Teknik Elektro,
Komputer, Universitas Komputer Indonesia. Dalam penulis seringkali menghadapi kesulitan-kesulitan. Namun
moril ataupun materiil dari berbagai pihak, maka diselesaikan. Dalam kesempatan ini izinkanlah ucapan terimakasih yang sebesar-besarnya kepada : orang tua yang selalu memberikan do’a dan kasih sayang
n adik yang selalu memberikan semangat dan motivasi Muhammad Aria, M.T. sebagai Ketua Program Studi Elektro UNIKOM Bandung dan pembimbing Tugas Akhir penulis.
puji bagi Allah penulis dapat NTASI SENSOR
R BERBASIS
POSISI BENDA
syarat dalam Elektro, Fakultas Dalam penulisan Namun atas maka penulisan izinkanlah penulis
kepada :
kasih sayang yang
otivasi.
Program Studi Teknik penulis.
(5)
vi
4. Ibu Tri Rahajoeningroem, M.T. sebagai Koordinator Tugas Akhir Program Studi Teknik Elektro UNIKOM Bandung dan Dosen Wali penulis.
5. Bapak dan Ibu Dosen Program Studi Teknik Elektro UNIKOM Bandung yang telah membekali ilmu pengetahuan kepada penulis selama menuntut ilmu di UNIKOM Bandung.
6. Sahabat satu atap Agah Junaedi Rohman, Hanra Syariandi, Rudi Rusdiana, Iip Irmansyah yang telah menjadi sahabat penulis dalam suka dan duka selama mengikuti perkuliahan.
7. Sahabat satu angkatan Wahyudin, Arief Amirrudin, Primayuda Permana, Ifey, Angga Nugraha, Dede Nugraha, Mulyana Syarif, Feri Firdian, Wida Pramudita, Agung Herdiana, Rudi Susilo, Iryaman, M. Hilman, serta teman-teman angkatan 2008 : Edi, Iqbal, Rida, Nanang, Ian, Yudha, Dede, Aulia, Sansan.
8. Sahabatku Keluarga ASBAK dan Bob Buster Crew.
Serta semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu dan mendukung dalam penyelesaian Tugas Akhir ini. Akhir kata dengan kerendahan hati, penulis memanjatkan do’a kehadirat Allah SubhanahuWata’ala semoga amal dan baik budi yang telah mereka berikan kepada penulis mendapat pahala dari-Nya.Amin.
Bandung, Agustus 2013
(6)
vii
DAFTAR ISI
LEMBAR JUDUL
LEMBAR PENGESAHAN
ABSTRACT ... iii
ABSTRAKSI ...iv
KATA PENGANTAR ...v
DAFTAR ISI ………... vii
DAFTAR GAMBAR ...x
DAFTAR TABEL ... xiii
DAFTAR SIMBOL ...xiv
BAB I PENDAHULUAN 1.1 LatarBelakang ... 1
1.2 Identifikasi Masalah ... 2
1.3 Rumusan Masalah ... 3
1.4 Tujuan ……….. ... 3
1.5 Batasan Masalah ……… . 4
1.6 Metode Penelitian ……… ... 4
(7)
viii
BAB II DASAR TEORI
2.1 Attitude and Heading Reference System(AHRS)... 7
2.2 Inertial Navigation System ... 9
2.3 Inertial Measurement Unit... 11
2.4 Rotasi Matrik dan Sudut Euler... 11
2.5 Direct Cosine Matrix-Inertial Measurement Unit………… ...12
2.6 Komunikasi Serial ... 21
2.7 Mikrokontroler ATmega328 ... 22
2.8 SensorAccelerometer………... ... 26
2.9 SensorGyroscope……….. . 28
2.10 SensorMagnetometer... 30
2.11 Bahasa Pemograman Arduino ... 31
2.11.1 Dasar Bahasa C ... 32
2.11.2 Perangkat Lunak Arduino IDE ... 38
2.12 Bahasa Pemograman Processing ………. ... 39
BAB III PERANCANGAN ALAT 3.1 Konfigurasi Sistem IMU ... 44
3.2 Perangkat Lunak Razor IMU ... 46
3.2.1 Program Arduino... 46
3.2.2 Program Processing... 58
3.3 Standar Kalibrasi ... 61
BAB IV PENGUJIAN DAN ANALISA 4.1 Pengujian Sistem Komunikasi ... 62
(8)
ix
4.3 Pengujian Kirim Command...………... 65
4.4 Pengujian Program Processing...………... 73
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 76
5.2 Saran ... 76
DAFTAR PUSTAKA………... ... 77
(9)
77
DAFTAR PUSTAKA
Woodman, Oliver J. (2007), An introduction to inertial navigation, University Of Cambridge Computer Laboratory.
W. Premerlani and Paul Bizar. Direction Cosine Matrix IMU : Theory.
Seifert, Kurt., Camacho Oscar. (2007), Implementing Positioning Algorithms Using Accelerometers, freescale Semiconductor, Rev 0.
9 Degrees of Freedom-Razor IMU-Manual Book.
.Winoto, Ardi. (2010). Mikrokontroler AVR ATmega8/32/18/8535 dan Pemrogramannya dengan Bahasa C pada WinAVR. Penerbit : Informatika. Bandung.
(10)
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sensor adalah jenis tranduser yang digunakan untuk mengubah besaran mekanis, magnetis, panas, sinar, dan kimia menjadi tegangan dan arus listrik. Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran atau pengendalian. Perkembangan teknologi MEMS (Micro Electro Mechanical System) menyebabkan sensor mempunyai ukuran kecil dan mempunyai kehandalan tinggi sehingga dapat dimanfaatkan di berbagai aplikasi, salah satunya dalam Inertial Navigation System (INS).
INS adalah sebuah sistem navigasi yang berbasis komputer dan beberapa keluaran dari sensor Inertial Measurement Unit (IMU). Sistem navigasi ini digunakan dalam Attitude and Heading Reference System (AHRS) untuk mengetahui informasi dan visualisasi yang akurat seperti kecepatan, ketinggian, arah dan sudut, contohnya dalam teknologi avionik dan kendaraan tanpa awak.
Informasi dan visualisasi tersebut sangatlah penting karena ada kondisi-kondisi tertentu saat indera perasa manusia mengalami salah persepsi dalam penerbangan sehingga sangat tidak mungkin untuk mengandalkan indera perasa manusia sebagai alat bantu navigasi penerbangan. Sedangkan pada konteks kendaraan tanpa awak, peranan AHRS dibutuhkan untuk memberikan informasi dan visualisasi perilaku obyek kepada pemantau yang berada pada jarak yang tidak memungkinkan untuk melihat obyek secara langsung. Oleh karena itu diperlukan
(11)
2
sensor IMU yang dapat membantu dalam sistem navigasi untuk memberikan informasi dan dapat mengirimkan data ke tempat pengamatan secara kontinyu.
Untuk dapat melakukan hal tersebut, terdapat beberapa sensor yang dapat digunakan dalam sistem navigasi. Sensor yang dapat digunakan dalam sistem navigasi diantaranya sensor accelerometer, gyroscope dan magnetometer. Sensor tersebut dapat mengukur percepatan, kecepatan sudut, dan kekuatan atau arah medan magnet. Implementasi dari sensor ini dapat diterapkan dalam menentukan posisi dan arah suatu obyek yang bergerak. Sehingga berdasarkan data attitudeyang diterima oleh operator, dapat dibentuk informasi dan visualisasi dalam aplikasi yang dibuat di tempat pengamatan dari obyek yang diamati.
1.2 Identifikasi Masalah
Masalah-masalah yang dapat diidentifikasi dari latar belakang di atas antara lain sebagai berikut.
1. Keterbatasan penginderaan manusia dapat menjadi kendala ketika mengamati obyek pada jarak yang tidak bisa terjangkau.
2. Setiap sensor memiliki kekurangan dan kelebihan dalam performansi dan memiliki batas derajat kebebasan (degrees of freedom).
3. Permasalahan pada sensor IMU yang umum terjadi antara lain adalah ketidakmampuan processing unit untuk mengolah data dengan cepat (output data rate rendah) dan beban komputasi yang tinggi (algoritma sensor fusion yang berat).
(12)
3
1.3 Rumusan Masalah
Berdasarkan identifikasi masalah diatas rumusan masalah dari penelitian ini adalah sebagai berikut.
1. Bagaimana cara mengetahui posisi dan arah suatu benda dengan menggunakan sensor IMU?
2. Bagaimana cara suatu komputasi algoritma sensor fusiondapat menghasilkan informasi data dari setiap sensor.
3. Bagaimana cara menampilkan data yang ditransmisikan oleh sensor IMU ke dalam sebuah aplikasi softwaredalam bentuk visualisasi grafis.
1.4 Tujuan
Tujuan dari penelitian ini adalah sebagai berikut.
1. Dapat mengimplementasikan sensor IMU untuk menampilkan posisi dan arah suatu benda dengan metode Inertial Navigation System.
2. Dapat mengimplementasikan algoritma Direct Cosine Matrix, sehingga dapat mengetahui percepatan, kecepatan sudut, dan arah pada suatu obyek yang bergerak.
(13)
4
1.5 Batasan Masalah
Dalam penelitian ini diperlukan suatu batasan masalah agar tidak terlalu luas pembahasannya. Adapun batasan masalahnya adalah sebagai berikut.
1. Modul IMU yang digunakan adalah Razor-IMU 9DoF
2. Algoritma IMU sensor fusion yang digunakan adalah algoritma orientasi dengan representasi Direct Cosine Matrix.
3. Aplikasi dikembangkan menggunakan bahasa pemograman C/C++ yang dikompilasi dengan perangkat lunak Processing sebagai pengolahan data dan tampilan yang dilakukan di personal komputer.
4. Transmisi data dikirim melalui port USB.
1.6 Metode Penelitian
Penelitian ini dilakukan dengan beberapa metode penelitian, baik untuk kebutuhan perancangan maupun mengumpulkan data yang kemudian dirangkum kedalam suatu bentuk penulisan yang sistematik. Di bawah ini adalah metode-metode penelitian yang digunakan dalam tugas akhir ini.
a. Studi Literatur
Studi ini digunakan untuk mempelajari literatur yang bersumber dari, artikel, jurnal, serta menemukan berbagai literatur di situs-situs internet yang berhubungan dengan tema penelitian.
(14)
5
b. Perancangan Sistem
Mempelajari dan meneliti spesifikasi dari sensor IMU yang akan digunakan baik dari segi hardwaremaupun software.
c. Pengujian Alat/Instrumen
Pengujian sensor accelerometer, gyroscope, magnetometerdan pengujian komunikasi data. Setelah itu dilakukan pengujian secara keseluruhan sistem untuk memperoleh data yang dapat dianalisa serta mendapatkan data yang diinginkan.
d. Analisa dan Kesimpulan
Mengumpulkan data yang diperoleh dari hasil pengujian simulasi dan menganalisa data yang diperoleh serta menyimpulkan hasil yang diperoleh.
1.7 Sistematika Penulisan Laporan
Sistematika pembahasan yang akan diuraikan penulis dalam laporan ini terbagi dalam bab-bab yang akan dibahas, yaitu sebagai berikut.
BAB I PENDAHULUAN
Pada bab ini diuraikan mengenai latar belakang, identifikasi masalahan, rumusan masalah, tujuan, batasan masalah, metode penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini memaparkan dan menjelaskan teori yang digunakan untuk penelitian tugas akhir, yaitu: AHRS (Attitude and Heading Reference System), Inertial Navigation System (INS), Inertial Navigation System (IMU), Rotasi Matrik dan
(15)
6
Sudut Euler, Direct Cosine Matrix-IMU, Komunikasi Serial, Mikrokontroler, Sensor Accelerometer, Gyroscope dan Magnetometerserta teori tentang Arduino dan perangkat lunak Processing.
BAB III PERANCANGAN SISTEM
Pada bab ini diuraikan mengenai sensor IMU yaitu Razor IMU 9DoF meliputi konfigurasi sistem dan menjelaskan program firmware dari sensor tersebut yaitu program ardunino dan program processing.
BAB IV PENGUJIAN DAN ANALISA
Pada bab ini berisi mengenai hasil pengujian dan analisa data yang dihasilkan oleh sistem yang digunakan.
BAB V KESIMPULAN DAN SARAN
Pada bab ini berisi mengenai kesimpulan dan saran dari penelitian tugas akhir yang telah dilakukan.
(16)
76
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan pengujian terhadap device yang digunakan, penulis dapat mengambil beberapa kesimpulan, diantaranya sebagai berikut.
1. Modul sensor Razor IMU dapat diimplementasikan sebagai sensor Inertial Measurement Unit dengan metode Inertial Navigation System.
2. Berdasarkan dari tujuan tugas akhir ini, untuk mengetahui nilai percepatan dan kecepatan sudut tidak dengan cara komputasi algoritma Direct Cosine Matrixyang terdapat dalam program Arduino, karena algoritma ini bertujuan untuk dapat mengetahui representasi orientasi berupa sudut roll, pitch dan yawpada suatu obyek yang bergerak.
3. Aplikasi software Processing dapat menampilkan pergerakan obyek dalam bentuk visual grafis.
5.2 Saran
Pada bab ini penulis ingin memberikan saran yang nantinya dapat dijadikan pengembangan selanjutnya. Saran tersebut diantaranya adalah.
1. Modul Razor IMU dapat diaplikasikan dalam sistem gerak quadqopter atau aplikasi yang membutuhkan sistem navigasi.
2. Untuk aplikasi tampilan bisa diaplikasikan ke dalam aplikasi software lain sepeti Visual Basicatau Labview.
(17)
IMPLEMENTASI SENSOR
ACCELEROMETER, GYROSCOPE DAN MAGNETOMETER
BERBASIS MIKROKONTROLER
UNTUK MENAMPILKAN POSISI BENDA
MENGGUNAKAN
INERTIAL NAVIGATION SYSTEM (INS)
Yuga Aditya Pramana
Program Studi Teknik Elektro, Universitas Komputer Indonesia
Yuga.AdityaPramana@gmail.com
ABSTRAKSI
Sensor adalah jenis tranduser yang digunakan untuk mengubah besaran mekanis, magnetis,
panas, sinar, dan kimia menjadi tegangan dan arus listrik. Perkembangan teknologi MEMS (Micro
Electro Mechanical System) sensor dapat digunakan dalam Inertial Navigation System
(INS). INS
adalah sebuah sistem navigasi yang berbasis komputer dan beberapa keluaran dari sensor
Inertial
Measurement Unit
(IMU). Sistem navigasi ini digunakan dalam
Attitude and Heading Reference
System
(AHRS) untuk mengetahui informasi dan visualisasi seperti kecepatan, ketinggian, arah dan
sudut, contohnya dalam teknologi avionik dan kendaraan tanpa awak. Informasi dan visualisasi
tersebut sangatlah penting karena ada kondisi-kondisi tertentu saat indera perasa manusia
mengalami salah persepsi dalam penerbangan sehingga sangat tidak mungkin untuk mengandalkan
indera perasa manusia sebagai alat bantu navigasi penerbangan. Untuk dapat membantu hal
tersebut, terdapat beberapa sensor yang dapat digunakan dalam sistem navigasi diantaranya yaitu
sensor
accelerometer,
gyroscope
dan
magnetometer. Sensor tersebut dapat mengukur percepatan,
kecepatan sudut, dan kekuatan atau arah medan magnet. Pada penelitian ini sensor IMU yang
digunakan adalah Razor-IMU 9DoF, dimana sensor tesebut memiliki 9 derajat kebebasan. Data
keluaran dari sensor tersebut akan menghasilkan sudut
roll,
pitch
dan
yaw
berdasarkan dari
komputasi algortima Direct Cosine Matrix.
ABSTRACT
Sensor is a type of transducer that is used to change the amount of mechanical, magnetic, heat, light, and chemicals into the voltage and amperage. The development of MEMS technology (Micro Electro Mechanical System) sensors can be used in Inertial Navigation System (INS). INS is a computer-based navigation systems and the output of the Inertial Measurement Unit (IMU) sensor. The navigation system used in the Attitude and Heading Reference System (AHRS) to find out information and visualizations such as speed, altitude, direction and angle, for example in avionics technology and unmanned vehicles. Information and visualization is very important because there are certain conditions when humans experience any sense of taste perception in flight so it is not possible to rely on the human sense of taste as a navigation aid flight. To be able to help it, there are several sensors that can be used in navigation systems among which sensor accelerometer, gyroscope and magnetometer. The sensors can measure acceleration, angular velocity, and the strength or direction of the magnetic field. In this study IMU sensor used a Razor-IMU 9DoF, where the proficiency level sensor has 9 degrees of freedom. Data output from the sensor will produce angles roll, pitch and yaw based on the Direct Cosine Matrix computation algorithms.
Kata kunci:
Inertial Navigation System
(INS),
Inertial Measurement Unit
(IMU),
Direct Cosine
Matrix, Razor-IMU 9DoF
(18)
1.
PENDAHULUAN
1.1
Latar Belakang
Sensor adalah jenis tranduser yang
digunakan untuk mengubah besaran mekanis,
magnetis, panas, sinar, dan kimia menjadi
tegangan dan arus listrik. Sensor sering
digunakan untuk pendeteksian pada saat
melakukan pengukuran atau pengendalian.
Perkembangan teknologi MEMS (Micro
Electro Mechanical System) menyebabkan
sensor
mempunyai
ukuran
kecil
dan
mempunyai kehandalan tinggi sehingga dapat
dimanfaatkan di berbagai aplikasi, salah
satunya dalam
Inertial Navigation System
(INS).
INS adalah sebuah sistem navigasi yang
berbasis komputer dan beberapa keluaran dari
sensor
Inertial Measurement Unit
(IMU).
Sistem navigasi ini digunakan dalam
Attitude
and Heading Reference System
(AHRS) untuk
mengetahui informasi dan visualisasi yang
akurat seperti kecepatan, ketinggian, arah dan
sudut, contohnya dalam teknologi avionik dan
kendaraan tanpa awak.
Informasi
dan
visualisasi
tersebut
sangatlah penting karena ada kondisi-kondisi
tertentu saat indera perasa manusia mengalami
salah persepsi dalam penerbangan sehingga
sangat tidak mungkin untuk mengandalkan
indera perasa manusia sebagai alat bantu
navigasi
penerbangan.
Sedangkan
pada
konteks kendaraan tanpa awak, peranan AHRS
dibutuhkan untuk memberikan informasi dan
visualisasi perilaku obyek kepada pemantau
yang
berada
pada
jarak
yang
tidak
memungkinkan untuk melihat obyek secara
langsung. Oleh karena itu diperlukan sensor
IMU yang dapat membantu dalam sistem
navigasi untuk memberikan informasi dan
dapat
mengirimkan
data
ke
tempat
pengamatan secara kontinyu.
Untuk dapat melakukan hal tersebut,
terdapat beberapa
sensor
yang dapat
digunakan dalam sistem navigasi. Sensor
yang dapat digunakan dalam sistem navigasi
diantaranya sensor accelerometer, gyroscope
dan
magnetometer. Sensor tersebut dapat
mengukur percepatan, kecepatan sudut, dan
kekuatan
atau
arah
medan
magnet.
Implementasi
dari
sensor
ini
dapat
diterapkan dalam menentukan posisi dan
arah suatu obyek yang bergerak. Sehingga
berdasarkan data attitude
yang diterima oleh
operator, dapat dibentuk informasi dan
visualisasi dalam aplikasi yang dibuat di
tempat pengamatan dari obyek yang diamati.
1.2
Tujuan
Tujuan dari penelitian ini adalah sebagai berikut.
1. Dapat mengimplementasikan sensor IMU
untuk menampilkan posisi dan arah suatu
benda dengan metode
Inertial Navigation
System.
2. Dapat
mengimplementasikan
algoritma
Direct Cosine Matrix, sehingga dapat
mengetahui percepatan, kecepatan sudut,
dan arah pada suatu obyek yang bergerak.
3. Dapat ditampilkan dalam bentuk visualisasi
grafis di aplikasi ground station.
1.3
Batasan Masalah
Dalam penelitian ini diperlukan suatu
batasan masalah agar tidak terlalu luas
pembahasannya.
Adapun
batasan
masalahnya adalah sebagai berikut.
1. Modul IMU yang digunakan adalah
Razor-IMU 9DoF.
2. Algoritma IMU
sensor fusion
yang
digunakan adalah algoritma orientasi
dengan
representasi
Direct
Cosine
Matrix.
3. Aplikasi dikembangkan menggunakan
bahasa
pemograman
C/C++
yang
dikompilasi dengan perangkat lunak
Processing
sebagai pengolahan data dan
tampilan yang dilakukan di personal
komputer.
(19)
2.
DASAR TEORI
2.1
Attitude and Heading Reference
System
(AHRS)
AHRS digunakan pada aplikasi penerbangan pada umumnya untuk sistem kendali perilaku dan arah pesawat. Informasi yang diberikan oleh sistem AHRS pada kebanyakan sistem penerbangan pada umumnya diperoleh dari sistem INS yang terpasang pada pesawat. Sistem INS ini sendiri terdiri dari sensor-sensor inersia yang memanfaatkan perubahan inersia untuk memberikan informasi tentang keadaan dan perilaku pesawat.
Gambar 2. 1Roll, Pitchdan Yaw
2.2
Inertial Navigation System
(INS)
INS atau ada juga yang menyebutnya dengan INU (Inertial Navigation Unit) adalah sebuah sistem navigasi yang berbasis computer dan beberapa keluaran sensor dari IMU (Inertial Measurement Unit) yang secara kontinyu mengetahui posisi, kecepatan dan attitude dari suatu benda.
2.3
Inertial Measurement Unit
(IMU)
IMU adalah instrumentasi elektronik yang digunakan untuk mengukur kecepatan, orientasi, dan gaya gravitasi dengan menggunakan accelerometer dan gyroscope. Namun seiring dengan perkembangan zaman sensor IMU didukung dengan sensor yang dapat mengukur kuat medan magnet, tekanan, dan beberapa fungsi lainnya.
IMU biasa digunakan untuk keperluan pesawat terbang, pesawat penjelajah angkasa, pesawat tanpa awak dan satelit. IMU adalah komponen penting dalam INS dan digunakan untuk mendeteksi lintasan dengan dead reckoning. Pengembangan dan penelitian sensor IMU sampai saat ini masih terus dilakukan dengan tujuan untuk mendapatkan sensor IMU
yang ideal, akurat, bentuk minimalis, pembacaan cepat, tahan derau dan hemat dalam penggunaan energi. Metode ini merupakan metode yang digunakan dalam proses integrasi data percepatan hingga menjadi posisi.
2.4
Rotasi Matrik dan Sudut
Euler
Sudut
Euler
adalah 3 sudut yang
membentuk rotasi sebuah objek dalam ruang
(
). Sehingga dibutuhkan 3 parameter
untuk merepresentasikan orientasi sebuah
objek pada sistem 3 dimensi sudut-sudut itu
antara lain:
Rotasi melalui sumbu x, disebut dengan
roll
().
Rotasi melalui sumbu y, disebut dengan
pitch (q
)
.
Rotasi melalui sumbu z, disebut dengan
yaw
(
).
2.5
Direct Cosine Matrix
Matrix atau sering juga disebut DCM (Direction Cosine Matrix) adalah matrix 3x3 yang merpresentasikan rotasi sekuensial dari roll, pitch dan yaw. Representasi ini tidak mengalami masalah singularitas, tetapi tidak intuitif dan menggunakan sembilan nilai untuk menggambarkan attitude (Adiprawita dkk.,2007).
DCM ditulis dalam bentuk matrix rotasi yang mendeskripsikan orientasi dari kerangka kordinat b (body) terhadap kerangka navigasi n. Orde rotasi adalah zz, yy dan kemudian xx yang dalam sudut Euler adalah yaw (ψ), pitch (θ), roll (f). Matrix rotasi dapat dinyatakan sebagai (Adiprawita dkk., 2007, Liu dkk., 2008 dan Kang dkk., 2009).
=
q − f + q f + cosfsinq
q f + q f + f q
− q f q f q
2.6
Komunikasi Serial
Komunikasi data serial sangat berbeda
dengan format pemindahan data pararel.
Disini, pengiriman bit-bit tidak dilakukan
sekaligus melalui saluran pararel, tetapi
setiap bit dikirimkan satu persatu melalui
saluran tunggal.
(20)
Dalam pengiriman data secara
harus ada sinkronisasi atau penyesuaian
antara pengirim dan penerima agar data
dikirimkan dapat diterima dengan
benar oleh penerima. Salah satu
transmisi dalam komunikasi serial
mode asynchronous.
Gambar 2. 6 Format Pengiriman D
2.7
Mikrokontroler ATmega328
ATmega328 adalah mikrokont
keluaran dari atmel
yang
arsitektur RISC (Reduce Instruction
Computer) yang
dimana setiap
eksekusi data lebih cepat dari pada
CISC (Completed Instruction Set
Mikrokontroller ini memiliki beberapa
antara lain :
130 macam instruksi yang
semuanya dieksekusi dalam
clock.
32 x 8-bit register serba guna.
Kecepatan mencapai 16 MIPS
clock 16 MHz.
32 KB
Flash memory dan pada
memiliki bootloader yang menggunakan
2 KB dari flash memori
bootloader.
Memiliki
EEPROM
(
Erasable Programmable Read
Memory) sebesar 1KB sebagai
penyimpanan data semi
karena
EEPROM
tetap
menyimpan data meskipun
dimatikan.
Memiliki
SRAM
(Static Random
Memory) sebesar 2KB.
data secara serial
atau penyesuaian
penerima agar data yang
dengan tepat dan
Salah satu mode
komunikasi serial adalah
Gambar 2. 6 Format Pengiriman Data Serial
Mikrokontroler ATmega328
mikrokontroller
yang mempunyai
Instruction Set
dimana setiap proses
dari pada arsitektur
Instruction Set Computer).
memiliki beberapa fitur
instruksi yang hampir
dalam satu siklus
bit register serba guna.
16 MIPS dengan
dan pada arduino
menggunakan
memori sebagai
(Electrically
Programmable Read Only
1KB sebagai tempat
semi permanent
tetap
dapat
meskipun catu daya
Random Access
Gambar 2. 7 Konfigurasi Pin AT
2.8
Sensor
Accelerometer
Percepatan merupakan dimana terjadi suatu perubahan kecepatan terhadap waktu. Sedangkan terjadi perubahan berkurangny terhadap waktu pada keadaan perlambatan. Sedangkan sensor sendiri merupakan suatu piranti digunakan untuk mengukurterjadi pada keadaan tertentu. Sensor dapat digunakan untuk mendapatkan suatu benda dengan melakukan
percepatan itu sendiri sebanyak dua kali terhadap waktu. Salah satu contoh dari sensor
yang dapat digunakan adalah ADXL345 axis accelerometer), untuk konfigurasi blok diagram sensor ini dapat dilihat 2. 9. Beberapa fitur dari sensor adalah sebagai berikut.
Gambar 2. 8 Konfigurasi Pin AD
2.9
Sensor
Gyroscope
Gyroscope merupakan elektronik yang berfungsi untuk kecepatan sudut dengan satuan dialami oleh suatu benda padayaw. Sehingga dengan memanfaatkan nfigurasi Pin ATmega328
Accelerometer
(percepatan)
merupakan suatu keadaan perubahan bertambahnya waktu. Sedangkan apabila berkurangnya kecepatan keadaan tertentu disebut an sensor percepatan piranti elektronik yang ukur percepatan yang tertentu. Sensor percepatan mendapatkan posisi dari melakukan integral percepatan itu sendiri sebanyak dua kali terhadap contoh dari sensor percepatan adalah ADXL345 (triple-untuk konfigurasi pin dan
dapat dilihat di Gambar dari sensor ini diantaranya
nfigurasi Pin ADXL345
merupakan suatu alat berfungsi untuk mengukur dengan satuan (°/s) yang benda pada pitch, roll dan dengan memanfaatkan data
(21)
kecepatan sudut tersebut dapat diketahui sudut kemiringan suatu benda.
Gambar 2. 9 Konfigurasi Pin Sensor ITG-3200
2.10
Sensor Magnetometer
Sensor IMU umumnya terdiri dari kombinasi sensor percepatan (accelerometer), sensor angular (gyroscope) dan sebagian ada yang dilengkapi dengan sensor penentuan medan magnet (magnetometer) untuk menjejaki keberadaan dan pergerakan suatu benda. Magnetometer adalah instrumen ilmiah yang digunakan untuk mengukur kekuatan atau arah medan magnet di sekitar alat tersebut. Salah satu contoh sensor magnetometer yang dapat digunakan adalah sensor HMC58883L (triple-axis magnetometer). untuk konfigurasi pin sensor ini dapat dilihat di Gambar 2. 12, sedangkan beberapa fitur dari sensor ini diantaranya adalah sebagai berikut.
Gambar 2.10 Konfigurasi Pin Sensor HMC5883L
2.11
Bahasa Pemograman
Arduino
Arduino
Uno adalah salah satu jenis
dari versi keluarga lainnya,
board
ini
berbasis mikrokontroler pada ATmega328 ,
memiliki 14 digital input/output
pin (dimana
6 pin dapat digunakan sebagai output PWM),
6 input
analog, 16 MHz
osilator
kristal,
konektor
USB, konektor catu daya dan
tombol reset. Pin-pin ini berisi semua yang
diperlukan untuk mendukung mikrokontroler
untuk terhubung ke komputer dengan kabel
USB
atau sumber tegangan bisa didapat dari
adaptor
AC-DC
atau
baterai
untuk
menggunakannya. Arduino menggunakan
pemograman dengan bahasa C. Berikut
tampilan dari board Arduino Uno.
Gambar 2. 11 Tampilan Framework Arduino IDE
2.12
Bahsa Pemograman
Processing
Processing
adalah
bahasa
pemrograman dan lingkungan pemrograman
(development environment)
open source
untuk memprogram gambar, animasi dan
interaksi. Digunakan oleh pelajar, seniman,
desainer, peneliti, dan hobbyist untuk
belajar, membuat
prototype
dan produksi.
Processing
digunakan untuk mengajarkan
dasar-dasar pemrograman komputer dalam
konteks rupa dan berfungsi sebagai buku
sketsa
perangkat
lunak
(software)
dan
tool
produksi
profesional.
Processing
bebas untuk di
download
dan tersedia untuk
GNU/Linux, Mac OS dan Windows.
(22)
Gambar 2. 12 Tampilan Perangkat Lunak Processing
3.
PERANCANGAN ALAT
Pada bab ini akan membahas sistem
IMU yang dapat diamati pada Gambar 3. 1,
dimana pengiriman data dari
accelerometer
untuk pengukuran percepatan,
gyroscope
untuk pengukuran kecepatan sudut dan
magnetometer
untuk pengukuran medan
magnet akan diolah dalam mikrokontroler
menggunakan metode algoritma
Direct
Cosine Matrix
dengan keluaran berupa sudut
roll,
pitch
dan
yaw. Setelah mendapatkan
sudut orientasi sistem IMU akan mengirim
data melalui
USB to Serial
ke personal
komputer.
Gambar 3. 1 Diagram Blok Sistem IMU
3.1
Konfigurasi Sistem IMU
Dalam tugas akhir ini akan digunakan
sensor IMU jenis Razor IMU 9DoF, sensor
IMU jenis ini menggabungkan tiga sensor
yaitu
ITG-3200
(triple-axis
gyro),
ADXL345
(triple-axis accelerometer)
dan
HMC5883L
(triple-axis magnetometer )
yang sudah terintegrasi dan berfungsi
memberikan sembilan derajat pengukuran
inersia.
Output
dari semua sensor diproses
oleh on-board
ATmega328 dan di outputkan
kembali melalui
port USB
ke personal
komputer. konfigurasi sistem dapat diamati
pada Gambar 3. 2.
Gambar 3. 2 Konfigurasi Sistem IMU
3.2
Perangkat Lunak Razor IMU
Pada bagian ini akan dijelaskan
program
firmware
Razor AHRS yang terdiri
dari dua bagian yaitu dari aplikasi
software
Arduino dan Processing. Pada bagian
aplikasi
software
Arduino
akan
menampilkan data melalui serial monitor
dan
pada
bagian
aplikasi
software
Processing akan menampilkan simulasi
pergerakan obyek yaitu modul Razor itu
sendiri dengan visualisasi grafis.
3.2.1
Program Arduino
Pada
bagian
aplikasi
software
Arduino data keluarannya ditampilkan di
dalam serial monitor. Didalam program
tersebut 5 subprogram yaitu program
Compass,
DCM,
Mathematic,
Output
dan
Sensors.
Fungsi
dari
masing-masing
subprogram adalah sebagai berikut.
1.
Sensors : Mendeklarasikan variabel untuk
inisialisasi I2C dari setiap sensor.
2.
Output :
Mendeklarasikan mode
output
seperti
ouput angles,
output calibration
dan output sensors.
3.
Mathematic :
Mendeklarasikan varibel
yang berfungsi sebagai komputasi dot
dan
cross product
serta inisialisasi rotasi
matrik.
4.
DCM :
Mendeklarasikan varibel yang
berfungsi
sebagai
algoritma
Direct
Cosine
Matrix
yang
terdiri
dari
Personal Komputer
(23)
Normalize,
Drift correction,
Matrix
update
dan Euler_Angles.
5.
Compass :
Mendeklarasikan variabel
Compass Heading
untuk kompensasi
kemiringan medan magnet di sumbu X
dan Y dan sebagai penunjuk arah medan
magnet.
3.2.2
Program Processing
Processing
adalah
bahasa
pemrograman dan lingkungan pemrograman
(development environment)
open source
untuk memprogram gambar, animasi dan
interaksi. Digunakan oleh pelajar, seniman,
desainer, peneliti, dan hobbyist untuk
belajar, membuat
prototype
dan produksi.
Oleh karena itu, aplikasi software
Processing
akan digunakan untuk menampilkan
visualisasi grafis pergerakan dari modul
Razor IMU. Tampilan pada program
Processing dan flowchartnya dapat dilihat di
Gambar 3. 3.
Gambar 3. 3 Tampilan Aplikasi Software
Processing
4.
PENGUJIAN DAN ANALISA
Pada
bab
ini
akan
membahas
pengujian dan analisa dari sistem yang
digunakan. Pengujian ini terbagi menjadi
beberapa bagian seperti : pengujian sistem
komunikasi serial, pengujian kalibrasi sensor
accelerometer,
gyroscope
dan
magnetometer, pengujian kirim
command
dan pengujian program Processing.
4.1 Pengujian Sistem Komunikasi Serial
Untuk pengujian sistem komunikasi
antara modul Razor IMU dengan port
serial
komputer
dapat
dilakukan
dengan
memanfaatkan aplikasi
software
Arduino
dengan cara memilih menu “Tools” lalu
“Serial Monitor” dengan men-set
baudrate
57600.
Pada pengujian ini
diberikan
command
#ot untuk menampilkan sudut
output
dalam format teks. Berikut tampilan
dari pengujian serial monitor.
Gambar 4. 1 Pengujian Sistem Komunikasi
4.2
Pengujian Kalibrasi Sensor
Untuk mendapatkan nilai minimum
dan maksimum agar bisa menggunakan
modul sensor ini maka dilakukan proses
kalibrasi dengan cara mengirim
command
#on untuk kalibrasi setiap sensor. Berikut ini
salah satu langkah kalibrasi sensor pada
accelerometer.
Gambar 4. 2 Pengujian Kalibrasi Sensor
Accelerometer
(24)
4.3
Pengujian Kirim
Command
Pada bagian ini langkah pengujian
yang akan dilakukan adalah dengan cara
mengirimkan setiap
command
yang terdapat
dalam program Arduino. Berikut ini salah
satu fungsi pengujian kirim command #ob
untuk menampilkan
output
dengan format
binary.
Gambar 4.3 Tampilan Serial Monitor saat
Command
#ob
Untuk mngetahui nilai keluaran dari
percepatan, kecepatan sudut , dan posisi
dalam orientasi sudut
roll,
pitch
dan
yaw
dapat dilihat nilai perubahannya dengan
menggunakan
command
#os yang berfungsi
untuk menampilkan mode
output
sensor
secara format teks.
#acc adalah nilai keluaran dari sensor
accelerometer
#gyr adalah nilai keluaran dari sensor
gyroscope
#mag adalah nilai keluaran dari sensor
magnetometer
Agar dapat melihat adanya nilai
perubahan dari setiap sensor dengan tidak
secara berlanjut yaitu dengan menggunakan
command
#o0, selanjutnya dengan kirim #f
agar dapat melihat nilai perubahan dari
setiap sensor satu persatu.
Gambar 4.4 Tampilan Mode Ouput Sensor
Dalam keadaan diam terlihat nilai rata-rata
dari sensor accelerometer dan gyroscope
adalah sebagai berikut.
#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.84
Sudut Pitch= 0.41 Sudut Yaw= -156.33
#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.63
Sudut Pitch= 0.24 Sudut Yaw= -156.63
#Accel X= 0.00 || #Accel Y= 10.24 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.70
Sudut Pitch= 0.35 Sudut Yaw= -156.91
#Accel X= 0.00 || #Accel Y= 13.31 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.21
Sudut Pitch= 0.39 Sudut Yaw= -157.07
#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.56
Sudut Pitch= 0.40 Sudut Yaw= -157.18
Berdasarkan dari proses tersebut untuk
melihat adanya perubahan besar nilai
keluarannya
yaitu
dengan
cara
menggerakkan modul Razor terhadap sumbu
x, y dan z. Nilai-nilai tersebut didapat
berdasarkan dari fungsi variabel proses
kompensasi
error
sensor
terhadap
(25)
pembacaan nilai awal dari setiap sensor.
Berikut ini adalah varibel yang digunakan
dalam proses kompensasi
error
sensor pada
program Arduino.
Kompensasi Error Aceelerometer
accel[0]= accel[0] −accelxoffset ∗accelxscale; accel[1]= accel[1] −accelyoffset ∗accelyscale; accel[2]= accel[2] −accelzoffset ∗accelzscale;
Kompensasi Error Magnetometer
magnetom[0]= magnetom[0] −magnxoffset
∗magnxscale;
magnetom[1]= magnetom[1] −magnyoffset
∗magnyscale;
magnetom[2]= magnetom[2] −magnzoffset
∗magnzscale;
Kompensasi Error Gyroscope
gyro[0] −= gyroaverageoffsetx; gyro[1] −= gyroaverageoffsetx; gyro[2] −= gyroaverageoffsetx;
4.4 Pengujian Program Processing
Tujuan
dari
pengujian
program
Processing adalah untuk menampilkan
visualisasi grafis pergerakan dari modul
Razor IMU. Langkah-langkahnya adalah
sebagai
berikut.
Menjalankan
aplikasi
software
Processing dan membuka
file
“Razor_AHRS_test.pde”
di
folder
“Processing” dalam program
firmware
Razor AHRS.
Gambar 4. 13 Tampilan Awal Aplikasi
Software Processing
Proses
selanjutnya
adalah
menghubungkan modul Razor IMU ke
port
USB komputer. Ketika program tersebut di
run
maka ada proses untuk sinkronisasi
serial port, jika sesuai maka tampilan
programnya akan seperti Gambar 4. 14.
Gambar 4. 14 Proses Sinkronisasi modul
Razor dengan Program Processing
Proses
selanjutnya
akan
menampilkan
visualisasi grafis yang bergerak sesuai
dengan gerak nyata modul Razor IMU.
Gambar 4. 15 Tampilan Visualisasi Grafis
Program Processing
1 2 3
4 5
(26)
5.
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan pengujian terhadap
device yang digunakan, penulis dapat
mengambil
beberapa
kesimpulan,
diantaranya sebagai berikut.
1. Modul sensor Razor
IMU dapat
diimplementasikan
sebagai
sensor
Inertial Measurement Unit
dengan
metode Inertial Navigation System.
2. Berdasarkan dari tujuan tugas akhir ini,
untuk mengetahui nilai percepatan dan
kecepatan sudut tidak dengan cara
komputasi algoritma
Direct Cosine
Matrix
yang terdapat dalam program
Arduino, karena algoritma ini bertujuan
untuk dapat mengetahui representasi
orientasi berupa sudut
roll,
pitch
dan
yaw
pada suatu obyek yang bergerak.
3. Aplikasi
software
Processing dapat
menampilkan pergerakan obyek dalam
bentuk visual grafis.
5.2
Saran
Pada bab ini penulis ingin memberikan
saran
yang
nantinya
dapat
dijadikan
pengembangan selanjutnya. Saran tersebut
diantaranya adalah.
1. Modul Razor IMU dapat diaplikasikan
dalam sistem gerak quadqopter atau
aplikasi yang membutuhkan sistem
navigasi.
2. Untuk
aplikasi
tampilan
bisa
diaplikasikan ke dalam aplikasi software
lain sepeti Visual Basic
atau Labview.
DAFTAR PUSTAKA
Woodman, Oliver J. (2007), An introduction
to inertial navigation, University Of
Cambridge Computer Laboratory.
W. Premerlani and Paul Bizar. Direction
Cosine Matrix IMU : Theory.
Seifert, Kurt., Camacho Oscar. (2007),
Implementing Positioning Algorithms
Using
Accelerometers,
freescale
Semiconductor, Rev 0.
9 Degrees of Freedom-Razor IMU-Manual
Book.
Winoto, Ardi. (2010). Mikrokontroler AVR
ATmega8/32/18/8535
dan
Pemrogramannya dengan Bahasa C
pada WinAVR. Penerbit : Informatika.
Bandung.
Nama : Yuga Aditya
Pramana
TTL : Sumedang
13 Januari 1989
Program Studi
Teknik Elektro UNIKOM
(1)
kecepatan sudut tersebut dapat diketahui sudut kemiringan suatu benda.
Gambar 2. 9 Konfigurasi Pin Sensor ITG-3200 2.10 Sensor Magnetometer
Sensor IMU umumnya terdiri dari kombinasi sensor percepatan (accelerometer), sensor angular (gyroscope) dan sebagian ada yang dilengkapi dengan sensor penentuan medan magnet (magnetometer) untuk menjejaki keberadaan dan pergerakan suatu benda.
Magnetometer adalah instrumen ilmiah yang digunakan untuk mengukur kekuatan atau arah medan magnet di sekitar alat tersebut. Salah satu contoh sensor magnetometer yang dapat digunakan adalah sensor HMC58883L (triple-axis magnetometer). untuk konfigurasi pin sensor ini dapat dilihat di Gambar 2. 12, sedangkan beberapa fitur dari sensor ini diantaranya adalah sebagai berikut.
Gambar 2.10 Konfigurasi Pin Sensor HMC5883L 2.11 Bahasa PemogramanArduino
Arduino Uno adalah salah satu jenis dari versi keluarga lainnya, board ini berbasis mikrokontroler pada ATmega328 , memiliki 14 digital input/output pin (dimana 6 pin dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator kristal, konektor USB, konektor catu daya dan tombol reset. Pin-pin ini berisi semua yang
diperlukan untuk mendukung mikrokontroler untuk terhubung ke komputer dengan kabel
USB atau sumber tegangan bisa didapat dari adaptor AC-DC atau baterai untuk menggunakannya. Arduino menggunakan pemograman dengan bahasa C. Berikut tampilan dari board Arduino Uno.
Gambar 2. 11 Tampilan Framework Arduino IDE
2.12 Bahsa PemogramanProcessing
Processing adalah bahasa pemrograman dan lingkungan pemrograman (development environment) open source
untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototype dan produksi.
Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak (software) dantoolproduksi profesional.Processing
bebas untuk di downloaddan tersedia untuk
(2)
Gambar 2. 12 Tampilan Perangkat Lunak Processing
3. PERANCANGAN ALAT
Pada bab ini akan membahas sistem IMU yang dapat diamati pada Gambar 3. 1, dimana pengiriman data dari accelerometer
untuk pengukuran percepatan, gyroscope
untuk pengukuran kecepatan sudut dan
magnetometer untuk pengukuran medan magnet akan diolah dalam mikrokontroler menggunakan metode algoritma Direct Cosine Matrixdengan keluaran berupa sudut
roll, pitch dan yaw. Setelah mendapatkan sudut orientasi sistem IMU akan mengirim data melalui USB to Serial ke personal komputer.
Gambar 3. 1 Diagram Blok Sistem IMU
3.1 Konfigurasi Sistem IMU
Dalam tugas akhir ini akan digunakan sensor IMU jenis Razor IMU 9DoF, sensor IMU jenis ini menggabungkan tiga sensor yaitu ITG-3200 (triple-axis gyro), ADXL345 (triple-axis accelerometer) dan HMC5883L (triple-axis magnetometer )
yang sudah terintegrasi dan berfungsi memberikan sembilan derajat pengukuran inersia. Output dari semua sensor diproses oleh on-boardATmega328 dan di outputkan kembali melalui port USB ke personal komputer. konfigurasi sistem dapat diamati pada Gambar 3. 2.
Gambar 3. 2 Konfigurasi Sistem IMU
3.2 Perangkat Lunak Razor IMU
Pada bagian ini akan dijelaskan program firmwareRazor AHRS yang terdiri dari dua bagian yaitu dari aplikasi software
Arduino dan Processing. Pada bagian
aplikasi software Arduino akan
menampilkan data melalui serial monitor dan pada bagian aplikasi software
Processing akan menampilkan simulasi pergerakan obyek yaitu modul Razor itu sendiri dengan visualisasi grafis.
3.2.1 Program Arduino
Pada bagian aplikasi software
Arduino data keluarannya ditampilkan di dalam serial monitor. Didalam program tersebut 5 subprogram yaitu program
Compass, DCM, Mathematic, Output dan
Sensors. Fungsi dari masing-masing subprogram adalah sebagai berikut.
1. Sensors : Mendeklarasikan variabel untuk inisialisasi I2C dari setiap sensor.
2. Output : Mendeklarasikan mode output
seperti ouput angles, output calibration
dan output sensors.
3. Mathematic : Mendeklarasikan varibel yang berfungsi sebagai komputasi dotdan
cross product serta inisialisasi rotasi matrik.
4. DCM : Mendeklarasikan varibel yang berfungsi sebagai algoritma Direct Cosine Matrix yang terdiri dari
Personal Komputer
(3)
Normalize, Drift correction, Matrix updatedan Euler_Angles.
5. Compass : Mendeklarasikan variabel
Compass Heading untuk kompensasi kemiringan medan magnet di sumbu X dan Y dan sebagai penunjuk arah medan magnet.
3.2.2 Program Processing
Processing adalah bahasa pemrograman dan lingkungan pemrograman (development environment) open source
untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototype dan produksi. Oleh karena itu, aplikasi softwareProcessing akan digunakan untuk menampilkan visualisasi grafis pergerakan dari modul Razor IMU. Tampilan pada program Processing dan flowchartnya dapat dilihat di Gambar 3. 3.
Gambar 3. 3 Tampilan Aplikasi Software
Processing
4. PENGUJIAN DAN ANALISA
Pada bab ini akan membahas pengujian dan analisa dari sistem yang digunakan. Pengujian ini terbagi menjadi beberapa bagian seperti : pengujian sistem komunikasi serial, pengujian kalibrasi sensor
accelerometer, gyroscope dan
magnetometer, pengujian kirim command
dan pengujian program Processing.
4.1 Pengujian Sistem Komunikasi Serial
Untuk pengujian sistem komunikasi antara modul Razor IMU dengan port serial komputer dapat dilakukan dengan memanfaatkan aplikasi software Arduino dengan cara memilih menu “Tools” lalu “Serial Monitor” dengan men-set baudrate 57600. Pada pengujian ini diberikan
command #ot untuk menampilkan sudut
output dalam format teks. Berikut tampilan dari pengujian serial monitor.
Gambar 4. 1 Pengujian Sistem Komunikasi
4.2 Pengujian Kalibrasi Sensor
Untuk mendapatkan nilai minimum dan maksimum agar bisa menggunakan modul sensor ini maka dilakukan proses kalibrasi dengan cara mengirim command
#on untuk kalibrasi setiap sensor. Berikut ini salah satu langkah kalibrasi sensor pada
accelerometer.
Gambar 4. 2 Pengujian Kalibrasi Sensor
Accelerometer
(4)
4.3 Pengujian Kirim Command
Pada bagian ini langkah pengujian yang akan dilakukan adalah dengan cara mengirimkan setiap command yang terdapat dalam program Arduino. Berikut ini salah satu fungsi pengujian kirim command #ob untuk menampilkan output dengan format
binary.
Gambar 4.3 Tampilan Serial Monitor saat
Command#ob
Untuk mngetahui nilai keluaran dari percepatan, kecepatan sudut , dan posisi dalam orientasi sudut roll, pitch dan yaw
dapat dilihat nilai perubahannya dengan menggunakan command #os yang berfungsi untuk menampilkan mode output sensor secara format teks.
#acc adalah nilai keluaran dari sensor
accelerometer
#gyr adalah nilai keluaran dari sensor
gyroscope
#mag adalah nilai keluaran dari sensor
magnetometer
Agar dapat melihat adanya nilai perubahan dari setiap sensor dengan tidak secara berlanjut yaitu dengan menggunakan
command #o0, selanjutnya dengan kirim #f agar dapat melihat nilai perubahan dari setiap sensor satu persatu.
Gambar 4.4 Tampilan Mode Ouput Sensor Dalam keadaan diam terlihat nilai rata-rata dari sensor accelerometer dan gyroscope adalah sebagai berikut.
#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.84
Sudut Pitch= 0.41 Sudut Yaw= -156.33
#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.63
Sudut Pitch= 0.24 Sudut Yaw= -156.63
#Accel X= 0.00 || #Accel Y= 10.24 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.70
Sudut Pitch= 0.35 Sudut Yaw= -156.91
#Accel X= 0.00 || #Accel Y= 13.31 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.21
Sudut Pitch= 0.39 Sudut Yaw= -157.07
#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.56
Sudut Pitch= 0.40 Sudut Yaw= -157.18
Berdasarkan dari proses tersebut untuk melihat adanya perubahan besar nilai
keluarannya yaitu dengan cara
menggerakkan modul Razor terhadap sumbu x, y dan z. Nilai-nilai tersebut didapat berdasarkan dari fungsi variabel proses kompensasi error sensor terhadap
(5)
pembacaan nilai awal dari setiap sensor. Berikut ini adalah varibel yang digunakan dalam proses kompensasi error sensor pada program Arduino.
Kompensasi Error Aceelerometer
accel[0]= accel[0] −accelxoffset ∗accelxscale; accel[1]= accel[1] −accelyoffset ∗accelyscale; accel[2]= accel[2] −accelzoffset ∗accelzscale; Kompensasi Error Magnetometer
magnetom[0]= magnetom[0] −magnxoffset ∗magnxscale;
magnetom[1]= magnetom[1] −magnyoffset ∗magnyscale;
magnetom[2]= magnetom[2] −magnzoffset ∗magnzscale;
Kompensasi Error Gyroscope
gyro[0] −= gyroaverageoffsetx; gyro[1] −= gyroaverageoffsetx; gyro[2] −= gyroaverageoffsetx;
4.4 Pengujian Program Processing
Tujuan dari pengujian program Processing adalah untuk menampilkan visualisasi grafis pergerakan dari modul Razor IMU. Langkah-langkahnya adalah sebagai berikut. Menjalankan aplikasi
software Processing dan membuka file
“Razor_AHRS_test.pde” di folder
“Processing” dalam program firmware
Razor AHRS.
Gambar 4. 13 Tampilan Awal Aplikasi Software Processing
Proses selanjutnya adalah
menghubungkan modul Razor IMU ke port
USB komputer. Ketika program tersebut di
run maka ada proses untuk sinkronisasi
serial port, jika sesuai maka tampilan programnya akan seperti Gambar 4. 14.
Gambar 4. 14 Proses Sinkronisasi modul Razor dengan Program Processing Proses selanjutnya akan menampilkan visualisasi grafis yang bergerak sesuai dengan gerak nyata modul Razor IMU.
Gambar 4. 15 Tampilan Visualisasi Grafis Program Processing
1 2 3
4 5
(6)
5. KESIMPULAN DAN SARAN 5.1 Kesimpulan
Setelah melakukan pengujian terhadap device yang digunakan, penulis dapat
mengambil beberapa kesimpulan,
diantaranya sebagai berikut.
1. Modul sensor Razor IMU dapat diimplementasikan sebagai sensor Inertial Measurement Unit dengan metode Inertial Navigation System. 2. Berdasarkan dari tujuan tugas akhir ini,
untuk mengetahui nilai percepatan dan kecepatan sudut tidak dengan cara komputasi algoritma Direct Cosine Matrix yang terdapat dalam program Arduino, karena algoritma ini bertujuan untuk dapat mengetahui representasi orientasi berupa sudut roll, pitch dan
yawpada suatu obyek yang bergerak. 3. Aplikasi software Processing dapat
menampilkan pergerakan obyek dalam bentuk visual grafis.
5.2 Saran
Pada bab ini penulis ingin memberikan saran yang nantinya dapat dijadikan pengembangan selanjutnya. Saran tersebut diantaranya adalah.
1. Modul Razor IMU dapat diaplikasikan dalam sistem gerak quadqopter atau aplikasi yang membutuhkan sistem navigasi.
2. Untuk aplikasi tampilan bisa diaplikasikan ke dalam aplikasi software
lain sepeti Visual Basicatau Labview.
DAFTAR PUSTAKA
Woodman, Oliver J. (2007), An introduction to inertial navigation, University Of Cambridge Computer Laboratory.
W. Premerlani and Paul Bizar. Direction Cosine Matrix IMU : Theory.
Seifert, Kurt., Camacho Oscar. (2007),
Implementing Positioning Algorithms Using Accelerometers, freescale Semiconductor, Rev 0.
9 Degrees of Freedom-Razor IMU-Manual Book.
Winoto, Ardi. (2010). Mikrokontroler AVR
ATmega8/32/18/8535 dan
Pemrogramannya dengan Bahasa C pada WinAVR. Penerbit : Informatika. Bandung.
Nama : Yuga Aditya Pramana TTL : Sumedang
13 Januari 1989 Program Studi Teknik Elektro UNIKOM