16
Penerapan Behavior-Based Control dan Fuzzy Logic Controller pada
Sistem Navigasi Robot Soccer
Andik Yulianto, Hadi Puspo Handoyo
Jurusan Teknik Elektro, Universitas Internasional Batam, Batam Jl. Gajah Mada, Baloi Sei Ladi, Batam
E-mail : andik@uib.ac.id
Abstrak
Lingkungan yang komplek dan dinamis dalam sebuah kompetisi robot soccer menyebabkan sulit mendapatkan model matematik dari interaksi lingkungan yang dihadapi oleh robot. Untuk kontrol yang bersifat reaktif lebih sesuai diterapkan daripada kontrol deliberatif. Behavior-based Control merupakan arsitektur kontrol yang bersifat reaktif, dimana skema ini tidak memerlukan model matematik lingkungan melainkan dengan pendekatan task achieving.
Penelitian ini menerapkan Behavior-based Control sebagai arsitektur sistem kontrol navigasi robot soccer., sedangkan Fuzzy Logic Controller digunakan sebagai algoritma kontrol dari tiap behavior. Hierarchical Hybrid Coordination Node digunakan untuk mengkoordinasikan beberapa modul behavior yang dirancang. Hasil pengujian menunjukkan bahwa robot mempunyai kemampuan untuk menemukan bola mencari bola, menghindari halangan baik yang statis maupun dinamis, serta dapat memasukkan bola ke gawang lawan.
Kata Kunci : Robot Soccer, Behavior-based Control, Fuzzy Logic Controller, Hierarchical Hybrid Coordination Node.
1. Pendahuluan
Robot soccer merupakan salah satu aplikasi untuk teknik navigasi global, dimana informasi mengenai lingkungan robot, posisi dan orientasi robot, posisi bola dan posisi lawan ditentukan melalui sistem visi [7]. Lingkungan pada robot sepak bola adalah lingkungan yang dinamis, dimana terdapat robot lawan, dan posisi bola yang selalu berubah tiap waktu. Pada kasus seperti ini sulit untuk memperoleh model matematik yang tepat dari interaksi robot dengan lingkungannya. Meskipun dinamika robot dapat dijelaskan secara analitik, namun interaksi robot dengan lingkungan melalui sensor dan aktuator sangat sulit diperoleh model matematiknya. Untuk menghadapi masalah keterbatasan pengetahuan yang tepat dan lengkap mengenai lingkungan, yang diperlukan adalah kendali cerdas dan sistem pembuat keputusan dengan kemampuan reasoning pada kondisi tidak tentu dan kemampuan belajar dari pengalaman [6].
Behavior Based Robot (BBR) merupakan salah satu
solusi untuk masalah pemodelan di atas. Sistem diuraikan menjadi beberapa modul yang bertanggung jawab melakukan satu perilaku (behavior). Behavior tidak bergantung pada model komplek tetapi lebih pada perpaduan kontinyu dari nilai sensor dan aktivitas motor [1].
Berdasarkan pada hal tersebut, penelitian ini akan menerapkan metode Behavior Based Control untuk mengatasi masalah pemodelan sistem yang komplek. Agar robot dapat berperilaku seperti layaknya pemain sepak bola, maka perlu dirancang behavior robot yang memiliki kemampuan untuk menggiring bola (dribbling), menghindari halangan (obstacles
avoidance), memasukkan bola ke gawang lawan (go to goal) dan menghadapi lingkungan yang cukup
dinamis. Behavior yang dirancang menggunakan
Fuzzy Logic Controller sebagai algoritma kontrolnya. Perilaku-perilaku inilah yang nantinya digunakan robot dalam bernavigasi.
Tiap behavior dapat menerima stimuli yang sama dalam waktu yang bersaman namun memberikan aksi yang berbeda, sehingga dikoordinasi agar dapat menghasilkan sinyal kontrol yang tepat. Untuk itu, perlu ditentukan mekanisme koordinator yang tepat untuk mengkoordinasi antar behavior agar bisa didapatkan keluaran yang sesuai.
Sesuai dengan rumusan masalah yang ada, penelitian ini akan menyelesaikan persoalan perancangan
behavior yang digunakan pada robot soccer,
meliputi menghindari halangan, mencari target, dan memasukkan bola ke gawang lawan. Selanjutnya persoalan konflik antar behavior akan diselesaikan dengan merancang coordinator yang tepat. Hasil rancangan kemudian disimulasikan dan
17 diimplementasikan pada robot sebenarnya sehingga
dapat dijadikan sebagai sistem navigasi robot dalam sebuah pertandingan robot soccer.
2. Metode Penelitian 2.1. Behavior-based Control
Behavior-based Control mendesain sistem kontrol
robot menggunakan pendekatan task achieving
behaviors (perilaku menunaikan tugas) sebagaimana
ditunjukkan oleh Gambar 1.
Pendekatan behavior-based menggunakan sekumpulan behavior yang tersusun secara paralel yang bereaksi terhadap lingkungan yang dihadapi dan menghasilkan respon yang sesuai dengan tujuan
behavior tersebut.
BBR memiliki struktur dasar yang terdiri dari semua
behavior yang mengambil masukan dari sensor dan
mengirim keluaran ke aktuator. Sebuah koordinator diperlukan dengan tujuan agar hanya mengirim satu perintah dalam satu waktu ke motor.
2.2. Koordinasi Antar Behavior
Agar tidak terjadi konflik antar behavior dan untuk mendapatkan keluaran yang sesuai bagi aktuator, tiap behavior perlu dikoordinasi. Koordinator yang digunakan pada penelitian ini adalah koordinator
hybrid disebut Hybrid Hierarchical Coordination Node (HHCN) [4]. HHCN bekerja dapat bekerja
seperti koordinator kompetitif atau kooperatif. Metode koordinasi pada HHCN berubah tergantung pada level aktivasi dari masing-masing behavior dan hirarki diantara behavior tersebut. Skema HHCN ditunjukkan pada Gambar 2.
Tiap node ni terdiri dari masukan dominan dan non-dominan dari respon behavior yang dinormalisasi sehingga magnitudnya bernilai 0 hingga 1. Respon ini mengandung nilai level aktivasi a dan aksi kontrol yang diberikan ke robot vi.
2.3. Sistem Behavior Based Control dengan Fuzzy Logic Controller pada Robot Soccer
Sistem yang dibangun seperti pada Gambar 3. Sistem terbagi menjadi tiga bagian besar yaitu High
Level Controller, Sistem Visi dan Low Level Controller. Pada High Level Controller sistem
terdiri dari 3 modul behavior yang dikembangkan pada penelitian ini yaitu Search Target, Obstacle
Avoidance, dan Go-to-Goal. Bagian selanjutnya
adalah koordinator hibrid yang berfungsi untuk mengkoordinasi masing-masing behavior. Bagian
low level controller merupakan bagian kendali yang
terdapat pada robot. Penelitian ini difokuskan pada bagian perancangan High Level Controller.
2.4. Search Target Behavior
Sistem kontroler fuzzy yang dirancang menggunakan dua masukan dan satu keluaran. Masukan tersebut yaitu jarak antara robot dengan target (Distance) dan selisih antara sudut arah hadap robot (θr) dan sudut garis lurus yang menghubungkan robot dengan target (θt) terhadap sumbu horizontal. Sedangkan keluarannya adalah kecepatan motor kanan (RMotor dan LMotor)
Reason about behavior of object Plan to change to the world
Identify objects Monitor changes Build maps Explore Wander Avoid object sensors actuators
Gambar 1. Dekomposisi Sistem Kontrol
Mobile Robot dengan Task Achieving Behaviors [3]. Gambar 1. Skema HHCN Target Searching (FLC) Obstacle Avoidance (FLC) Go-to-goal Stop
Vision System Low level
Controller
High Level Controller
Behavior Coordinator
18
Fungsi keanggotaan (Membership function) dari masukan Distance dibagi menjadi 5 himpunan yaitu, AZ (AlmostZero), VN (Very Near), N (Near), F(Far), VF (Very Far). Pada Gambar 5 dapat dilihat fungsi keanggotaan fuzzy dari jarak robot dengan target yang memiliki rentang nilai antara 0 hingga 100 cm.
Sedangkan variabel masukan Theta yang ditunjukkan pada Gambar 6 dibagi menjadi 5 himpunan yaitu BN (Big Negative), N (Negative), Z (Zero), P (Positive), dan BP (Big Positive). Rentang nilai fungsi keanggotaan ini sebesar -180 derajat hingga 180 derajat. Variabel keluaran RMotor ditunjukkan pada Gambar 7 dan terbagi menjadi 5 himpunan yaitu VS (Very Slow), S (Slow), M (Medium), F (Fast) dan VF (Very Fast). Variabel keluaran LMotor memiliki himpunan yang sama dengan R Motor. x y θRobot target θd θe Lintasan robot Do dx dy
Gambar 3. Variabel Masukan Search Target
AZ VN N F VF
Gambar 4. Fungsi Keanggotaan Masukan
Distance
Gambar 5. Fungsi Keanggotaan Masukan Theta
Gambar 6. Fungsi Keanggotaan RMotor
BN N Z P BP BN N Z P BP AZ M S VF VS VS AZ VS VS VF S M VN M S VF VS VS VN VS VS VF S M N F M VF S VS N VS S VF M F F F F VF S S F S S VF F F VF VF VF VF F M VF M F VF VF VF RIGHT MOTOR Theta D istan ce D istan ce Theta LEFT MOTOR
Gambar 7. Rule Base pada Search Target Behavior BN N Z P BP BN N Z P BP AZ VS VS VF M S AZ S M VF VS VS VN VS VS VF M S VN S M VF VS VS N S VS VF F M N M F VF VS S F S S VF F F F F F VF S S VF F M VF VF VF VF VF VF VF M F D istan ce
LEFT MOTOR RIGHT MOTOR
Theta Theta
D
istan
ce
Gambar 8. Rule Base pada Search Target Behavior x y θr θo θe halangan Do
Gambar 9. Variabel Masukan Obstacle Avoidance
19 x y θgoal θe Opposite Goal target θrobot
Gambar 10. Variabel Masukan Go-to-goal Behavior
2.5. Obstacle Avoidance Behavior
Behavior ini dibangkitkan oleh FLC dan mempunyai
tugas untuk menghindari halangan yang ditemui oleh robot. Perancangan fungsi keanggotaan pada
behavior ini sama dengan fungsi keanggotaan pada search target behavior. Perbedaan dari kedua behavior tersebut terletak pada rule base yang
digunakan. Rule base yang digunakan pada behavior ini seperti pada Gambar 9, sedangkan variabel masukan behavior ini ditentukan sesuai dengan Gambar 10.
2.6. Go-to-goal
Behavior dimulai dengan mendeteksi apakah bola
sedang tertangkap oleh robot atau tidak, jika tidak maka behavior tidak dilanjutkan. Jika bola telah tertangkap, selanjutnya adalah membawa bola ke pintu gawang lawan. Gambar 11 menjelaskan mekanisme dari shooting behavior. Masukan
behavior ini menggunakan satu buah masukan yaitu
selisih antara sudut hadap robot (robot) dengan sudut target (goal).
2.7. Perancangan Hirarki Koordinator
Hibrid
Untuk menghasilkan navigasi robot yang dapat berperilaku sebagai pemain sepak bola, seluruh
behavior yang dirancang harus diintegrasikan.
Namun hasil integrasi harus dapat memberikan sinyal kontrol yang sesuai dengan stimulus yang diterima oleh kontroler. Agar tidak terjadi konflik antar behavior, maka dirancang koordinator hibrid.
Untuk dapat merancang koordinator hibrid, perlu ditentukan terlebih dahulu hirarki dari masing-masing behavior dalam memberikan aksi kontrol. Hirarki tiap behavior menentukan tingkat pengaruhnya terhadap keluaran kontroler. Adapun hirarki masing-masing behavior dapat dilihat pada Gambar 12.
Koordinator hibrid yang dirancang terdiri dari tiga
node. Pada node pertama terhubung dengan keluaran
dari Search Target (ST) behavior dan Obstacles
Avoidance (OA) behavior. OA behavior memiliki
level yang lebih tinggi (dominan) dibandingkan dengan ST behavior. Dengan demikian OA behavior lebih banyak memberi pengaruh pada keluaran node pertama. Artinya robot akan lebih responsif terhadap halangan daripada harus menemukan target terlebih dahulu.
Pada node kedua terhubung Go-to-goal (GTG)
behavior pada masukan dominan, dan Stop behavior
pada masukan non-dominan. Dengan demikian robot akan melakukan tembakan ke gawang lawan terlebih dahulu daripada berhenti.
Node ketiga mengatur keluaran dari node pertama
dan node kedua. Masukan dominan pada node ini adalah keluaran node pertama, sedangkan pada masukan non-dominan terhubung dengan keluaran
node kedua. Dengan demikian keluaran dari node
pertama (ST dan OA behavior) lebih memberi pengaruh pada perilaku robot daripada keluaran node kedua (GTG dan Stop behavior).
Search Target (Fuzzy) Obstacles Avoidance (Fuzzy) HHCN nD D Node 1 nD D Node 2 Go to goal Stop nD D Node 3 low level controller s ti m u lu s
Gambar 11. Rancangan Hirarki Koordinator Hibrid
3. Hasil Simulasi dan Pembahasan
Simulasi dilakukan dengan merancang perangkat lunak yang menerapkan algoritma kendali yang dirancang menggunakan Delphi 7.
20
3.1. Simulasi Search Target – FLC Behavior 3.1.1. Pengujian Target Statis
Pengujian ini dilakukan dengan memberikan posisi bola pada koordinat (130, 100), sedangkan robot berada pada koordinat (80, 30, -120). Selama pengujian ini posisi bola tidak berubah. Hasil trayektori pengujian ditunjukkan pada Gambar 12. Dari trayektori yang dihasilkan terlihat bahwa robot mampu menghampiri bola. Orientasi robot pada awalnya bertolak belakang dengan bola, untuk itu robot melakukan manuver berputar ke kiri. Setelah selisih antara sudut orientasi robot dengan bola mendekati nol, robot maju ke depan sambil mempertahankan selisih sudut orientasinya mendekati nol. Grafik selisih sudut orientasi robot dan bola ditunjukkan pada Gambar 13.
3.1.2. Pengujian Target Dinamis
Pengujian ini dilakukan dengan mengubah posisi bola secara acak ketika robot berhasil menangkapnya. Pengubahan acak dilakukan oleh program pada daerah yang masih dapat dijangkau oleh robot. Hasil trayektori dari pengujian ST-FLC dengan target dinamis ditunjukkan pada Gambar 14, terlihat bahwa robot dapat mengikuti setiap perubahan posisi dari bola. Koordinat x dari posisi robot dan bola ditunjukkan pada Gambar 15.
3.2. Pengujian Obstacle Avoidance –FLC Behavior
3.2.1. Pengujian dengan Halangan Statis
Pengujian Obstacle Avoidance dengan halangan statis melibatkan satu robot lawan yang tidak bergerak. Robot lawan (hijau) diletakkan diantara bola dan robot pemain agar nantinya robot lawan berfungsi sebagai halangan (obstacle).
Dari hasil trayektori yang ditunjukkan pada Gambar 16 terlihat bahwa robot pemain dapat menghindari halangan dengan baik. Sesuai dengan rancangan
membership function, robot pemain akan bereaksi
terhadap halangan ketika pada sudut hadap -90o hingga 90o robot pemain terdapat halangan, jika diluar daerah tersebut robot hanya bergerak maju. Selisih sudut hadap robot dengan bola ditunjukkan pada Gambar 17.
Gambar 12. Trayektori Pengujian Search Target
Behavior dengan Target Statis
Gambar 13. Selisih Sudut Orientasi Robot dan Bola
Gambar 14. Trayektori Pengujian Search Target Behavior 0 2000 4000 6000 8000 10000 12000 14000 16000 0 50 100 150 Time (ms) x p o s it io n ( c m ) x pos. (Ball) x pos. (Robot)
Gambar 15. Posisi Bola dan Robot pada Pengujian Search Target Behavior halangan Dinamis
21 Grafik yang ditunjukkan pada Gambar 17
merupakan grafik selisih sudut antara bola dan robot. Terlihat bahwa pada selang waktu antara 25s hingga 100s robot melakukan manuver menghindari halangan. Pada saat menghindari halangan selisih sudut robot dan bola tidak konsisten turun menuju nol, melainan naik hingga sekitar 50 derajat. Pada fase ini robot merubah orientasinya menjahui bola karena bola terdapat diantara halangan dan robot.
Gambar 16. Trayektori Percobaan Obstacle Avoidance Behavior dengan Halangan Statis
Obstacle Avoidance
Gambar 17. Selisih Sudut Hadap Robot dan Bola pada Pengujian Obstacle Avoidance Behavior Halangan Statis
Gambar 18. Trayektori Percobaan Obstacle Avoidance Behavior dengan Halangan Dinamis
3.2.2. Pengujian dengan Halangan Dinamis
Pada pengujian ini halangan berupa robot lawan diberikan behavior yang sama dengan robot pemain. Hal ini akan menguji kinerja Obstacle Avoidance
behavior dalam menghadapi halangan yang dinamis.
Dalam pengujian ini digunakan satu robot lawan sebagai halangannya.
Gambar 18 merupakan hasil trayektori pengujian Obstacle Avoidance behavior menggunakan halangan yang bersifat dinamis. Tampak bahwa robot pemain (biru) dapat menghindari robot lawan (hijau) yang bergerak dengan baik.
3.3. Simulasi Sistem Keseluruhan
Performansi level aktivasi tiap behavior pada masing-masing Node dari koordinator HHCN dapat dilihat pada Gambar 21, sedangkan grafik kecepatan roda kiri untuk Node 3 ditunjukkan pada Gambar 20. Pembahasan aktivitas HHCN dibagi menjadi tiga fase. Fase pertama adalah fase dimana robot melakukan tugasnya mencari bola. Pada saat 0 s hingga 6 s pada Node 1, ST-FLC teraktivasi penuh (bernilai 1) sedangkan OA-FLC tidak teraktivasi penuh karena jarak robot dengan halangan diantara 0 hingga 40 cm. Pada saat 6 s hinga 8 s OA-FLC teraktivasi penuh. Karena OA-FLC terhubung dengan masukan dominan Node 1, maka keluaran Node 1 lebih mengikuti keluaran dari OA-FLC daripada ST-FLC.
Fase kedua adalah fase dimana robot telah berhasil mencapai bola,dengan demikian Go-to-Goal behavior pada Node 2 teraktivasi penuh dan robot
melakukan tugasnya membawa bola ke gawang lawan. Pada saat 12 s hingga 17 s robot berhasil mencapai bola dan tidak ada halangan terdeteksi, sehingga level aktivasi OA-FLC dan ST-FLC pada Node 1 bernilai nol. Namun pada saat 17 s hingga 34 s, robot mendeteksi adanya halangan. Pada saat ini FCL kembali aktif, sehingga keluaran dari OA-FCL pada Node 1 lebih mendominasi keluaran Node 3 daripada to-Goal pada Node 2 meskipun
Go-to-Goal teraktivasi penuh. Hal ini dikarenakan
hirarki dari Node 1 lebih tinggi dibandingkan Node 2.
Setelah robot tidak mendeteksi ada halangan lagi dan robot telah berhasil membawa bola ke gawang, maka robot masuk pada fase ke tiga yaitu melaksanakan tugas Stop behavior (berhenti). Pada fase ini tidak ada halangan terdeteksi, sehingga OA-FCL pada Node 1 tidak aktif. Demikian juga dengan ST-FCL tidak aktif dikarenakan bola telah tertangkap robot. Untuk itu keluaran dari Node 3 adalah keluaran yang dihasilkan pada Node 2 yaitu keluaran Stop behavior.
22
3.4. Implementasi Sistem Sebenarnya
Algoritma kontrol yang dirancang diimplementasikan pada satu robot beroda. Hasil implementasi belum menunjukkan hasil yang optimal dikarenakan kendala pada proses identifikasi posisi dan orientasi robot yang tidak sempurna. Robot tidak konsisten dapat menemukan bola, dan menghindari halangan dengan baik seperti pada simulasi yang dilakukan sebelumnya.
Posisi awal bola
Posisi awal robot
Gambar 19. Trayektori Simulasi Sistem Keseluruhan 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 104 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Time (ms) N o rm . S p e e d Node 1 Node 2 Out Node 3 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 104 0 0.2 0.4 0.6 0.8 1 Time (ms) A ct ivat io n L e vel Node 1 Node 2 Out Node 3
Gambar 20. Grafik Kecepatan Ternomalisasi Pada Node 3 HHCN
Kondisi pencahayaan pada saat percobaan sangat menentukan keberhasilan identifikasi. Kesalahan identifikasi yang relatif kecil dapat menyebabkan sinyal kontrol yang dihasilkan oleh kontroler pada komputer tidak sesuai dengan keadaan sebenarnya. Dengan demikian sistem visi sangat menentukan keberhasilan dari pemberian sinyal kontrol robot. Tampilan hasil implementasi ditunjukkan pada Gambar 8.
4. Kesimpulan
Penelitian ini menghasilkan sistem kontrol navigasi robot soccer dalam hal mencari target (bola), menghindari halangan dan menembakkan bola ke gawang lawan. Fuzzy Search Target behavior menghasilkan trayektori yang dihasilkan masih terlihat kaku. Obstacle Avoidance behavior
menghasilkan trayektori yang juga masih terlihat kaku dan tidak efektif. Hal ini dapat diatasi dengan melakukan tuning MF.
Koordinator hibrid yang dirancang mampu mengkoordinasi seluruh behavior dengan baik. Nilai
reduction factor yang digunakan pada penelitian ini
adalah k=2. Penyesuaian nilai k dan penentuan rumusan level aktivasi tiap behavior akan memperbaiki kinerja koordinator sesuai keinginan.
5. Ucapan Terima Kasih
Peneliti mengucapkan terima kasih kepada semua pihak yang terlibat dalam penelitian ini. Penelitian ini dibiayai sepenuhnya oleh Dana Hibah I-MHERE Tahun Anggaran 2011, Program Studi Teknik Elektro, Universitas Internasional Batam
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 104 0 0.2 0.4 0.6 0.8 1 Time (ms) A ct ivat io n L e vel Node 1 Node 2 Out Node 3 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 104 0 0.2 0.4 0.6 0.8 1 Time (ms) A ct ivat io n L e vel Go-to-Goal Stop Out Node 2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 104 0 0.2 0.4 0.6 0.8 1 Time (ms) A ct ivat io n L e vel OA-FLC Out Node 1 ST-FLC
Fase 1 Fase 2 Fase 3
Gambar 21. Level Aktivasi pada Koordinator HHCN
23
Gambar 22. Hasil Implementasi Search Target Behavior
Daftar Pustaka
[1] Birk, Andreas (1998). Behavior Based Robotics,
its scope and its prospects, Proceedings of the
24th Annual Conference of IEEE Industrial Electronics Society, IECON98, Vol.4, hal. 2180-2185.
[2] Boris Vintimilla B., César Villarroel S., Carlos Calderón G., Rommel Carrillo C, (2002).
Survey On Learning In Multi-Agent Systems: Robot Soccer, FIRA Robot Congress, Seoul
Korea.
[3] Brooks R. ( 1986), A Robust Layered Control
System For a Mobile Robot, IEEE Trans. on
Robotics and Automation, vol. 2, no. 1, pp. 14 – 23.
[4] Carreras, M. P. Ridao and A. El-Fakdi (2003),
Semi-Online Neural-Q learning for Real-time Robot Learning, Institute of Informatics and
Applications, University of Girona.
[5] Chhabra, M., A. Nahar, A. Mukherjee, A. Mathad and S. Chaudhuri, 2004. Novel
approaches to vision and motion control for robot soccer. Proceedings of the National Conference on Advanced Manufacturing and Robotics, (AMR’04), Allied Publishers Pvt.
Ltd., India, pp: 68-74.
[6] Hoffman, F. (2003). An Overview on Soft
Computing in Behavior-based robotic", The
Proceeding of The 10th International Fuzzy System Association, IFSA, Eds: Bilgic, T. et al., Istanbul, Turki, hal. 544 – 551.
[7] Kim, J.H., Vadakkepat, P. (2000). Multi-agent
systems: a survey from the robot soccer perspective. International Journal Intelligent
Automation and Soft Computing 6 (1), 3–17. [8] Kim, Jong-Hwan (2003) , Lecture Notes on