## Kendali Formasi Mobile Robot berdasarkan Jarak menggunakan Algoritma Cosinus

## ANGGORO DWI NUR ROHMAN, MUHAMMAD AZIZ MUSLIM, BAMBANG SISWOJO
Program Studi Magister, Teknik Elektro, Universitas Brawijaya, Indonesia Email : anggoro_dwi@student.ub.ac.id
Received 27 Mei 2021 | Revised 20 Juni 2021 | Accepted 26 Juni 2021

## ABSTRAK
Kendali  formasi  adalah topik penelitian  kendali  multi-robot,  dimana  sekelompok robot dapat mencapai formasi tertentu dan mempertahankannya ketika berpindah ke arah yang diinginkan. Salah satu pengembangan kendali formasi adalah kendali formasi berdasarkan jarak dimana setiap individu robot menggunakan informasi jarak antara sesamanya untuk mencapai tujuan formasi. Banyak pengembangan yang dilakukan pada kendali formasi berdasarkan jarak menggunakan model yang sederhana  dan  membutuhkan  pengembangan  lebih  lanjut  untuk  penerapan kendali ke model yang lebih nyata. Ketika penerapan kendali formasi berdasarkan jarak,  terdapat  permasalahan  kondisi  awal  yaitu  robot  tidak  dapat  menentukan koordinat  tetangganya.  Penelitian  ini  akan  mengembangkan  algoritma  cosinus sebagai  solusi  untuk  kondisi  awal  kendali  formasi  berdasarkan  jarak.  Algoritma cosinus  terinspirasi  dari  rumus  segitiga  sederhana  dan  mengharuskan  robot melakukan  dua  langkah  saja  untuk  dapat  menemukan  koordinat  tetangganya. Hasil  percobaan  simulasi,  kendali  formasi  berdasarkan  jarak  menggunakan  tiga model  robot  holonomic  dan  penerapan  algoritma  cosinus  membutuhkan  waktu rata-rata 6.5 detik untuk menemukan koordinat tetangganya.
Kata kunci : Kendali Formasi, Multi-Robot, Algoritma Cosinus, Mobile Robot.

## ABSTRACT
Formation  control  is  a  research  topic  of  multi-robot  control,  where  a  group  of robots can reach a certain formation and defend it when moving in the desired direction.  One  of  the  developments  is  distance-based  where  formation  goals achieved  using  the  distance  between  each  other  only.  Many  developments  are using a simple model and need further development into a realistic model. When applying distance-based, there is a problem in the initial condition, namely that the robot cannot find the coordinates of its neighbors when using only distance. In  this  work,  the  cosine  algorithm  was  developed  as  a  solution  to  the  initial conditions which are inspired by a simple triangle formula and need only two steps to  find  the  coordinates.  From  simulation  experiment  results,  distance-based formation control using three holonomic robot models and the application of the cosine algorithm takes an average of 6.5 seconds to find the coordinates of its neighbors.
Keywords : Formation Control, Multi-robot, Cosine Algorithm, Mobile Robot.

