Upload
hoangkiet
View
235
Download
0
Embed Size (px)
Citation preview
PTA-FTSM-2018-064
ROBOT PEMANDU PELAWAT PERPUSTAKAAN DENGAN MENGGUNAKAN SISTEM PENGOPERASIAN ROBOT
Tang Wei Liang Prof. Madya Dr. Azizi Abdullah
Fakulti Teknologi & Sains Maklumat, Universiti Kebangsaan Malaysia
ABSTRAK
Robot pemandu pelawat perpustakaan ialah satu sistem robot yang menggabungkan aplikasi web dan teknologi robotik. Robot ini bertujuan untuk memperkenalkan teknologi robotik kepada mahasiswa-mahasiswi di universiti dan membawa dekat teknologi tersebut kepada pengunjung perpustakaan untuk memudahkan proses pencarian buku dalam kawasan perpustakaan. Sistem robot ini dibahagikan kepada dua bahagian, aplikasi web dan penggunaan robot. Pengguna berinteraksi dengan robot melalui aplikasi web. Aplikasi web ini mengumpul data buku yang ingin dicapai oleh pengunjung perpustakaan dan memaparkan data tersebut kepada robot melalui Internet. Kemudian robot membawa pengunjung kepada lokasi-lokasi buku yang ingin dicapai. Sistem robot dalam kajian ini dibangunkan dengan rangka kerja web Django dan ROS. Sublime Text digunakan untuk menjalankan pengaturcaraan. Pangkalan data yang digunakan dalam kajian ini ialah MySQL. Pelayar web Google Chrome digunakan untuk nyahpepijat aplikasi web. Metodologi berasaskan agile development digunakan untuk mempercepatkan proses pembangunan untuk memperolehi satu produk minimum yang berfungsi.
1 PENGENALAN
Kemampuan robotik baharu yang inovatif, algoritma pembelajaran mesin yang cerdas, dan kuasa
pengkomputeran yang berganda telah merealisasikan impian penyelidik untuk membina sistem
robot yang lebih selamat dan serba boleh. Langkah wajar seterusnya adalah mengintegrasikan
teknologi robotik ke dalam kehidupan seharian manusia.
Dengan pembangunan platform robot bersumber terbuka yang menjadi piawaian
antarabangsa, penciptaan peranti penglihatan komputer yang tepat dan berharga rendah, dan
peningkatan ketangkasan pergerakan robot, penggunaannya dalam aktiviti manusia telah
menyaksikan satu perubahan yang ketara. Pengaplikasian teknologi robotik dan kecerdasan buatan
ke dalam aktiviti harian manusia, dari robot pengangkut di gedung besar hingga robot pembersih
di rumah kediaman
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Robot yang beroperasi dengan selamat dekat dengan manusia digelar sebagai robot servis.
Robot servis dapat dikategorikan ke dalam dua jenis, iaitu robot servis profesional dan robot servis
domestik.
Pada masa akan datang, ramai lagi robot servis yang dijangka akan dilancarkan ke pasaran,
dengan matlamat untuk membantu manusia dalam menjalankan aktiviti seharian supaya dapat
hidup dengan lebih selesa. Antaranya yang paling menarik adalah robot mudah alih yang berfungsi
sebagai pemandu pelawat.
2 PENYATAAN MASALAH
Sistem robot, biarpun sesuatu yang biasa dalam bidang-bidang profesional dan industri-industri
perkilangan, pengguna biasa khususnya mahasiswa-mahasiswi belum lagi dapat mencapai
teknologi robotik sekerap teknologi lain seperti telefon pintar. Hal ini menyebabkan
mahasiswa-mahasiswi ketinggalan dalam pengejaran kemajuan teknologi dan juga pencapaian
akademik. Kajian ini cuba mencari cara pengaplikasian sistem robot dalam kawasan kampus
universiti.
3 OBJEKTIF KAJIAN
Matlamat kajian ini adalah membawa teknologi robotik supaya lebih dekat dengan pengguna biasa.
Objektif kajian ini adalah (1) Menyesuaikan sistem operasi robot ROS untuk tugasan pemandu
arah, (2) Mereka bentuk algoritma ROS untuk tugasan di atas, (3) Mengaplikasi algoritma yang
diubahsuai ke dalam robot.
4 METOD KAJIAN
Pendekatan kajian ini adalah berasaskan agile development. Kaedah ini menitikberat kepada
pembangunan yang pantas dan responsif. Sistem robot dibina secara lelar dan ditambahbaik secara
berterusan. Hal demikian dapat meminimumkan kos pembangunan dan dapat mengubah suai
produk dengan pantas berdasarkan maklum balas.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
4. 1 Fasa Perancangan
Fasa Perancangan menumpu kepada perancangan projek. Pembangun mengenal pasti
permasalahan kajian dan mencadangkan cara penyelesaian.
4.2 Fasa Analisis
Seterusnya, pembangun mula mengumpul dan menggariskan spesifikasi keperluan pengguna.
Pada masa yang sama, pembangun mengkaji kerja-kerja lepas yang relevan dengan topik kajian.
Kemudian, hasil akan didokumenkan sebagai panduan untuk fasa yang seterusnya.
4.3 Fasa Reka Bentuk
Dalam kajian ini, komponen dalam sistem robot, iaitu robot pemandu pelawat, komputer klien,
pelayan web dan pangkalan data berinteraksi sesama lain dengan melakukan permintaan dan
memberi keputusan. Ciri komunikasi ini paling sesuai digambarkan dengan model pelayan-klien.
Model pelayan-klien dalam kajian ini mempunyai empat komponen iaitu Klien, Pelayan web,
Robot, dan Pangkalan data.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Menurut rajah di atas, pelanggan perpustakaan menggunakan Klien, melalui pelayar web,
untuk buat permintaan kepada Pelayan web. Pelayan web kemudian akan buat permintaan kepada
Pangkalan data untuk mendapat data-data yang berkenaan dan seterusnya memberi respons kepada
Klien dengan memaparkan di pelayar web di Klien.
Robot pula akan buat permintaan kepada Pelayan web secara berterusan. Sepanjang
tempoh tersebut, dua (2) kemungkinan akan berlaku. (1): Jika Pelayan web memberi respons
kepada Robot bahawa tidak ada buku yang sedang menunggu, Robot terus buat permintaan. (2):
Jika Pelayan web memberi respons kepada Robot bahawa ada buku yang sedang menunggu, data
lokasi buku tersebut akan dihantar kepada robot dan robot merancang laluan ke lokasi tersebut.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
4.4 Fasa Pengujian
Pengujian sistem bertujuan untuk menguji fungsi sistem agar sistem berkelakuan seperti yang
dijangka. Kaedah pengujian yang digunakan dalam kajian ini adalah pengujian unit dan pengujian
integrasi.
Dalam kajian ini, pengujian sistem dijalankan sebagai simulasi dalam pensimulasi Gazebo.
Oleh itu, langkah-langkah telah diambil dan pengaturcaraan robot telah diubahsuai agar dapat
beroperasi dengan lancar dalam dunia maya.
Dalam kes-kes uji yang melibatkan simulasi robot dan robot menerima lebih daripada satu
(1) data lokasi, pengaturcaraan robot telah diubahsuai untuk bergerak ke lokasi seterusnya dengan
segera. Dalam proses operasi sebenar dalam persekitaran sebenar, pengguna dikehendaki untuk
menekan butang B0 yang terdapat di atas robot untuk meneruskan proses pencarian buku.
Tambahan, dalam pensimulasi Gazebo tidak mempunyai dilengkapi dengan dok pengecas.
Oleh itu, jikalau berlakunya situasi robot bergerak ke dok pengecas dan menunggu respons
daripada dok, coffee_bot.py akan diberhentikan dan dimulakan semula untuk meneruskan
pengujian.
Sebelum pengujian bermula, arahan roslaunch turtlebot_gazebo turtlebot_world.launch
world_file:=<full path to the world file>, roslaunch turtlebot_gazebo amcl_demo.launch
map_file:=<full path to the map file>, roslaunch turtlebot_rviz_launchers
view_navigation.launch, dan python coffee_bot.py dimasukkan ke dalam terminal dalam tab yang
baru untuk setiap arahan. Ambil perhatian untuk menggantikan direktori kepada fail dunia maya,
fail peta, dan juga tukar direktori kepada folder yang mengandungi coffee_bot.py sebelum
melaksanakan arahan tersebut.
5 HASIL KAJIAN
Hasil kajian adalah satu sistem robot yang ditugaskan di kawasan perpustakaan. Pengguna
berinteraksi dengan system robot ini melalui aplikasi web. Fungsi utama aplikasi web ini ialah
Copyri
ght@
FTSM
PTA-FTSM-2018-064
memaparkan buku-buku yang terdapat dalam perpustakaan dan menyimpan buku-buku yang
pengguna ingin capai dan hantar data lokasi buku kepada robot.
Aplikasi web ini dibangunkan dengan Django. Django mengagihkan tugasan-tugasan
kepada URLs, Views, Model, dan Templates. URLs memproses pautan permintaan klien dan
menghantar permintaan tersebut kepada Views yang berkenaan. Kemudian, Views akan
memproses permintaan tersebut, meminta data melalui Models jika perlu, dan memulangkan
respons yang sesuai dengan menggunakan Templates. Models merupakan objek Python yang
mendefinisikan struktur data, termasuk jenis data dan cara pengendalian data, yang mewakili objek
dalam aplikasi web (seperti buku dan pengarang dalam kajian ini). Templates pula merupakan
templat halaman web yang memaparkan keputusan Views kepada pengguna. Dalam kajian ini,
pengaturcaraan URLs, Views, Models, dan Templates dilakukan dengan menggunakan Sublime
Text.
Home merupakan halaman pendaratan atau halaman pertama yang ditemui oleh pengguna
semasa mengguna aplikasi web. Halaman ini memaparkan satu bar carian untuk memudahkan
pengguna mencapai buku yang diingini. Halaman ini juga mempunyai seksyen Popular books
yang memaparkan buku-buku yang paling digemari oleh pengunjung perpustakaan.
Rajah 1 Halaman Home.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Rajah 2 Seksyen Popular books dalam halaman Home.
Books mempamerkan semua buku-buku yang terdapat dalam pangkalan data. Jika
pengguna mencari buku dengan kata kunci, Books pula memaparkan keputusan carian. Setiap
pautan dalam Books akan membawa pengguna ke halaman Book detail yang mempamerkan
butiran terperinci buku.
Rajah 3 Halaman Books.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Rajah 4 Halaman Book detail.
Rajah 5 Halaman keputusan carian.
Halaman Authors mempamerkan pengarang-pengarang yang terdapat dalam pangkalan
data. Setiap pautan dalam halaman Authors membawa pengguna ke halaman Author detail yang
memaparkan semua buku yang dikarang oleh pengarang berkenaan.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Rajah 6 Halaman Authors.
Rajah 7 Halaman butiran terperinci pengarang.
Selain daripada aplikasi web catalog, aplikasi web cart diwujudkan dengan arahan python3
manage.py startapp cart. Aplikasi ini berfungsi memproses data yang diperlukan oleh robot dan
menghantar data tersebut kepada robot sebagai gol navigasinya.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Dalam halaman Cart, buku-buku yang telah disimpan oleh pengguna dipaparkan.
Maklumat ini akan diproses dan dihantar ke TurtleBot untuk menentukan lokasi buku yang ingin
dicapai.
Rajah 8 Halaman Cart kosong.
Rajah 9 Halaman Cart mengandungi satu buku.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Rajah 10 Halaman Cart selepas menghantar data lokasi ke robot.
Dalam kajian ini, pengguna boleh menyemak status terkini robot dengan menekan butang
Robot yang terletak di paling kanan pada bar navigasi.
Rajah 11 Status robot.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Untuk mensimulasikan proses operasi robot sebenar, satu dunia maya yang meniru
persekitaran perpustakaan telah dibina.
Pertama sekali, satu folder bernama turtllebot_custom_gazebo_worlds diwujudkan dengan
arahan mkdir ~/turtlebot_custom_gazebo_worlds. Selepas itu, satu dunia maya kosong
diwujudkan dengan arahan
roslaunch turtlebot_gazebo turtlebot_world.launch world_file:=/opt/ros/indigo/share/turtlebot_
gazebo/worlds/empty.world. Dalam pensimulasi Gazebo, pilih tab Insert dan lima belas (15) buah
model Bookshelf dan empat (4) buah modal meja ditambah ke dalam dunia maya kosong untuk
meniru persekitaran perpustakaan. Akhir sekali, pilih menu File dan Save World As untuk
menyimpan dunia maya yang dibina ke dalam folder turtlebot_custom_gazebo_worlds.
Rajah 12 Dunia maya yang meniru persekitaran perpustakaan.
Selepas membina dunia maya, robot perlu mengenali persekitaran dunia maya agar dapat
bergerak dalamnya secara autonomi. Proses ini dikenali sebagai pemetaan. Untuk tujuan pemetaan,
TurtleBot dipandu secara manual dengan menggunakan papan kekunci dan peta dilukis dengan
menggunakan algoritma gmapping. Proses pemetaan ini divisualisasikan dengan rviz. Selepas
proses pemetaan, satu fail yaml akan disimpan sebagai fail peta.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Dalam terminal yang baru, arahan mkdir ~/turtlebot_custom_maps dilaksanakan untuk
mewujudkan folder yang baru untuk menyimpan fail peta. Dalam terminal yang sama, buka tab
yang baru, gantikan <full path to the world file> dengan direktori penuh ke fail dunia maya (Dalam
kajian ini, dunia maya yang tersuai disimpan dalam direktori
/home/weiliang/turtlebot_custom_gazebo_worlds/library.world), arahan roslaunch
turtlebot_gazebo turtlebot_world.launch world_file:=<full path to the world file> dilaksanakan.
Dalam terminal yang sama, buka tab yang baru untuk setiap arahan baru, arahan roslaunch
turtlebot_gazebo gmapping_demo.launch, roslaunch turtlebot_rviz_launchers
view_navigation.launch dan roslaunch turtlebot_teleop keyboard_teleop.launch telah
dilaksanakan. Selepas satu peta yang lengkap dilukis, dalam terminal yang sama, buka tab yang
baru, dan arahan rosrun map_server map_saver -f
/home/<user_name>/turtlebot_custom_maps/library dilaksanakan. Selepas itu, segala proses di
atas diberhentikan dengan kekunci Ctrl + C.
Rajah 13 Peta yang dihasilkan divisualisasikan dengan rviz.
Pengaturcaraan robot pemandu pelawat diubahsuai daripada kod sumber CoffeeBot
(Silliman 2015). Kod sumber CoffeeBot diubahsuai untuk menerima data daripada aplikasi web
untuk menentukan gol navigasi. Oleh kerana sistem kajian ini akan diuji dalam dunia maya,
langkah-langkah telah diambil untuk melancarkan proses operasi robot pemandu pelawat.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Untuk mensimulasikan proses operasi yang sebenar, arahan roslaunch turtlebot_gazebo
turtlebot_world.launch world_file:=<full path to the world file>, roslaunch turtlebot_gazebo
amcl_demo.launch map_file:=<full path to the map file>, roslaunch turtlebot_rviz_launchers
view_navigation.launch, dan python coffee_bot.py dimasukkan ke dalam terminal dalam tab yang
baru untuk setiap arahan. Ambil perhatian untuk menggantikan direktori kepada fail dunia maya,
fail peta, dan juga tukar direktori kepada folder yang mengandungi coffee_bot.py sebelum
melaksanakan arahan tersebut. Kemudian, pengguna boleh memilih buku daripada aplikasi web
dan menghantar ke robot pemandu pelawat untuk menyaksikan hasil kajian ini.
RUJUKAN
Chris Mill, Stephanie Hobson, omideus, Hamish Willee. Django Web Framework (Python). https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django [12 Februari 2018]
Cyrill Stachniss, John J. Leonard, Sebastian Thrun. 2016. Simultaneous Localization and Mapping. Dlm. Springer Handbook of Robotics, hlm. 1153–1176. Cham: Springer.
David C. Kung. 2014. Object-Oriented Software Engineering: An Agile Unified Methodology. New York:McGraw-Hill.
Gazebo. http://gazebosim.org/ [16 Oktober 2017]
IFR. 2016. Executive Summary World Robotics 2016 Service Robots. Frankfurt: IFR. https://ifr.org/downloads/press/02_2016/Executive_Summary_Service_Robots_2016.pdf [14 September 2017]
IFR. 2016. Service Robotics: Sales up 25 percent – 2019 boom predicted. https://ifr.org/ifr-press-releases/news/service-robotics [20 September 2017]
IFR. 2016. Service Robots – Definition and Classification WR 2016. https://ifr.org/img/office/Service_Robots_2016_Chapter_1_2.pdf [14 September 2017]
IFR. 2016. World Robotics Survey: Service robots are conquering the world. https://ifr.org/ifr-press-releases/news/world-robotics-survey-service-robots-are-conquering-the-world- [19 September 2017]
Julie Behan, Derek T. O;Keeffe. 2008. The development of an autonomous service robot. Implementation: “Lucas” —The library assistant robot. Dlm. Intelligent Service Robotics. Jil. 1, hlm. 73–89. Berlin: Springer.
Copyri
ght@
FTSM
PTA-FTSM-2018-064
Lisa De Propis. 2016. How the fourth industrial revolution is powering the rise of smart manufacturing. https://www,weforum.org/agenda/2016/06/how-the-fourth-industrial-revolution-is-powering-the-rise-of-smart-manufacturing [20 September 2017]
Mario Prats, Ester Martinez, Pedo J. Sanz, Angel P. del Pobil. 2008. The UJI librarían robot. Dlm. Intelligent Service Robotics. Jil. 1, hlm 321–335. Berlin: Springer.
Mark Silliman et al. 2015. Learn TurtleBot and ROS. http://learn.turtlebot.com/ [12 Februari 2018]
Martin Ford. 2015. Rise of the Robots: Technology and the Threat of a Jobless Future. New York: Basic Books.
Oscar Williams-Grut. 2016. 3 of the world’s largest employers are replacing workers with robots. https://www.weforum.org/agenda/2016/06/3-of-the-worlds-10-largest-employers-are-replacing-workers-with-robots [19 September 2017]
ROS | Core Components. http://www.ros.org/core-components/ [15 Oktober 2017]
ROS/Concepts – ROS Wiki. http://wiki.ros.org/ROS/Concepts
Sebastian Thrun, Maren Bennewitz, Wolfram Burgard, Armin B. Cremers, Frank Dellaert, Dieter Fox, Dirk Hähnel, Charles Rosenberg, Nicholas Roy, Jamieson Schulte, Dirk Schulz. 1999. MINERVA: A Second-Generation Museum Tour-Guide Robot.
Copyri
ght@
FTSM