• Tidak ada hasil yang ditemukan

IMPLEMENTASI SISTEM PERGERAKAN ROBOT DENGAN PENGGUNAAN SENSOR KOMPAS DALAM FRAMEWORK MICROSOFT ROBOTICS STUDIO

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI SISTEM PERGERAKAN ROBOT DENGAN PENGGUNAAN SENSOR KOMPAS DALAM FRAMEWORK MICROSOFT ROBOTICS STUDIO"

Copied!
5
0
0

Teks penuh

(1)

IMPLEMENTASI SISTEM PERGERAKAN ROBOT

DENGAN PENGGUNAAN SENSOR KOMPAS DALAM FRAMEWORK

MICROSOFT ROBOTICS STUDIO

A.A. B. Pramananugraha – Wahyu Suadi, S.Kom, MM, M.Kom – I Wayan Suardinata, S.Kom

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Email: bugkutu@gmail.com, wahyu@its-sby.edu, suardinatawayan@gmail.com

Abstrak Pembuatan simulasi pergerakan

robot seringkali berkontradiksi dengan keadaan robot pada dunia nyata. Hal ini dikarenakan sistem tidak mampu mengetahui arah dari hadapan robot tersebut. Kontradiksi yang terjadi ini, menyebabkan simulasi tidak bisa memberikan gambaran mengenai pergerakan robot pada dunia nyata. Padahal sebuah simulasi diharapkan mampu menggambarkan keadaan yang terjadi sebenarnya dan tidak jauh berbeda dari keadaan yang digambarkan pada simulasi.

Tugas akhir ini bertujuan untuk membuat sebuah sistem pergerakan robot yang mampu memberikan gambaran visual dari pergerakan robot dan tidak jauh berbeda dari pergerakan robot pada keadaan yang sebenarnya. Hal ini dimungkinkan dengan menambahkan sebuah

sensor kompas pada robot yang akan

memberitahukan sistem, hadapan robot pada keadaan yang sebenarnya. MRDS (Microsoft Robotics Developer Studio) dipilih sebagai framework yang digunakan untuk membuat sistem pergerakan robot pada tugas akhir ini. Sistem pergerakan robot ini juga dapat dikontrol secara remote melalui sebuah Xbox Controller.

Pada hasil uji coba sistem pergerakan robot ini, dapat disimpulkan bahwa peletakan sensor kompas harus diletakkan minimum 20 cm diatas brick untuk menghindari gelombang magnet yang ditimbulkan oleh brick maupun servo motor pada robot Lego Mindstroms sehingga sistem mampu membaca derajat sensor kompas yang menjadi acuan dalam sinkronisasi robot dengan baik. Pembacaan sensor kompas yang baik, tentu saja dapat meminimalisir penyimpangan yang terjadi pada simulasi dalam menggambarkan pergerakan sebuah robot sehingga simulasi yang dikembangkan dapat menjadi representasi dari pergerakan sebuah robot pada keadaan yang sebenarnya. Meskipun demikian, masih banyak pengembangan yang dapat dilakukan pada tugas akhir ini sehingga nilai gunanya dapat meningkat seiring dengan perkembangan teknologi dan framework yang mempermudah pengembangan sistem pergerakan robot ini.

Kata kunci:

simulasi, pergerakan

, NXT,

MRDS

1. Pendahuluan

Simulasi robot memiliki fungsi sebagai alat yang berguna untuk menggambarkan kondisi robot dalam melakukan tugas yang diprogram kepadanya, disamping sebagai alat pengujian ide pembangunan robot sebelum diaplikasikan pada robot yang sebenarnya. Namun simulasi ini menjadi tidak berguna apabila hasil yang diperoleh pada simulasi jauh berbeda dengan kondisi pada robot yang sebenarnya sehingga simulasi yang diharapkan mampu menggambarkan keadaan robot yang sebenarnya tidak berfungsi sesuai dengan tujuan dibuatnya simulasi tersebut.