## 1. PENDAHULUAN
Kendali formasi adalah topik penelitian kendali multi-robot untuk memecahkan permasalahan koordinasi  pergerakan.  Kendali  formasi  bertujuan  untuk  mengendalikan  sekelompok  robot dalam  mencapai  formasi  tertentu  dan  dapat  mempertahankan  formasi  tersebut  ketika bermanuver  menuju  arah  yang  diinginkan.  Penjabaran  oleh  Guanghua (Guanghua,  dkk, 2013) ,  pengembangan  kendali formasi dilakukan  dari beberapa algoritma  strategi.  Seperti yang dikembangkan oleh Wang (Wang, dkk, 2014) menggunakan strategi leader-follower, menggunakan Fuzzy-Logic sebagai tingkah laku robot (Ferik, dkk, 2016) dan menggunakan struktur virtual dimana sekelompok robot memiliki titik referensi sebagai satu robot oleh Xuen- ren (Li, dkk, 2015) .
Penjabaran oleh Kwang-Kyo (Oh, dkk, 2015) bahwa dari berbagai pengembangan kendali formasi dapat ambil garis besar menjadi tiga bagian, yaitu berdasarkan posisi, perpindahan, dan jarak. Ketiga bagian tersebut tertuju pada jawaban dari pertanyaan, "variabel apa yang digunakan sebagai sensor" dan "variabel apa yang aktif dikendalikan oleh sistem multi-robot untuk mencapai formasi yang diinginkan". Kendali formasi berdasarkan posisi adalah metode kendali  formasi  dimana  robot  diharuskan  memiliki  kemampuan  untuk  mengetahui koordinatnya  sendiri  berdasarkan  koordinat  global.  Karena  itu  kendali  berdasarkan  posisi membutuhkan  sensor  posisi  seperti  GPS.  Kendali  formasi  berdasarkan  perpindahan  adalah kendali  formasi  dimana  setiap  robot tidak  mengetahui  koordinatnya  berdasarkan  koordinat global  dikarenakan  variabel  yang  digunakan  sebagai  sensor  adalah  kecepatan  terhadap tetangganya.  Metode  berdasarkan  posisi,  robot  membutuhkan  kemampuan  penyesuaian orientasi  koordinat  global  sehingga  setiap  robot  dibutuhkan  sensor  kompas  untuk menyarahkannya.  Formasi  berdasarkan  jarak  adalah  kendali  formasi  dimana  variabel  yang dikendalikan  adalah  variabel  jarak  antar  robot  yang  terhubung  sehingga  koordinat  yang digunakan  tidak  mengacu  pada  koordinat  global.  Penerapan  formasi  berdasarkan  jarak menggunakan  sensor  yang  lebih  sedikit  dibanding  dengan  posisi  dan  perpindahan.  Namun pembahasan  model  yang  lebih  nyata  untuk  diterapkan  kendali  formasi  berdasarkan  jarak masih sedikit. Pengembangan formasi berdasarkan jarak telah dikembangkan menggunakan teori graph dengan model single dan double integrator  sederhana oleh Kwang-Kyo (Oh & Ahn, 2014) , menggunakan informasi jarak untuk mengendalikan model sederhana double integrator oleh  Xiaoyu (Cai & de Queiroz, 2014) ,  menggunakan konsensus antara  robot untuk  mencapai  bentuk  formasi  dengan  model single  integrator  sederhana  oleh  Deghat (Deghat, dkk, 2016) , mengendalikan bentuk formasi menggunakan adaptive control untuk mengestimasi  kecepatan  tetangga dari model robot  yang  sederhana oleh  Sung-Mo (Kang, dkk,  2014) ,  menggabungkan  kendali  formasi  berdasarkan  jarak  dan  perpindahan  untuk mengendalikan model robot yang sederhana oleh Myoung-Chul (Park & Ahn, 2015) ,  dan menggunakan  kendali Proportional-Integral  (PI)  untuk  mengendalikan  jarak  setiap  model robot yang sederhana oleh Rozenheck (Rozenheck, dkk, 2015) .
Kendali PI pada penelitian oleh Rozenheck (Rozenheck, dkk, 2015) tidak dapat langsung diterapkan  menggunakan  sensor  jarak  karena  kendali  tersebut  mengambil  informasi  jarak menggunakan selisih dari koordinat kartesian global setiap robot. Sedangkan dalam praktiknya robot  hanya  bisa  mengukur  jarak  dan  tidak  mengetahui  koordinat  dari  robot  tetangganya. Sudah  umum  penelitian  dibidang  lokalisasi  menggunakan  sensor jara  seperti  yang  dibahas oleh Kexing (Guo, dkk, 2020) yang menggantikan sensor berbasis vision untuk mendapatkan koordinat  dari  beberapa  robot,  penelitian  oleh  Qiang (Qiang,  dkk,  2017) membutuhkan beberapa  sensor  jarak  yang  terpasang  statis  digunakan  untuk  mengetahui  koordinat sekelompok  robot  dan  mengendalikannya  secara  terpusat,  dan  pengembangan  oleh  Qiang (Qiang, dkk, 2018) dengan memasang dua sensor jarak di salah satu dari sekelompok robot,
lalu  mendistribusikan  koordinat  ke  robot  tetangganya.  Lokalisasi  menggunakan  dua  sensor jarak  tersebut  memanfaatkan  rumus  segitiga  untuk  mendapatkan  koordinat  robot tetangganya. Penelitian ini akan mengadopsi rumus segitiga dan menggantikan salah satu dari dua sensor dengan algoritma cosinus sehingga tidak mengharuskan salah satu robot memiliki dua sensor. Penelitian oleh Rozenheck (Rozenheck, dkk, 2015) mengembangkan kendali formasi menggunakan model holonomic sederhana dimana robot bergerak ke suatu arah tidak bergantung dari kondisi awal arah robot dan juga model sederhana tidak mempertimbangkan parameter fisik pada modelnya. Percobaan akan menggunakan tiga model robot holonomic dengan harapan menjadi langkah awal untuk mengembangkan kendali formasi berdasarkan jarak menggunakan model robot yang lebih nyata.

