kompas magnetik pertama kali ditemukan sebagai perlengkapan untuk ramalan pada awal dinasti han tiongkok (sejak sekitar 206 sm), li shu-hua, p. 176 dan kemudian diadopsi untuk navigasi oleh dinasti song selama abad ke-11.
kreutz, p. 367 needham, p. 252li shu-hua, p. 182f.
penggunaan pertama kompas tercatat di eropa barat dan persia terjadi sekitar awal abad ke-13.kreutz, p. 370
penemuan bahwa jarum magnetik selalu mengarah ke utara dan selatan terjadi di tiongkok dan diuraikan dalam buku loven heng. pada abad kesembilan, orang tiongkok telah mengembangkan kompas berupa jarum yang mengambang dan jarum yang berputar.
pelaut persia memperoleh kompas dari orang tiongkok dan kemudian memperdagangkannya.
tetapi baru pada tahun 1877 orang inggris, william thomson, 1st baron kelvin(lord kelvin) membuat kompas yang dapat diterima oleh semua negara.
dengan memperbaiki kesalahan-kesalahan yang timbul dari deviasi magnetik karena meningkatnya penggunaan besi dalam arsitektur kapal.
alat apa pun yang memiliki batang atau jarum magnetis yang bebas bergerak menunjuk arah utara magnetis dari magnetosfer sebuah planet sudah bisa dianggap sebagai kompas.
kompas jam adalah kompas yang dilengkapi dengan jam matahari.
kompas variasi adalah alat khusus berstruktur rapuh yang digunakan dengan cara mengamati variasi pergerakan jarum.
girokompas digunakan untuk menentukan utara sejati.
lokasi magnet di kutub utara selalu bergeser dari masa ke masa.
penelitian terakhir yang dilakukan oleh the geological survey of canada melaporkan bahwa posisi magnet ini bergerak kira-kira 40 km per tahun ke arah barat laut.
kompas dibedakan menjadi dua jenis, yaitu kompas analog dan kompas digital.
kompas analog adalah kompas yang biasa kita lihat dalam kehidupan sehari-hari.
misalnya saja kompas yang dipakai ketika acara pramuka.
sedangkan kompas digital merupakan kompas yang telah menggunakan proses digitalisasi.
dengan kata lain cara kerja kompas ini menggunakan komputerisasi.
diciptakannya kompas digital bertujuan untuk melengkapi kebutuhan robotika yang semakin canggih.
dunia robotika ini sangat membutuhkan alat navigasi yang efektif dan efisien.
sementara itu alat sistem navigasi yang tersedia di pasaran harganya mahal.
sedangkan kompas sendiri merupakan sebuah alat sistem navigasi yang efektif dengan harga lebih murah.
oleh karena itu kompas digital diharapkan bisa mensubstitusi alat sistem navigasi pada robot.
kompas-kompas digital yang ada di pasaran banyak macamnya.
di antaranya yaitu cmps03 magnetic compass buatan devantech ltd.
cmps03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet philips kmz51 yang cukup sensitif untuk mendeteksi medan magnet bumi.
kompas digital ini cukup supplai tegangan sebesar 5 vdc dengan konsumsi arus 15ma.
pada cmps03, arah mata angin dibagi dalam bentuk derajat yaitu : utara (0), timur (90), selatan (180) dan barat (270).
ada dua cara untuk menperoleh informasi arah dari kompas digital ini yaitu dengan membaca sinyal pwm (pulse width modulation) pada pin 4 atau dengan membaca data interface i2c pada pin 2 dan 3.
sinyal pwm adalah sebuah sinyal yang telah dimodulasi lebar pulsanya.
pada cmps03, lebar pulsa positif merepresentasikan sudut arah.
lebar pulsa bervariasi antara 1ms (00) sampai 36.99ms (359.90).
dengan kata lain lebar pulsa berubah sebesar 100us setiap derajatnya.
sinyal akan low selama 65ms di antara pulsa, sehingga total periodanya adalah 65ms + lebar pulsa positif (antara 66ms sampai 102ms).
pulsa tersebut dihasilkan oleh timer 16 bit di dalam prosesornya, yang memberikan resolusi 1us.
selain pwm, cmps03 juga dilengkapi dengan interface i2c yang dapat digunakan untuk membaca data arah dalam bentuk data serial.
pada mode 8 bit, arah utara ditunjukkan dengan data 255 dengan resolusi 1,40625 derajat/bit.
pada mode 16 bit, arah utara ditunjukkan dengan data 65535 sehingga resolusinya menjadi 0,0055 derajat/bit.
dari berbagai macam kompas digital di atas dapat diketahui bahwa kompas digital cmps03 merupakan kompas digital yang paling bagus.
walaupun kompas ini paling bagus karena gambarannya bisa ditampilkan dalam layar lcd karakter, namun kompas ini tidak bisa digunakan oleh semua jenis robot.
hal ini dikarenakan setiap robot mempunyai kebutuhan atas sistem navigasi berupa kompas digital yang beda antar robot satu dengan robot lainnya.
ada kemungkinan jenis robot a membutuhkan kompas digital jenis b, dan ada kemungkinan bahwa kompas satu tidak bisa tersubstitusikan oleh kompas lainnya.