Pada tugas akhir ini, dibangun sebuah sistem pergerakan robot yang mampu memberikan gambaran visual terhadap pergerakan robot melalui sebuah simulasi 3D. Pembuatan sistem pergerakan robot ini dilakukan untuk memberikan visualisasi kepada pengguna (user) mengenai pergerakan robot dalam mencapai tujuannya. Hal ini dimungkinkan dengan penggunaan sensor kompas yang akan memberitahukan arah dari hadapan robot kepada sistem sehingga simulasi mampu memberikan visualisasi pergerakan robot yang mendekati pergerakan robot pada keadaan yang sebenarnya.

2. Microsoft Robotics Developer Studio

Microsoft Robotics Developer Studio (MRDS) adalah framework pada lingkungan berbasis windows yang digunakan untuk mengontrol robot dan mensimulasikan robot. MRDS ini dibuat untuk akademis, kelompok hobi dan pengembang komersil yang digunakan untuk menangani berbagai macam jenis perangkat keras robot.

MRDS berdasar pada CCR (Cuncurrency

dan Coordination Runtime) yang merupakan .NET

library yang diimplementasikan untuk mengatur

asynchronous parallel task. Teknik ini melibatkan

penggunaan message passing dan berorientasi pada sebuah lightweight service, DSS (Decentralized Software Services), yang

mengijinkan orchestration dari berbagai service untuk melakukan perilaku- perilaku yang kompleks.

(2)

CCR dirancang untuk mengatur komunikasi yang terjadi secara asynchronous antar service. CCR menggunakan model message-passing untuk memodelkan suatu proses asynchronous yang terjadi pada service. Model message-passing pada dasarnya adalah sebuah model untuk menangani antrian. Dalam CCR, data atau pesan yang akan dieksekusi datang melalui PortSet. Pesan-pesan tersebut akan berdatangan dan akan mengantri pada PortSet hingga pesan tersebut keluar dari antrian karena dipanggil oleh receiver. Proses pemanggilan ini bersifat first-in-first-out, sama dengan sifat antrian secara umum. Selain itu, pemanggilan pesan pada receiver bisa

ditambahkan ekspresi logika, seperti AND (pesan dari dua PortSet harus datang terlebih dahulu) atau OR (pesan yang mencapai satu PortSet terlebih dahulu dari sekumpulan PortSet yang dipanggil). Saat receiver memanggil pesan dari PortSet,

arbiter akan membuat suatu objek Task yang akan

menggunakan pesan yang dipanggil oleh receiver untuk melakukan suatu aksi. Task ini akan mengantri pada dispatcher queue hingga dipanggil oleh dispatcher. Task yang dipanggil akan masuk pada Thread Pool dan akan dieksekusi pada komponen prosesor.

Sedangkan Decentralized Software Services (atau DSS) adalah sebuah model arsitektur perangkat lunak yang menitikberatkan pada konsep service dan perangkaian service. Dalam DSS, sebuah perangkat lunak adalah sekumpulan

service yang dirangkai secara loosely coupled.

Proses komunikasi antar-service berlangsung dengan memakai protokol DSSP (Decentralized

Software Services Protocol). Arsitektur DSS

berdiri di atas CCR, di mana CCR mengatur lalu-lintas dan pemrosesan pesan yang terjadi

antar-service. Setiap service memiliki sebuah Port

tempat menerima pesan dari service lain. Port pada sebuah service bisa terdiri dari dua macam, yaitu

Operations Port dan Notifications Port.

Operations Port digunakan untuk tempat

mengantri pesan-pesan yang masuk pada klasifikasi Operation. Begitu juga dengan

Notifications Port, digunakan sebagai tempat

mengantri pesan-pesan yang bertipe notification. Pesan yang masuk pada klasifikasi operation adalah pesan yang digunakan pada operasi sehari-hari service tersebut. Pesan notification berguna sebagai pesan untuk berlangganan pada service tersebut. Service yang berlangganan pada service lain akan menerima perubahan status service yang dilanggan secara berkala. Pesan-pesan yang diterima pada Port Operations maupun Port

Notifications akan diolah pada handler-handler