## 2. METODE

## 2.1 Model Robot
Robot menggunakan tiga roda omniwheel yang dipasang sesuai dengan geometri rangka robot di Gambar 1. Dengan mengatur kecepatan ketiga roda tersebut robot dapat bergerak ke segala arah  tanpa  dipengaruhi  oleh  keadaan  awal  arah  robot  sehingga  robot  bersifat holonomic. Berikut adalah model dari robot omniwheel holonomic dalam bentuk state-space.
𝑥̇(𝑡) = 𝐴 x(𝑡) + 𝐵  u(𝑡) + 𝐾 sgn 𝑥(𝑡) (1) y(𝑡) = Cx(𝑡) (2)
Dimana vektor 𝑢(𝑡) = [𝑢 (𝑡) 𝑢 (𝑡) 𝑢 (𝑡)] adalah vektor tegangan motor untuk memutar roda 𝜗 = {1,2,3} yang  memiliki  batasan  tegangan −6 ≤ 𝑢 ≤ 6 volt.  Vektor 𝑦(𝑡) = 𝑥(𝑡) = [𝑣(𝑡) 𝑣 (𝑡) 𝑤(𝑡)] adalah  kecepatan  robot  yang  akan  diperoleh  dari  sensor  percepatan, dimana 𝑣 adalah  kecepatan  robot  bergerak  maju/mundur  atau  koordinat 𝑥 berdasarkan kerangka  robot, 𝑣 adalah  kecepatan  robot  untuk  menyamping  kiri/kanan  atau  koordinat sumbu 𝑦 berdasarkan kerangka robot, dan 𝑤(𝑡) adalah kecepatan rotasi dari kerangka robot. Maktriks 𝐴 ∈ 𝑅 × dan 𝐵 ∈ 𝑅 × adalah parameter fisik robot seperti dimensi robot, dimensi roda, masa jenis dan lain lain. Maktriks 𝐾 ∈ 𝑅 × adalah parameter friction dari robot yang diestimasi dari hasil identifikasi sistem dengan cara percobaan. Penelitian ini menggunakan parameter fisik dan hasil estimasi friction yang dibahas secara jelas didalam paper penelitian oleh Mariane (Correia, dkk, 2012) .
Gambar 1. Geometri Rangka Robot