yang tersedia di dalam service tersebut. Hasil olahan pesan tersebut akan dikirimkan kepada layanan yang bersangkutan melalui port service yang bersangkutan[4].

Fitur-fitur yang terdapat di dalam MRDS ini antara lain: Perangkat Pemrograman Visual,

Microsoft Visual Programming Language yang

digunakan untuk membuat dan melakukan

debuging aplikasi robot, Simulasi 3D, akses yang

mudah ke sensor robot dan actuator serta mendukung beberapa bahasa pemrograman termasuk C# dan Visual Basic.NET, Jscript dan IronPython.

3. Simple Language Programming for MRDS

SPL(Simple Programming Language) adalah tool yang dibuat dengan tujuan untuk membantu para pemula untuk memulai pemrograman dan juga menyederhanakan pola pengkodean yang rumit ke dalam script sederhana.

Proyek ini telah dimulai dari bulan Juni 2009 dan menyelesaikan tahap pertama pada bulan Juni 2010. Scripting pada SPL ini sangatlah sederhana karena SPL ini di buat bagi para pemula yang ingin membuat aplikasi robotika dengan mudah.

Berikut contoh scripting pada SPL dalam menampilkan sebuah simulasi robot :

StartSimulationEngine AddSkyEntity sky1 AddLightSourceEntity sun1 UpdateCameraView /EyePosition:2 1 2 /LookAtPoint:0 0 0 SaveSceneAs "SimState/contohenvironment.xml"

Potongan Kode 3.1 Scripting pada SPL 4. Hitechnic Magnetic Compass Sensor

NXT Compass Sensor berisi kompas magnetic yang mengukur medan magnet bumi dan menghitung sudutnya. Sensor Kompass ini terhubung ke port sensor NXT menggunakan NXT wire. Sudut dari compass dihitung dari 0 – 359 dan direfresh setiap 100 kali perdetik.

NXT Compass Sensor adalah standard Mindstrom Sensor yang sesuai dengan element Mindstrom lain. Sebagai catatan NXT Compass Sensor hanya akan beroperasi dengan benar dalam posisi horizontal. Jadi ketika membangun sebuah robot dengan memiliki kemampuan membaca harus memperhatikan hal ini agar kompas diletakkan secara horizontal.

(3)

Pada gambar 4.1 menunjukkan bentuk dari sensor kompas buatan Hitecnic yang merupakan perusahaan manufacture sensor pada robot Lego Mindstroms. Perusahaan ini telah disertifikasi oleh Lego Company yang menjamin standar kualitas yang tinggi dan aman untuk setiap sensor yang diproduksi oleh Hitechnic.

5. Lego Mindstorm NXT

Lego Mindstroms NXT adalah perangkat robot edukasional keluaran Lego. Seri NXT ini resmi dirilis pada tahun 2006, sebagai penerus dari seri sebelumnya yaitu RIS(Robotics Invention System) yang sudah sukses di pasaran. Dengan menggunakan Mindstroms membuat robot relatif lebih mudah di bandingkan dengan menyolder sendiri sirkuit dan merangkai Microcontroller sendiri ataupun memasang motor sendiri. Lego Mindstorms tersedia dalam 2 versi yaitu Retail dan Educational.

Untuk membuat program di Lego Mindstorms sendiri memiliki banyak cara. Lego sendiri sudah menyediakan tool NXT-G. Microsoft menyediakan Microsoft Robotics Studio untuk melakukan programming melalui computer. Dan masih banyak lagie tool-tool dari pihak ketiga seperti NBC, NXC, BixCC, Lejos, PyNXT dan lain-lain.

Adapun komponen-komponen yang terdapat pada Lego Mindstrom ini antara lain:

 Brick  Touch Sensor  Light Sensor  Ultrasonik Sensor  Sound Sensor 6. Arsitektur Sistem

Pada sistem pergerakan robot ini, user dapat mengendalikan robot melalui sebuah Xbox

Controller. Xbox Controller inilah yang nantinya

akan mengendalikan robot baik pada simulasi maupun pada keadaan yang sebenarnya. Sistem akan melakukan proses sinkronisasi hadapan dimulai dari saat pertama kali sistem dijalankan.

Arsitektur sistem pergerakan robot ini dapat dilihat pada Gambar 6.1.

User mengontrol gerakan pada robot sekaligs pada simulasi

Mengirimkan hadapan robot yang didapat melalui sensor

kompas

Xbox Controller

Sistem Simulasi

Robot NXT User

Gambar 6.1 Arsitektur Sistem

Gambar 6.1 ini menunjukkan bagaimana sistem ini bekerja. Ketika user memasukkan masukan pada Xbox Controller maka sistem akan melakukan pengendalian robot baik robot pada simulasi maupun robot pada dunia nyata. Sistem juga melakukan proses sinkronisasi dengan mengacu pada derajat sensor kompas yang terima oleh sistem. Proses sinkronisasi ini dimulai ketika sistem pertam a kali di jalankan.

7. Rancangan Sistem

Tujuan dari pembuatan sistem pergerakan robot ini adalah untuk memberikan gambaran visual pergerakan robot sehingga user dapat melakukan pemantauan pergerakan robot melalui sebuah simulasi yang disediakan oleh sistem.

Permasalahan-permasalahan yang didapatkan atas tujuan pembuatan tugas akhir ini dijabarkan pada point-point berikut:

 Bagaimanakah membuat simulasi yang mampu menggambarkan pergerakan sebuah robot?

 Bagaimanakah membangun sebuah robot dan menempatkan sensor kompas pada robot sehingga sistem dapat membaca derajat sensor kompas dengan baik?  Bagaimanakah sistem mampu membaca

derajat pada sensor kompas untuk mengetahui hadapan sebuah robot?  Bagaimanakah melakukan sinkronisasi

pergerakan dari hadapan sebuah robot pada simulasi dengan hadapan robot pada dunia nyata?

Pembuatan sistem ini akan mengacu pada asumsi dan ruang lingkup permasalahan yang dijabarkan pada point-point di bawah ini:

 Robot yang digunakan di sini adalah robot NXT LEGO, yakni robot yang diproduksi oleh Amerika.

 Pada pembuatan sistem hanya melakukan pemantauan terhadap pergerakan hadapan sebuah robot.

 Proses sinkronisasi yang dilakukan pada sistem pergerakan robot ini hanya melakukan sinkronisasi hadapan pada sebuah robot saja.

 Sistem yang dibuat pada tugas akhir ini hanya dapat dijalankan pada lingkungan

windows-based.

 Pembuatan sistem pergerakan robot ini menggunakan sebuah framework bernama microsoft robotics developer

studio.

Perancangan sistem pergerakan robot ini terdiri dari dua buah proses perancangan yaitu proses perancangan perangkat lunak dan proses perancangan perangkat keras.

Pada perancangan perangkat lunak dapat dijelaskan bagaimana sistem nantinya bekerja untuk mencapai tujuannya. Gambar 7.1

(4)

menunjukkan bagaimana cara kerja dari sistem pergerakan robot pada tugas akhir ini. Pertama saat sistem pertama kali di jalankan, sistem akan menginisialisasi sistem dengan melakukan proses

loading manifest, yang nantinya proses ini akan

melakukan starting service untuk menjalankan setiap service yang dispesifikasikan pada sistem ini. Apabila proses inisialisasi service ini berhasil maka pada console dsshost akan muncul status

manifest load complete dan tidak terdapat pesan

error, maka barulah sistem akan melakukan tiga

buah proses yaitu menampilkan simulasi, melakukan pembacaan data pada sensor kompas, dan terakhir menunggu masukan dari pengguna.

Sistem akan memulai proses sinkronisasi setelah ketiga buah proses diatas dilakukan. Proses sinkronisasi baik pada simulasi maupun robot pada keadaan yang sebenarnya dilakukan berdasarkan hasil dari pembacaan data pada sensor kompas. Ketika user melakukan pengendalian robot melalui

Xbox Controller maka sistem secara otomatis