## 2.2  Kendali Robot Holonomic
Kendali  robot  holonomic  akan  dibagi  menjadi  dua  mode.  Perbedaan  kedua  mode  tersebut adalah setpoint  kendalinya,  dimana  mode  satu  akan  memiliki  setpoint  kecepatan  robot sedangkan mode dua memiliki setpoint koordinat kerangka robot. Penjelasan lebih lengkap kegunaan dari kedua mode tersebut akan dijelaskan di pembahasan metode algoritma cosinus (subbab 2.4)
Mode  Satu .  Kendali  robot  mode  satu  bertujuan  untuk  robot  mencapai  kecepatan  yang diinginkan.  Untuk  mencapai  tujuan  tersebut  akan  menggunakan  metode state-feedback sebagai kendalinya.
𝑢 (𝑡) = −𝐾 𝑥(𝑡) + 𝑁 𝑟 (3) 𝑁 = −[𝐶(𝐴 − 𝐵 𝐾 ) 𝐵 ] (4)
Dimana  vektor 𝑟   = [𝑣 ∗ 𝑣 ∗ 𝑤 ∗ ] adalah  setpoint  kendali  mode  satu, 𝐾 ∈ 𝑅 𝟛×𝟛 adalah konstanta  yang  diperoleh  dari  optimasi  persamaan Riccati  terhadap  maktriks 𝐴 dan 𝐵 di Persamaan (1), dan 𝑁 ∈ 𝑅 × adalah kostanta yang diperoleh dari inverse state-space ketika keadaan steady  state  sehingga  menghasilkan  Persamaan  (4).  Dengan  menggabungkan Persamaan  (1)  dan  Persamaan  (3)  akan  mendapatkan  persamaan state-space  robot  yang baru.
𝑥̇(𝑡)  = 𝐴 x(𝑡) + 𝐵 𝑟 + 𝐾 sgn 𝑥(𝑡) (5) 𝐴   =  (𝐴 − 𝐵 𝐾 ) (6) 𝐵   =  𝐵 𝑁 (7)
Mode Dua. Kendali robot mode dua bertujuan untuk robot mencapai titik koordinat tertentu berdasarkan  koordinat  kerangkanya.  Untuk  mencapai  tujuan  tersebut  akan  memodifikasi Persamaan (1) dengan menambah koordinat frame robot pada state-nya. State robot menjadi 𝑥 (𝑡)  =  [𝑥 (𝑡) 𝑦 (𝑡) θ (𝑡) 𝑣(𝑡) 𝑣 (𝑡) 𝑤(𝑡)] . Berikut adalah state-space robot mode dua.
𝑥̇ (𝑡) = 𝐴 𝑥 (𝑡) + 𝐵 𝑢 (𝑡) + 𝐾 𝑥 (𝑡) (8)
𝑦 (𝑡) = 𝐶 𝑥 (𝑡)
(9) 𝐴        = 0 𝐼 0 𝐴 ∈ 𝑅 × (10)
𝐵        = [0 𝐵 ] ∈ 𝑅 × (11) 𝐾 (𝑥) = 0 0 0 𝐾 𝑠𝑔𝑛(𝑥) ∈ 𝑅 × (12)
Untuk  menentukan 𝑢 (𝑡) sebagai  persamaan  kendali  di  Persamaan  (8),  akan  dilakukan metode yang sama seperti mode satu.
𝑢 (𝑡) = −𝐾 𝑥 (𝑡) + 𝑁 𝑟
(13)
Dimana 𝑟 = [𝑥 ∗ 𝑦 ∗ θ ∗ 𝑣 ∗ 𝑣 ∗ 𝑤 ∗ ] adalah setpoint kendali mode dua, 𝐾 ∈ 𝑅 𝟛×𝟞 adalah kostanta  yang  diperoleh  dari  optimasi  persamaan Riccati    terhadap  maktriks 𝐴 dan 𝐵
menggunakan  Persamaan  (8)  dan 𝑁 ∈ 𝑅 𝟛×𝟞 adalah  kostanta  yang  diperoleh  dari inverse state-space ketika keadaan steady state.