melakukan sinkronisasi terhadap robot pada simulasi sesuai dengan hasil pembacaan data pada sensor kompas. Hal ini dikarena proses sinkronisasi robot ini merupakan sebuah thread terpisah yang bertugas melakukan sinkronisasi hadapan robot pada simulasi sehingga hadapan robot pada simulasi mendekati hadapan robot pada keadaan yang sebenarnya.

START Inisialisasi System Success Reading Compass Sensor NO

Waiting Input From User

Driving Robot in Real World and Simulation Create Simulation Finish Sinkronisasi Robot in Simulation Yes

Gambar 7.1 Flowchart Sistem 8. Uji Coba

Uji coba yang dilakukan pada sistem pergerakan robot ini dibagi menjadi dua buah jenis uji coba yaitu uji coba fungsionalitas dan uji coba performa. Uji coba fungsionalitas dilakukan untuk melihat keberhasilan dari sistem yang dibangun, sedangkan uji coba performa dilakukan untuk melihat performa sistem.

8.1. Uji coba fungsionalitas

Uji coba fungsionalitas dilakukan dengan beberapa tahap pengujian. Hasil pengujian fungsionalitas yang dilakukan dapat dilihat pada Tabel 8.1.

Tabel 8.1 Hasil Uji Coba Fungsionalitas

Uji Coba Indikator

Keberhasilan Status Menjalankan Sistem Pergerakan Robot - Proses loading manifest berhasil

- Setiap service yang dispesifikasikan berhasil dijalankan semua

- Sistem berhasil menampilkan simulasi robot pada layar Berhasil Penerimaan Derajat Sensor Kompas - Dsshost menampilkan derajat yang berhasil diterima oleh sistem . Berhasil Sinkronisasi Pergerakan antara robot pada Simulasi dan robot pada keadaan yang sebenarnya

- Robot pada simulasi bergerak sesuai dengan pergerakan robot pada keadaan yang sebenarnya - Hadapan robot

pada simulasi tidak jauh berbeda dengan hadapan robot pada keadaan yang sebenarnya. - Uji perbandingan

antara sistem pergerakan robot dengan kompas dan tanpa kompas berhasil menunjukkan penggunaan sensor kompas diperlukan untuk mengetahui arah dari hadapan sebuah robot.

Berhasil

Tabel 8.1 ini menunjukkan uji coba fungsionalitas yang diujikan pada sistem yang berisikan indikator sebagai penilaian terhadap status keberhasilan pada uji coba ini. Adapun

(5)

ujicoba yangdilakukan diantaranya : uji coba menjalankan sistem, uji coba penerimaan derjat sensor kompas dan uji coba sinkronisasi pergerakan robot.

8.2. Uji coba performa

Pada uji coba performa ini dilakukan dengan melakukan pengujian terhadap jangkauan bluetooth dalam melakukan pengendalian pada Robot NXT.

Uji coba jangkauan Bluetooth pada Robot NXT ini dilakukan untuk dapat mengetahui berapakah jarak yang masih dapat ditoleransi oleh sistem sehingga sistem dapat menerima update data dari sensor kompas dengan baik dan juga mengetahui seberapa jauh jarak robot yang masih dapat dikendalikan melalui sistem yang telah dibuat. Pengukuran jarak jangkauan ini dilakukan dengan menggunakan roll meter.

Dari hasil uji coba yang dilakukan didapatkan jarak jangkauan Bluetooth pada robot NXT ke Bluetooth pada laptop yang mana baik sistem maupun robot masih dapat dikendalikan dengan baik adalah sejauh 12 meter. Pada jarak 19

meter robot masih dapat dikendalikan namun

robot memiliki respon yang cukup lambat terhadap pengeksekusian perintah yang dilakukan pada sistem.