## 2.3  Kendali Formasi Berdasarkan Jarak
Kendali  formasi  berdasarkan  jarak  memanfaatkan  variabel  jarak  untuk  mengendalikan sekelompok robot mencapai formasi jarak yang diinginkan. Penelitian oleh Oh (Oh & Ahn, 2014) menggunakan teori graph untuk menjelaskan kendali formasi berdasarkan jarak. Pada teori graph terdapat notasi himpunan simpul ( 𝒱 ), dan himpunan sisi ( ℰ ). Himpunan simpul, ( 𝒱 ) juga dapat disebut sebagai node atau points atau dalam kontes penelitian ini simpul adalah robot. Himpunan sisi ( ℰ ) mempresentasikan hubungan antara simpul dan juga dapat disebut sebagai edge atau link atau dalam kontes penelitian ini adalah variabel jarak antara dua robot yang bertetanggaan. Didalam teori graph hubungan antara simpul memiliki arah hubungan atau  dapat  diilustrasikan  sebagai  komunikasi, undirect  graph  adalah  kerangka  graph  yang memiliki komunikasi dua arah, dalam konteks penelitian ini setiap robot saling mengukur jarak antara  tetangganya.  Penelitian  ini  akan  menggunakan  definisi undirect  graph 𝒢 = (𝒱, ℰ) dimana terdiri dari himpunan simpul 𝒱 dan himpunan sisi ℰ ⊆ 𝒱 × 𝒱 . Didefinisi n ≜  |𝒱| sebagai jumlah  dari  robot  dan 𝑚  ≜   |ℰ | sebagai  jumlah  dari  variabel  jarak  antar  robot  yang bertetanggaan.  Didefinisi 𝑝 = [𝑥 … 𝑥 ] ∈ 𝑅 𝟛 adalah  vektor  posisi  dari  semua  robot dimana 𝑥 ∈ 𝑅 𝟛 adalah koordinat robot 𝑖 dan kadang menggunakan notasi 𝑗 sebagai notasi bahwa robot 𝑖 bertetanggaan dengan 𝑗 , maka himpunan sisi ℰ berlaku 𝑥 ≠ 𝑥 untuk semua 𝑖  ≠ 𝑗 . Dinotasikan vektor posisi relatif antara robot sebagai 𝑒 ≜ 𝑥 − 𝑥 dan semua vektor sisi 𝑒 = [𝑒 … 𝑒 ] ∈ 𝑅 𝟛 .  Kendali  formasi yang  dikembangkan oleh  Oh (Oh & Ahn, 2014) menggunakan persamaan potensial sebagai berikut
Φ(𝑒) = 1 2 |𝑣 | ∈𝒱 + 1 2 |𝑒 | − 𝑑 (14)
Dimana 𝑣 adalah kecepatan robot 𝑖 dan 𝑑 adalah jarak yang dinginkan. Mengadopsi metode dari penelitian oleh Oh (Oh & Ahn, 2014) menggunakan model double integrator sederhana dan  menggantikan  variabel  masukannya  dengan gradient  negative  akan  menghasilkan persamaan state-space yang akan dijalankan secara simulasi  untuk  mengamati pergerakan semua robot.
𝑝̇ = 𝑣(𝑡) (15) = 𝐴 𝑝(𝑡) 𝑝(𝑡) + 𝐵 ∂Φ(𝑒)
∂𝑣
= 𝐴 𝑝(𝑡) 𝑝(𝑡) + 𝐵 𝑣(𝑡) (16)
𝑣̇ = 𝑢(𝑡)
(17)
= −𝐶 𝜕𝛷(𝑒) 𝜕𝑣 + 𝜕𝛷(𝑒)
𝜕𝑝 = −𝑘 𝑣(𝑡) + 𝑅 𝑝(𝑡)  𝑘 𝑅 𝑝(𝑡) 𝑝(𝑡) − 𝑑 (18)
Model sederhana di Persamaan (15) memiliki masukan kecepatan, maka dapat diganti dengan dengan  Persamaan  (5)  menjadi  Persamaan  (16)  dimana  variabel  masukan 𝑟 adalah kecepatan. Lalu Persamaan (17) menggunakan gradient negative dari Persamaan (14) akan menghasilkan  Persamaan  (18)  sebagai  kendali  formasinya.  Merujuk  dari  penelitian  oleh Rozenheck (Rozenheck, dkk, 2015) , 𝑅(𝑝) adalah fungsi rigidity matrix
𝑅(𝑝) ≜ 𝑑𝑖𝑎𝑔 𝑒 (𝐸 ⊗ 𝐼 ) ∈ 𝑅 ×𝟛 (19)
Menggunakan ilustrasi maktriks 𝐴 ∈   𝑅 × dapat dijelaskan  fungsi 𝑑𝑖𝑎𝑔(𝐴 ) ,  yaitu operasi, block  diagonal  matrix  yang  dapat  didefinisikan  sebagai 𝑑𝑖𝑎𝑔(𝐴 ) ≜ 𝑏𝑙𝑘𝑑𝑖𝑎𝑔{𝐴 1 , … , 𝐴 𝑛 } ∈ 𝑅 𝑛𝑝×𝑛𝑞 , 𝐼 adalah maktriks identitas 2 × 2 dan 𝐸 ∈ 𝑅 × adalah maktriks incidence {0, ±1} yang baris dan kolom maktriksnya mengindikasikan simpul dan sisinya.

## 2.4 Algoritma Cosinus
Telah didefinisi di pembahasan pendahuluan (bab 1) bahwa menggunakan informasi jarak saja robot  tidak  mengetahui  koordinat  tetangganya,  sedangkan  di  Persamaan  (16)  dan  (18), sebagai  kendali  formasi,  membutuhkan state  awal  koordinat.  Penelitian  ini  mengusulkan algoritma cosinus untuk  menemukan  state  awal  tersebut.  Algoritma  cosinus  membutuhkan robot untuk mengerjakan dua Langkah yang akan dijelaskan sebagai berikut.
Dinotasikan 𝒩 adalah himpunan tetangga dari robot 𝐴 . Dinotasikan 𝐵 ∈ 𝒩 adalah robot 𝑖 sebagai  tetangga  dari  robot 𝐴 .  Dinotasikan 𝑑 [𝑘] adalah  informasi  jarak  antara  robot 𝐴 ke robot 𝐵 .
Langkah  pertama. Gambar  2 adalah Ilustrasi  langkah  pertama  algoritma cosinus  dimana robot 𝐴 diharuskan  berpindah  sepanjang 𝑙 atau  ke  koordinat 𝐴′ = (0, 𝑙 ) menggunakan kendali mode dua di Persamaan (8) akan tetapi robot harus menyimpan jarak 𝑑 [𝑘] terlebih dahulu. Setelah berpindah robot 𝐴 mendapatkan jarak 𝑑 [𝑘 + 1] digunakan untuk menentukan sudut α ∘ menggunakan rumus segitiga cosinus. Berikut adalah Persamaan α ∘ .
𝜁 = 𝑐𝑜𝑠 𝑙 + 𝑑 [𝑘 + 1] − 𝑑 [𝑘]
2𝑑 [𝑘 + 1]𝑙
(20)
𝛼 ∘ = 180 ∘ ± 𝜁 (21)
Variable α ∘ dan 𝑑 [𝑘 + 1] adalah nilai dari koordinat polar dari setiap robot tetangga 𝐴 . Diubah menjadi koordinat kartesian untuk dapat dimasukkan dalam state kendali formasi.
𝑥 = 𝑥 = 𝑑 [𝑘 + 1] cos α ∘ 𝑦 = 𝑑 [𝑘 + 1] sin α ∘ (22)
Gambar 2. Strategi Algoritma Cosinus Pencarian Koordinat Tetangga Langkah Pertama
Langkah  kedua. Koordinat  di  Persamaan  (22)  akan  menghasilkan  bias  dikarenakan Persamaan (21) tidak mengetahui letak kuadran sudutnya. Menggunakan ilustrasi di Gambar 3,  langkah  pertama  menhasilkan  dua  kemungkinan  koordinat  robot 𝐵 dan 𝐵 .  Apabila  di perhatikan  di  Gambar  2,  Sudut ζ adalah  sudut  segitiga ∠𝐴𝐴 𝐵 atau ∠𝐴𝐴 𝐵 sehingga dimungkinkan koordinat yang dihasilkan Persamaan  (22) bisa berada pada kuadran 1  atau kuadran 4. Oleh karena itu di Persamaan (21) terdapat operasi ± dimana operasi tersebut akan dilakukan berdasarkan letak kuadran 𝐵 .
α ∘ = 180 ∘ − 𝜁 , 𝑅𝑜𝑏𝑜𝑡 𝑏𝑒𝑟𝑎𝑑𝑎 𝑝𝑎𝑑𝑎 𝑘𝑢𝑎𝑑𝑟𝑎𝑛 1 𝑑𝑎𝑛 2 180 ∘ + 𝜁 , 𝑅𝑜𝑏𝑜𝑡 𝑏𝑒𝑟𝑎𝑑𝑎 𝑝𝑎𝑑𝑎 𝑘𝑢𝑎𝑑𝑟𝑎𝑛 3 𝑑𝑎𝑛 4 (23)
Langkah  kedua  ini  bertujuan  untuk  menentukan  kejadian  di  Persamaan  (23)  dimana  robot harus  berpindah  ke  koordinat 𝐴 = (𝑥 ∗ , 𝑦 ∗ ) (Gambar  3).  Sebelum  robot  berpindah,  kondisi robot  telah  mendapatkan  koordinat  dari  langkah  pertama.  Koordinat  tersebut  akan  diubah menjadi jarak dan akan dibandingkan jarak tersebut dengan informasi jarak dari sensor setelah berpindah ke 𝐴 .  Apabila  terdapat perbedaan  maka kejadian  di  Persamaan  (22) diubah  ke kejadian selanjutnya dan mengkoreksi koordinat sebelumnya.