9. Kesimpulan

Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, dapat diambil kesimpulan sebagai berikut :

 Sistem telah berhasil membuat simulasi yang mampu menggambarkan pergerakan sebuah robot. Pembangunan sistem ini dibuat dengan beberapa langkah mulai dari perancangan, implementasi hingga tahap uji coba.

 Robot berhasil dibangun sesuai dengan rancangan robot yang telah di spesifikasikan pada perancangan robot yaitu berbentuk tribot.

 Sensor Kompas harus ditempatkan setinggi 25 cm dari brick robot, hal ini dilakukan untuk menghilangkan pengaruh gelombang magnet yang dapat mempengaruhi pembacaan sensor kompas sehingga sistem mampu membaca derajat sensor kompas dengan baik.

 Sistem telah berhasil melakukan pembacaan terhadap sensor kompas dengan baik, hal ini terbukti dari uji coba penerimaan derajat sensor kompas yang ditampilkan oleh sistem pada dsshost console.

 Sistem terbukti mampu melakukan sinkronisasi pergerakan dan hadapan robot

pada simulasi dan robot pada dunia nyata. Sinkronisasi ini telah melalui uji coba dengan menggunakan alas derajat baik pada robot dunia nyata maupun robot pada simulasi.

10. Saran

Dalam pembuatan Tugas Akhir ini, terdapat beberapa kemungkinan pengembangan sistem dan

hardware robot yang dilakukan, yaitu:

 Sistem ini dapat dikembangkan menjadi sebuah sistem yang mampu melakukan Simultaneous Localization and Mapping (SLAM) yaitu pemappingan sebuah lingkungan melalui sebuah simulasi 3D.  Pada sistem dapat ditambahkan sinkronisasi

jarak dengan menggunakan penskalaan sehingga dapat memberikan gambaran yang tepat jika dikembangkan menjadi sebuah sistem pemapingan.

 Membangun konstruksi robot yang lebih stabil sehingga mampu membawa sensor kompas secara horizontal dan jauh dari pengaruh medan magnet yang ditimbulkan oleh motor maupun brick.

 Menggunakan media komunikasi yang lain selain bluetooth seperti wifi untuk menambah jarak jangkauan pengendalian robot.

11. Daftar Pustaka

1. Sara Morgan, 2008, Programming Microsoft

Robotics Studio, Microsoft Press A Division

of Microsoft Corporation.

2. Hitechnic Magnetic Compass Sensor. (Online), http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC 1034 diakses pada tanggal 10 Januari 2011 3. Dokumentasi Microsoft Robotics Developer

Studio R3, 2008.

4. W. Jatmiko1,A. A. Krisnadhi2, dan N. W. Pambudi3,2009, Pembagian Tugas Dalam

Koloni Robot Otonom Bergerak Pada Studi Kasus Pembentukan Pola Formasi Secara

Gradual, Jurnal Ilmu Komputer dan

Referensi

Dokumen terkait

Berdasarkan hasil yang didapat dari gabungan kosentrasi sitokinin + auksin adalah yang terbaik, sitokinin + giberelin juga memiliki pengaruh yang baik pada pertumbuhan

a) Periodisasi Umur dan kecakapan hukum dalam Islam.. Definisi anak secara bahasa merujuk pada kamus bahasa Indonesia diartikan dengan manusia yang masih kecil atau manusia

Rancangan sistem pakar yang dibuat ini bertujuan untuk membantu wanita dalam menentukan jenis kulit wajahnya, agar dapat memilih produk kosmetik yang tepat sesuai dengan jenis

Kriteria inklusi pada penelitian ini adalah keluarga yang memiliki dan tidak memiliki anggota keluarga yang pernah atau sedang bekerja sebagai pekerja di daerah endemis

Jika terdapat bukti objektif bahwa kerugian penurunan nilai telah terjadi atas pinjaman yang diberikan dan piutang atau investasi dimiliki hingga jatuh tempo yang

Tujuan penelitian ini adalah untuk mengetahui pengaruh permainan sebagai media promosi kesehatan terhadap perilaku (pengetahuan, sikap, tindakan) gizi seimbang dan

Kebutuhan akan modal manusia ( human capital ) dengan kemampuan intelektualnya merupakan faktor penting dan strategis di dalam perkembangan industry kreatif

“KAJIAN MAQASID ASY-SYARI’AH TENTANG PEMBERIAN WASIAT WAJIBAH BAGI ANAK ANGKAT DALAM KHI PASAL 209”.