## 3. HASIL DAN PEMBAHASAN
Kendali  formasi  berdasarkan  jarak  akan  dijalankan  secara  simulasi  menggunakan MATLAB/GNU Octave dan algoritma cosinus akan dijalankan pertama kali untuk mendapatkan state yang akan digunakan di Persamaan (16) dan (18). Simulasi akan menggunakan 3 robot dengan himpunan simpul 𝒱 = {𝑅 , 𝑅 , 𝑅 } dan himpunan sisi ℰ = {(𝑅 , 𝑅 ), (𝑅 , 𝑅 ), (𝑅 , 𝑅 ) } sehingga  variable  jarak 𝑑 = |𝑥 − 𝑥 | , 𝑑 = |𝑥 − 𝑥 | dan 𝑑 = |𝑥 − 𝑥 | .  Gambar  4 adalah pergerakan robot terhadap koordinat global robot 𝑅 dengan kendali formasi algoritma cosinus. dapat diperhatikan robot 𝑅 menjalankan algoritma cosinus langkah pertama dimana robot  berpindah  sepanjang 𝑙 = 1 sehingga setpoint  kendali  Persamaan  (13)  adalah 𝑟 = [1 0 0 0 0 0] . Setelah setpoint tercapai, robot 𝑅 mendapatkan jarak yang dibutuhkan
Gambar 3. Strategi Algoritma Cosinus Pencarian Koordinat Tetangga Langkah Kedua
untuk  menyelesaikan  Persamaan  (21)  dan  (22)  lalu  dilanjutkan  ke  langkah  dua  dengan berpindah  ke  koordinat (1,1) sehingga setpoint  kendali  Persamaan  (13)  adalah 𝑟 = [1 1 0 0 0 0] .  Setelah setpoint  tercapai  maka  dilakukan  pengecekan  kejadian Persamaan (23) dengan membandingkan jarak dari sensor dengan jarak dari koordinat yang dihasilkan dari Persamaan (22). Robot 𝑅 berada di kuadran 4 maka kejadian yang digunakan adalah α ∘ = 180 ∘ + 𝜁 dan  robot 𝑅 berada  di  kuadran  1  maka  kejadian  yang  digunakan adalah α ∘ = 180 ∘ −   𝜁 .  Setelah  koordinat  ditemukan,  maka  kendali  robot  mulai  berpindah menggunakan kendali formasi Persamaan (16) dan (18) dengan kondisi koordinat awal state berada di 𝑡 = 6 dan akhir dari formasi di 𝑡 = 20 pada Gambar 4.
Seperti yang telah dijelaskan di pembahasan algoritma cosinus (subbab 2.4), bahwa kendali formasi  di  Persamaan  (16)  dan  (18)  mengharuskan state  dalam  bentuk  koordinat  dimana ketika  kondisi  awal  robot  tidak  mengetahuinya,  maka  peran  utama  dari  algoritma cosinus untuk  mendapatkan state  tersebut.  Gambar  5  adalah  grafik  perbandingan  kendali  formasi Persamaan  (16)  dan  (18)  dengan  algoritma cosinus  dan  tanpa  algoritma  cosinus  dengan asumsi ketika dilakukan percobaan tanpa algoritma, kondisi awal state  telah diketahui. Hasil jarak ||𝑑 || pada  kendali  formasi  tanpa  algoritma cosinus  menunjukan  bahwa  setiap  robot mencapai jarak yang sama dalam waktu kurang lebih 4 detik. Sedangkan pada kendali formasi dengan  algoritma cosinus  terdapat  tambahan  waktu  6  detik.  Tambahan  waktu  tersebut digunakan untuk menjalankan algoritmanya.
Gambar 5. Grafik Response Jarak Terhadap Waktu Pada Robot Dengan Kendali Formasi.
Gambar 4. Grafik Pergerakan Robot Menggunakan Algoritma Cosinus dan Kendali Formasi
Tabel 1. Settling Time Dengan Konstanta Kp Yang Berbeda Koordinat Settling Time Tanpa Algoritma cosinus (detik) Settling Time Dengan Algoritma cosinus (detik) Selisih (detik) R1 R2 R3 A B C A B C A B C (0, 0) (1, 2)  (-2, 3) 6 5 3 14 11 9 8 6 6 (0, 0)  (-2, -4)  (3, -2) 4 2 2 9 8 7 5 6 5 (0, 0) (1, 2)  (3, -3) 7 4 2 16 13 11 9 9 9 (0, 0)  (-2, -3)  (3, 2) 10 7 4 16 11 9 6 4 5
Konstanta: (𝑨)  𝑲 𝒑𝟏 = 𝟓𝟎;    𝑲 𝒑𝟐 = 𝟑;  (𝑩)   𝑲 𝒑𝟏 = 𝟖𝟎;    𝑲 𝒑𝟐 = 𝟕;  (𝑪)  𝑲 𝒑𝟏 = 𝟏𝟎𝟎; 𝑲 𝒑𝟐 = 𝟏𝟓
Percobaan di Gambar 5 adalah grafik settling time saat koordinat robot seperti di Gambar 4 yaitu R2 berada di kuadran 1 dan R3 berada di kuadran 4. Hasil percobaan Tabel 1 bertujuan untuk mengetahui kecepatan algoritma cosinus mencari koordinat tetangga dengan kombinasi kemungkinan dua robot dengan kejadian di Persamaan (23). Serta diberikan nilai 𝐾 dan 𝐾 di  Persamaan  (18)  yang  berbeda  untuk  mengetahui  pengaruh  parameter  kendali  formasi terhadap  algoritma cosinus.  Setelah  dilakukan  percobaan,  selisih  waktu  ketika  algoritma cosinus  berjalan  dengan  perbedaan  parameter  menghasilkan  waktu  yang  tidak  jauh  beda antara 0-2 detik. Maka, algoritma cosinus mendapatkan koordinat tetangga yang digunakan untuk nilai kondisi awal kendali hampir tidak berpengaruh terhadap kendali formasi Persamaan (18) dengan rata-rata waktu 6.5 detik, minimal waktu 4 detik dan maksimal 9 detik.

## 4. KESIMPULAN
Penelitian ini mengusulkan penggunaan algoritma cosinus untuk kendali formasi berdasarkan jarak menggunakan tiga model robot holonomic. Dari hasil percobaan dicapai rata-rata waktu sebesar  6.5  detik  ketika  algoritma cosinus  menemukan  keadaan  awal  kendali  formasi berdasarkan jarak menggunakan model robot holonomic.

## DAFTAR RUJUKAN
Cai, X., & de Queiroz, M. (2014). Multi-agent formation maneuvering and target interception with double-integrator model. 2014 American Control Conference, (pp. 287–292).
Correia,  M.  D.,  Gustavo,  A.,  &  Conceição,  S.  (2012).  Modeling  of  a  Three  Wheeled Omnidirectional Robot Including Friction Models. IFAC Proceedings Volumes, 45(22), 7– 12.
Deghat,  M.,  Anderson,  B.  D.  O.,  &  Lin,  Z.  (2016).  Combined  Flocking  and  Distance-Based Shape Control of Multi-Agent Formations. IEEE Transactions on Automatic Control, 61(7),
1824–1837.
Ferik, S. El, Nasir, M. T., & Baroudi, U. (2016). A Behavioral Adaptive Fuzzy controller of multi robots in a cluster space. Applied Soft Computing, 44, 117–127.
Guanghua, W., Deyi, L., Wenyan, G., & Peng, J. (2013). Study on Formation Control of Multi- Robot Systems. 2013 Third International Conference on Intelligent System Design and
Engineering Applications, (pp. 1335–1339).
Guo, K., Li, X., & Xie, L. (2020). Ultra-Wideband and Odometry-Based Cooperative Relative
Localization  With  Application  to  Multi-UAV  Formation  Control. IEEE  Transactions  on Cybernetics, 50(6), 2590–2603.
Kang, S.-M., Park, M.-C., Lee, B.-H., & Ahn, H.-S. (2014). Distance-based formation control with a single moving leader. 2014 American Control Conference, (pp. 305–310).
Li, X., Li, B., Zhang, P., Zhang, J., & Zhang, S. (2015). Large-Scale Unmanned Aerial Vehicle Formation  Maintenance  Algorithm  Based  on  Virtual  Structure. 2015  8th  International Symposium on Computational Intelligence and Design (ISCID), 1, (pp. 417–421).
Oh, K.-K., & Ahn, H.-S. (2014). Distance-based undirected formations of single-integrator and double-integrator modeled agents in n-dimensional space. International Journal of Robust and Nonlinear Control, 24(12), 1809–1820.
Oh,  K.-K.,  Park,  M.-C.,  &  Ahn,  H.-S.  (2015).  A  survey  of  multi-agent  formation  control. Automatica, 53, 424–440.
Park, M.-C., & Ahn, H.-S. (2015). Distance-based control of formations with orientation control.
2015 54th IEEE Conference on Decision and Control (CDC), (pp. 2199–2204).
Qiang, L., Heng, W., Huican, L., Shuqi, Q., Nanxun, D., & Bing, L. (2018). Formation control of multi robot based on UWB distance measurement. 2018 Chinese Control And Decision Conference (CCDC), (pp. 2404–2408).
Qiang, L., Heng, W., Huican, L., & Ying, Z. (2017). Design and implementation of multi robot research platform based on UWB. 2017 29th Chinese Control And Decision Conference (CCDC), (pp. 7246–7251).
Rozenheck, O., Zhao, S., & Zelazo, D. (2015). A proportional-integral controller for distance- based formation tracking. 2015 European Control Conference (ECC), (pp. 1693–1698).
Wang, X., Yan, Z., & Wang, J. (2014). Model predictive control of multi-robot formation based on  the  simplified  dual  neural  network. 2014  International  Joint  Conference  on  Neural Networks (IJCNN), (pp. 3161–3166).