Abstrak — Computerized  Numerical  Control (CNC)  semakin banyak  diminati  di  bidang  industri  manufaktur  [1].  Pada umumnya,  CNC  dibutuhkan  untuk  dapat  menghasilkan pergerakan yang sinkron diantara tiap sumbu geraknya untuk mengikuti  suatu  lintasan  yang  telah  ditentukan.  Tantangan utamanya adalah bagaimana cara untuk mengeliminasi contour error daripada  menghilangkan error pada  masing-masing sumbu [2]. Penelitian ini mengajukan desain cross-coupling dari Generalized Predictive Control untuk mesin CNC dengan sistem servo dua sumbu gerak. Untuk mendapatkan sinkronisasi dan respon tracking yang baik, metode Cross-Coupled Control , yang cukup  banyak  digunakan  untuk  mengurangi contour  error [5] , dikombinasikan dengan metode Generalized Predictive Control . Metode Cross-Coupling  Generalized  Predictive  Control (CC- GPC)  akan  dibandingkan  dengan  metode modified  Cross- Coupled  Control (M-CCC)  [3]  untuk  menunjukkan  metode kontrol  mana  yang  menghasilkan  perfoma  paling  memuaskan untuk  mengurangi contour  error .  Simulasi  menunjukkan keuntungan dari metode CC-GPC adalah dapat meningkatkan respon  dari  sistem  motor  servo  AC. Rise  time ( 𝒕 𝒓 )  menurun menjadi 1.6 detik dan error steady state ( 𝒆 𝒔𝒔 ) berkurang menjadi 0.49.  Keuntungan  lain  adalah  koreksi  dari  tiap  sumbu  terjadi secara  bersamaan,  sehingga  sehingga  sistem  memiliki kemampuan  yang  baik  untuk  menahan  gangguan.  Dari pengujian  gangguan,  hasil  menunjukkan Root  Mean  Square Error (RMSE) dari metode CC-GPC adalah 0.3806. Cukup baik dibanding RMSE metode M-CCC yang sebesar 1.0478.
Kata  Kunci — Computerized  Numerical  Control,  Contour  Error, Cross-Coupled Control, Generalized Predictive Control.

## I. PENDAHULUAN
EAKURATAN  dari  mesin Computerized  Numerical Control (CNC)  untuk  mengikuti  suatu  lintasan  yang telah  ditentukan  adalah  kriteria  yang  sangat  penting  dalam menentukan kinerja dari mesin [1]. Konfigurasi antar sumbu merupakan  faktor  yang  penting  sangat  berpengaruh  dalam menentukan  keakuratan  pembentukan  suatu contour . Contour dibentuk berdasarkan pergerakan dari tiap-tiap unsur pembentuk  lintasan.  Dalam  pergerakan  tersebut,  apabila terjadi ketidaksesuaian pergerakan akan berakibat terjadinya penyimpangan.  Hal  ini  disebut  dengan contour  error ,  yaitu penyimpangan  antara  lintasan  referensi  yang  diinginkan dengan lintasan aktual yang dihasilkan [4]. Ketika tiap sumbu melacak  koordinat  lintasan  tertentu  yang  sudah  ditentukan, maka  pergerakan  masing-masing  sumbu  akan  berpengaruh terhadap  pembentukan  lintasan  tersebut.  Pergerakan  tiap sumbu perlu dikoordinasi agar kontur yang dihasilkan sesuai dengan  yang  diinginkan.  Sebelumnya,  pada  sistem  servo multi-sumbu,  tiap  sumbu  dikontrol  terpisah  secara konvensional [2]. Cross-Coupled Control (CCC) merupakan
salah  satu  metode  yang  digunakan  untuk  mengontrol  suatu sistem  dengan  beberapa  sumbu  gerak  secara  terkoordinasi. Konsep  ini  telah  berhasil  diterapkan  untuk  mengurangi contour error dalam pengendalian gerakan dari sistem multi- sumbu.  Akan  tetapi,  apabila  metode  ini  dihadapkan  dengan perubahan  parameter  dan  kondisi  sistem  yang  nonlinear, maka solusi ini kurang ideal. Beberapa terapan dari metode CCC  telah  diajukan,  namun  kelemahan  utama  metode  ini adalah  tidak  dapat  secara  langsung  beradaptasi  atas perubahan pada parameter sistem dan penambahan gangguan sehingga tidak dapat memberikan performa yang memuaskan.
Metode  kontrol  prediktif  telah  diterima  secara  luas  dan telah banyak di aplikasikan di industri  pada beberapa tahun terakhir  [6].  Salah  satu  metode  kontrol  prediktif  paling populer  adalah Generalized  Predictive  Control (GPC). Metode  ini  popular  karena  kelebihannya  yang  lebih sederhana  dan  ketajaman  kontrolnya.  Terutama  untuk aplikasi  pada  sistem  yang  nonlinear  dan  membutuhkan performa tinggi, GPC memiliki robustness yang lebih baik. Pada  penelitian  ini  akan  diajukan  perancangan  kontroler Cross-Coupling  Generalized  Predictive  Control (CC-GPC) untuk sistem dengan dua sumbu gerak. Metode ini diharapkan dapat  mengurangi  masalah contour  error yang  terjadi  pada sistem multi-sumbu seperti mesin CNC.

## II. TEORI PENUNJANG
A. Computerized Numerical Control
Numerical  Control (NC)  merupakan  salah  satu  metode untuk mengendalikan operasi dari sebuah mesin. Pengendalian tersebut menggunakan program yang mengandung  data  numerik  untuk  menentukan  pergerakan sumbu  menuju  lintasan  yang  diinginkan. Computerized Numerical  Control (CNC)  merupakan  pengambangan  dari teknologi  NC  dimana  digunakan  komputer  berbasis perangkat  lunak  dan driver .  Kemudian  teknologi  CNC semakin  semakin  berkembang  sehingga  kapabilitas  dan kehandalan  mesin  dalam  sebuah  proses  produksi  menjadi lebih  tinggi.  Mesin  CNC  adalah  mesin  perkakas  yang digunakan  untuk  mengikis,  memotong,  atau  membentuk sebuah benda. Mesin CNC adalah pengembangan dari mesin perkakas  yang  menggunakan  program  dalam  proses membentuk sebuah benda.
Pada  mesin  CNC  terdapat  bagian  yang  berputar  yang disebut dengan spindle . Berdasarkan bagian tersebut,  mesin CNC  dapat  dibedakan  menjadi  dua  jenis  yaitu  mesin  CNC lathe dan milling .  Pada  mesin  CNC lathe ,  benda  kerja
Analisa Metode Cross-Coupling Generalized Predictive Control untuk Mengurangi Contour Error pada Mesin CNC
Muhammad Fathu Sunu Mukti dan Rusdhianto Effendi AK Departemen Teknik Elektro, Institut Teknologi Sepuluh Nopember (ITS)
e-mail : ditto@ee.its.ac.id
K
terdapat  pada  bagian spindle .  Mesin  CNC lathe digunakan untuk mengikis atau mengukir benda kerja tersebut sehingga menjadi bentuk yang diinginkan. Untuk mesin CNC milling , terdapat  dua  jenis  penempatan  motor spindle ,  yaitu spindle yang  bergerak  saat  penggerak  sumbu  X  dan  Y  membentuk benda  kerja  dan  motor spindle yang  diam  tetapi  benda kerjanya yang bergerak dan digerakkan oleh motor servo AC sebagai penggerak.
B. Contour Error
Contour Error merupakan istilah dari penyimpangan yang terjadi  karena  adanya  perbedaan  antara  lintasan  referensi dengan  lintasan  yang  dihasilkan  sebenarnya  dalam  proses pembentukan  kontur.  Ilustrasi  tersebut  ditujukkan  pada Gambar 1. Dimana R sebagai titik referensi dari pergerakan akhir  kontur  yang  diinginkan.  Titik  P  merupakan penyimpangan  dari  lintasan. E x merupakan  penyimpangan dari sumbu X dan E y merupakan penyimpangan dari sumbu Y , E t merupakan tracking error , dan E c merupakan contour error .  Lintasan  yang  ditunjukkan  dengan  garis  adalah lintasan  yang  diinginkan,  sedangkan  lintasan  yang sebenarnya ditunjukkan pada garis putus-putus.
Untuk meningkatkan akurasi dalam pembentukan kontur, dapat digunakan kontroler untuk tracking dan kontroler untuk proses  pembentukan  kontur.  Untuk  kontroler tracking , penggunannya adalah untuk mengurangi atau menghilangkan penyimpangan  yang  terjadi  berdasarkan  masing-masing sumbu  atau  pada  bagian E x dan E y .  Sedangkan  untuk kontroler  pada  kontur,  digunakan  untuk  mengurangi  atau
menghilangkan  penyimpangan  secara  langsung  tanpa memperhatikan  apakah  terjadi  pengurangan  penyimpangan pada E x dan E y .  Namun  kontroler  dapat  mengurangi penyimpangan  masing-masing  sumbu  sekaligus  kesalahan kontur secara langsung.
C. Generalized Predictive Control (GPC)
Metode Generalized  Predictive  Control (GPC)  yang diperkenalkan  oleh Clarke et  al [[6][7]  banyak  digunakan pada proses dalam industri. Hal ini disebabkan kontroler GPC memiliki  kemampuan  pengaturan  yang  stabil  untuk  sistem dengan parameter, dead time , orde model yang berubah ubah, dan  ketahanan  terhadap  gangguan  yang  berupa  nilai  acak. GPC umumnya menggunakan pemodelan sistem Controlled Auto-Regresive Integrated Moving Average (CARIMA) yang memasukkan model gangguan.
𝐴(𝑞 −1 )𝑦(𝑡) = 𝐵(𝑞 −1 )𝑢(𝑡 − 1) + 𝐶(𝑞 −1 ) 𝜉(𝑡) ∆ (1)
dimana  u(t)  adalah input kontrol,  y(t)  adalah output ,  dan 𝜉(𝑡) adalah  gangguan  acak.  Di  mana  A,  B,  dan  C  adalah polinomial dari operator backward 𝑞 −1 .
𝐴(𝑞 −1 ) = 1 + 𝑎 1 𝑞 −1 + ⋯ + 𝑎 𝑛𝑎 𝑞 −𝑛𝑎 (2)
𝐵(𝑞 −1 ) = 𝑏 0 + 𝑏 1 𝑞 −1 + ⋯ + 𝑏 𝑛𝑏 𝑞 −𝑛𝑏 (3) 𝐶(𝑞 −1 ) = 1 + 𝑐 1 𝑞 −1 + ⋯ + 𝑐 𝑛𝑐 𝑞 −𝑛𝑐 (4)
Gambar 4. (a) Respon Uji Step (b) Sinyal Error .
Gambar 5. (a) Uji Step Gangguan 0.05 mm (b) Sinyal Error .
Gambar 6. (a) Respon Uji Ramp (b) Sinyal Error .
Gambar 1. Perbedaan Tracking Error dan Contour Error.
Gambar 2. Diagram Blok Kontroler GPC.
Gambar 3. Diagram Blok Kontroler CC-GPC.
setpoint Model Reference GPC Plant
Model Prediksi e(k+n) u(k) y(k) ŷ(k+n) - + x(k+n) GP C P lant Model P rediktor + Noise IN T ER P O L A T O R P dx P dy Model Reference + + - + + + - GP C P lant Model P rediktor + Noise Model Reference + + - - + + - 𝐶 𝑐 𝐶 𝐶 - 𝐶 𝐶 +
Dengan  model  linier,  yang  membatasi  kriteria  kontrol optimal kuadrat diajukan dalam kenaikan input output plant . Fungsi harga yang diminimumkan yaitu
𝐽(𝑁 1 , 𝑁 2 ) = 𝐸{ ∑ [𝑦(𝑡 + 𝑗) − 𝑤(𝑡 + 𝑗)] 2 𝑁2 𝑗=𝑁1 + ∑ 𝜆(𝑗)[∆𝑢(𝑡 + 𝑗 − 1)] 2 𝑁2 𝑗=1 }                       (5)
dimana 𝑁 1 adalah costing horizon minimal, 𝑁 2 adalah costing horizon maksimal, 𝜆(𝑗) adalah  urutan  kontrol  pembebanan. Sinyal output prediksi 𝑦̂(𝑘 + 𝑑 + 1 + 𝑛 𝑐 ) dituliskan sebagai penjumlahan  dari free  response dan force  response . Persamaan force response adalah sebagai berikut :
𝑦̂ 𝑓𝑐 (𝑘 + 𝑑 + 1 + 𝑛 𝑐 |𝑘) = 𝐵(𝑞 −1 ) 𝐴(𝑞 −1 ) 𝑢(𝑘 + 1 + 𝑛 𝑐 |𝑘)
= 𝐻(𝑞 −1 )∆𝑢(𝑘 + 1 + 𝑛 𝑐 |𝑘)  (6)
Free  Response merupakan  respons  hasil  pengaruh  dari input lampau  pada output yang  akan  datang  dengan  asumsi aksi kontrol dari waktu saat ini.
𝑦̂ 𝑓𝑟 (𝑘 + 𝑑 + 1 + 𝑛 𝑐 |𝑘) = 𝐵(𝑞 −1 ) 𝐴(𝑞 −1 ) 𝑢(𝑘 + 1 + 𝑛 𝑐 |𝑘 − 1)
∆𝑢(𝑘 + 𝑖) = 0; 𝑖 = 0,1,2, …                                             (7)
Vektor dari output prediksi adalah penjumlahan dari respons prediksi force dan free,
𝑦̂ = 𝒚 ̂ 𝒇𝒄 + 𝒚 ̂ 𝒇𝒓 (8)
Output force response dapat ditunjukkan dengan
𝒚 ̂ 𝒇𝒄 = 𝑯∆𝒖 𝒇 (9)
∆𝒖 𝒇 = [∆𝒖(𝑘|𝑘), ∆𝒖(𝑘 + 1|𝑘), … , ∆𝒖(𝑘 + 𝑛 𝑐2 − 1|𝑘)] 𝑇 (10)
dan 𝐻(𝑞 −1 ) adalah  fungsi  alih  pulsa  dari  proses  yang diperpanjang  dengan  integrator  tanpa dead  time fisik. Variabel  manipulasi  untuk  saat  ini  dan  akan  datang  disebut ∆𝒖(𝑘 + 𝑖), 𝑖 ≥ 0 didesain  dengan  waktu  diskrit,  dan  bisa ditulis ∆𝒖(𝑘 + 𝑖|𝑘) .  Untuk  lebih  mudahnya  penulisan ∆𝒖(𝑘 + 𝑖|𝑘) hanya  ditulis ∆𝒖(𝑘 + 𝑖) . H merupakan koefisien respons unit step.
Tabel 1.
Nilai RMSE Pengujian Sinyal Step Variasi Gangguan (mm) RMSE M-CCC CC-GPC 0 0.0738 0.1492 0.005 0.3827 0.1697 0.05 1.2035 0.2818 0.1 1.7018 0.3588 Tabel 2. Nilai RMSE Pengujian Sinyal Ramp Variasi Gangguan (mm) RMSE M-CCC CC-GPC 0 0.1994 0.5227 0.005 0.3908 0.5297 0.05 1.0773 0.5809 0.1 1.5097 0.6371 Tabel 3. Nilai RMSE Pengujian Sinyal Step Variasi Set Point Variasi Gangguan (mm) RMSE M-CCC CC-GPC 0 0.1393 0.2925 0.005 0.3957 0.3092 0.05 1.2101 0.3191 0.1 1.7076 0.3700 Tabel 4. Nilai RMSE Pengujian Pembentukan Kontur Linier Variasi Gangguan (mm) RMSE M-CCC CC-GPC 0 2.1700e-7 5.5237e-06 0.005 0.2749 0.1048 0.05 0.8686 0.3313 0.1 1.2283 0.4702 Gambar 7. (a) Uji Ramp Gangguan 0.05 mm (b) Sinyal Error .
Gambar 8. (a) Respon Uji Set Point (b) Sinyal Error .
Gambar 9. (a) Uji Set Point Gangguan 0.05 mm (b) Sinyal Error .
𝑯 =
[ ℎ 𝑛𝑐1+1 ℎ 𝑛𝑐1 ℎ 𝑛𝑐1+2 ℎ 𝑛𝑐1+1 ⋯ ℎ 𝑛𝑐1−𝑛𝑢+2 ⋯ ℎ 𝑛𝑐1−𝑛𝑢+1 ⋮ ⋮ ℎ 𝑛𝑐2+1 ℎ 𝑛𝑐1 ⋱ ⋮ ⋯ ℎ 𝑛𝑐2−𝑛𝑢+2 ] (11)
Berdasarkan  strategi receding  horizon hanya  kenaikan input pertama ∆𝒖(𝑘) digunakan dan dihitung dan diulang ke langkah kontrol selanjutnya,
∆𝒖(𝒌) = [1,0, … ,0][𝑯 𝑇 𝑯 + 𝜆 𝑢 𝑰] −1 𝑯 𝑇 (𝒚 𝒓 − 𝒚 ̂ 𝒇𝒓𝒆𝒆 )(12)
dimana vector [1,0, … ,0] memiliki 𝑛 𝑢 − 1 nilai nol.

## III. PERANCANGAN SISTEM

## A. Pemodalan Matematis Motor Servo AC
Persamaan  fungsi  alih  orde  dua  dari  model  matematika motor  servo  AC  diperoleh  melalui  persamaan  antara  torsi
motor dan beban motor [8]. Seperti pada persamaan dibawah yang merupakan persamaan dari torsi motor.
𝑇 𝑚 = 𝐾 𝑐 𝑒 𝑐 − 𝐾 𝑛 𝑑𝜃 𝑑𝑡 (13)
dengan 𝑒 𝑐 merupakan  tegangan  pada  fasa  kontrol  motor servo, 𝑑𝜃 𝑑𝑡 adalah posisi sudut motor servo. 𝐾 𝑐 dan 𝐾 𝑛 adalah konstanta motor. Sedangkan untuk persamaan dari torsi pada beban motor,
𝑇 𝑤 = 𝐽 𝑑 2 𝜃 𝑑𝑡 2 + 𝐵 𝑑𝜃 𝑑𝑡 (14)
dengan 𝑑2𝜃 𝑑𝑡2 merupakan kecepatan sudut dari motor. Untuk 𝐽 dan 𝐵 merupakan momen inersia dan koefisien gesek viskos dari motor. Kemudian dengan  mensubtitusi Persamaan (13) dan Persamaan (14), bisa didapat persamaan,
Gambar 14. Sinyal Kontrol CC-GPC saat Uji Ramp .
Gambar  15.  Sinyal  Kontrol  CC-GPC  saat  Uji Ramp Gangguan  0.05 mm.
Gambar 16. Sinyal Kontrol CC-GPC saat Uji Step Variasi Set Point .
Gambar  17.  Sinyal  Kontrol  CC-GPC  saat  Uji Step Variasi Set  Point Gangguan 0.05 mm.
Gambar 10. (a) Pembentukan Kontur Linier (b) Sinyal Error
Gambar 11. (a) Kontur Linier Gangguan 0.05 mm (b) Sinyal Error .
Gambar 12. Sinyal Kontrol CC-GPC saat Uji Step .
Gambar 13. Sinyal Kontrol CC-GPC saat Uji Step Gangguan 0.05 mm.
𝐽 𝑑 2 𝜃 𝑑𝑡 2 + 𝐵 𝑑𝜃 𝑑𝑡 = 𝐾 𝑐 𝑒 𝑐 − 𝐾 𝑛 𝑑𝜃 𝑑𝑡 (15) [𝐽𝑠 2 + 𝐵𝑠 + 𝐾 𝑛 𝑠]𝜃(𝑠) = 𝐾 𝑐 𝐸 𝑐 (𝑠)                                 (16)
Sehingga didapat fungsi alih motor servo AC,
𝜃(𝑠) 𝐸 𝑐 (𝑠) = ( 𝐾 𝑐 𝐵𝑠 + 𝐾 𝑛 ) 𝑠 ( 𝐽 𝐵𝑠 + 𝐾 𝑛 𝑠 + 1) (17) 𝜃(𝑠) 𝐸(𝑠) = 𝑘 𝑚 𝑠(𝜏 𝑚 𝑠 + 1) (18)
dengan 𝜏 𝑚 adalah  konstanta  waktu  motor  dan 𝑘 𝑚 adalah konstanta penguatan motor. Dari spesifikasi yang didapat dari referensi [8], dapat diperoleh fungsi alih dari motor servo AC yang ditunjukkan pada persamaan dibawah ini.
𝐺(𝑠) =
0.4 𝑠(2.776𝑠 + 1) (19)

## B. Penentuan Prediction Horizon dan Comntrol Horizon
Jika dead-time dari  sistem  diketahui,  waktu  tersebut  bisa menjadi  nilai  minimum  dari prediction  horizon .  Sedangkan nilai maksimum prediction horizon mendekati nilai rise time dari sistem. Nilai prediction horizon yang terlalu besar bisa membuat  respon  sistem  menjadi  lambat  walaupun  tidak terdapat overshoot [6].  Untuk  mentukan control  horizon nilainya berada diantara minimum dan maksimum prediction horizon .  Menggunakan  model  matematika  pada  Persamaan (19)  diketahui  parameter  sistem 𝜔 𝑛 = 0.38 dan 𝜉 = 0.47 . Sistem  tergolong underdamped karena  memiliki  nilai 0 < 𝜉 < 1 . Kemudian dapat dihitung nilai rise time,
𝑡 𝑟 = 1 − 0.4167𝜉 + 2.917𝜉 2
𝜔 𝑛
; 0 < 𝜉 < 1                  (20)
Dan  didapat  nilai 𝑡 𝑟 = 3.8𝑠 .Dengan  nilai rise  time diketahui, maka dapat ditentukan panjang prediction horizon dan control horizon sebesar tiga.
C. Desain Kontroler GPC
Diagram  blok  dari  kontroler  GPC  dapat  dilihat  pada Gambar 2. Model referensi dari hasil input masa depan yang dinginkan  akan  dibandingkan  dengan output masa  depan yang  diprediksi  oleh  model  prediktor.  Kemudian  perkiraan error masa depan yang akan terjadi digunakan oleh kontroler GPC  untuk  menentukan  respon  sinyal  kontrol  yang  akan digunakan  pada  sistem  .  Kontroler  GPC  ini  akan  disusun berdasarkan  kinerja  dari  motor  servo  AC.  Dari  model matematika  motor  servo  AC,  maka  dilakukan  pemodelan yang  sesuai  dengan  GPC  yaitu  ARMA  ( Auto  Regressive Moving Average ). Model matematika motor servo AC adalah seperti pada Persamaan (19). Bentuk ARMA didapatkan dari penyusunan blok identifikasi ARMAX pada simulink Matlab dengan  modifikasi.  Ditentukan  orde  sistem  2,  orde  input  2, time  sampling  sebesar  0.1,  dengan  dijalankan  selama  100s maka didapatkan hasil permodelan ARMA dibawah ini.
𝑌(𝑧) 𝑈(𝑧) = 0.0007119𝑧 + 0.0007034 𝑧 2 − 1.965𝑧 + 0.9646 (21)
𝑦(𝑘) = 1.965𝑦(𝑘 − 1) − 0.9645𝑦(𝑘 − 2)
+0.0007119𝑢(𝑘 − 1) − 0.0007034𝑢(𝑘 − 2)       (22)
Setelah model ARMA ditemukan dan panjang prediction horizon dan control  horizon telah  ditentukan,  langkah selanjutnya  yaitu  menurunkan  persamaan  beda  pada Persamaan  (3.42)  sampai  mendapatkan 𝑦(𝑘 + 𝑁𝑈) dengan 𝑁𝑈 = 3 sesuai panjang horizon .
𝑦(𝑘) = 𝑏 1 𝑦(𝑘 − 1) + 𝑏 2 𝑦(𝑘 − 2) + 𝑎 1 𝑢(𝑘 − 1) +𝑎 2 𝑢(𝑘 − 2)                                                        (23) 𝑦(𝑘 + 1) = 𝑏 1 𝑦(𝑘) + 𝑏 2 𝑦(𝑘 − 1) + 𝑎 1 𝑢(𝑘)
+𝑎 2 𝑢(𝑘 − 1)                                                (24)
𝑦(𝑘 + 2) = (𝑏 1 2 + 𝑏 2 )𝑦(𝑘) + 𝑏 1 𝑏 2 𝑦(𝑘 − 1) +𝑎 1 𝑢(𝑘 + 1) + (𝑏 1 𝑎 1 + 𝑎 2 )𝑢(𝑘)
+𝑏 1 𝑎 2 𝑢(𝑘 − 1)                                            (25) 𝑦(𝑘 + 3) = (𝑏 1 3 + 2𝑏 1 𝑏 2 )𝑦(𝑘) + (𝑏 1 2 𝑏 2 + 𝑏 2 2 )𝑦(𝑘 − 1)
+𝑎 1 𝑢(𝑘 + 2) + (𝑏 1 𝑎 1 + 𝑎 2 )𝑢(𝑘 + 1) +(𝑏 1 2 𝑎 1 + 𝑏 2 𝑎 1 + 𝑏 1 𝑎 2 )𝑢(𝑘) +(𝑏 1 2 𝑏 2 + 𝑏 2 2 )𝑢(𝑘 − 1)                            (26)
Dari persamaan diatas dapat dibentuk matriks,
𝑦̂ = 𝒚 ̂ 𝒇𝒐𝒓𝒄𝒆 + 𝒚 ̂ 𝒇𝒓𝒆𝒆 (27)
[ 𝑦̂(𝑘 + 1) 𝑦̂(𝑘 + 2) 𝑦̂(𝑘 + 3) ] = 𝑯 [ 𝑢(𝑘) 𝑢̂(𝑘 + 1)
𝑢̂(𝑘 + 2) ] + [ 𝑦̂ 𝑓𝑟𝑒𝑒 (𝑘 + 1) 𝑦̂ 𝑓𝑟𝑒𝑒 (𝑘 + 2) 𝑦̂ 𝑓𝑟𝑒𝑒 (𝑘 + 3) ]          (28)
dengan matriks H dan 𝒚 ̂ 𝒇𝒓𝒆𝒆 pada persamaan dibawah ini,
𝑯 = [ 𝑎 1 𝑏 1 𝑎 1 + 𝑎 2 𝑏 1 2 𝑎 1 + 𝑏 2 𝑎 1 + 𝑏 1 𝑎 2 0 𝑎 1 𝑏 1 𝑎 1 + 𝑎 2 0 0 𝑎 1 ]           (29)
𝒚 ̂ 𝒇𝒓𝒆𝒆 = [ 𝑏 1 𝑏 1 2 + 𝑏 2 𝑏 1
3 + 2𝑏 1 𝑏 2 𝑏 2 𝑏 1 𝑏 2 𝑏 1 2 𝑏 2 + 𝑏 2 2 𝑎 2 𝑏 1 𝑎 2 𝑏 1 2 𝑏 2 + 𝑏 2 2 ] [ 𝑦(𝑘) 𝑦(𝑘 − 1) 𝑢(𝑘 − 1) ] (30)
Kemudian bisa didapat persamaan sinyal kontrol GPC,
𝑢(𝑘) = [ 1 0 0 ] [𝐻 𝑇 𝐻 + 𝜆 𝑢 𝐼] −1 𝐻 𝑇 (𝒚 𝒓 − 𝒚 ̂ 𝒇𝒓𝒆𝒆 )               (31)
dengan
𝑦 𝑟 = [ 𝑦 𝑟+1 𝑦 𝑟+2 𝑦 𝑟+3 ]                                                                        (32)

## D. Desain Model Referensi
Sinyal referensi masa depan diprediksi berdasarkan model referensi yang telah ditentukan. Model referensi merupakan model  yang  digunakan  sebagai  tujuan  kontrol.  Model  ini digunakan  agar  respons  sistem  dapat  sesuai  dengan keinginan.  Respon  dari  model  referensi  yang  diharapkan dapat dicapai oleh sistem berbentuk persamaan orde satu.
𝐺(𝑠) = 1 0.2𝑠+1 (33)
Kemudian  dari  persamaan  diatas  dapat  dibentuk pemodelan diskrit dengan time sampling sebesar 0.1 detik
𝐺(𝑧) = 0.3935 𝑧 − 0.6065 (34)
Sehingga bisa didapat,
𝑦 𝑟 (𝑘) = 𝑏 𝑟 𝑦 𝑟 (𝑘 − 1) + 𝑎 𝑟 𝑥(𝑘 − 1)                             (35) 𝑦 𝑟 (𝑘) = 0.6065𝑦 𝑟 (𝑘 − 1) + 0.3935𝑥(𝑘 − 1)           (36)
Dari persamaan diatas dapat diturunkan persamaan 𝑦 𝑟 tiga langkah kedepan, sehingga didapatkan persamaan 𝑦 𝑟 (𝑘 + 3) . Dalam hal ini nilai 𝑥(𝑘) dianggap sama pada setiap waktu.
𝑦 𝑟 (𝑘 + 1) = 𝑏 𝑟 𝑦 𝑟 (𝑘) + 𝑎 𝑟 𝑥(𝑘)                                     (37) 𝑦 𝑟 (𝑘 + 2) = 𝑏 𝑟 2 𝑦 𝑟 (𝑘) + (𝑏 𝑟 𝑎 𝑟 + 𝑏 𝑟 )𝑥(𝑘)                   (38) 𝑦 𝑟 (𝑘 + 3) = 𝑏 𝑟 3 𝑦 𝑟 (𝑘) + (𝑏 𝑟 2 𝑎 𝑟 + 𝑏 𝑟 𝑎 𝑟 + 𝑎 𝑟 )𝑥(𝑘)          (39
E. Desain Model Prediktor
Untuk  menentukan  model  prediktor,  digunakan  model matematika  dari  motor  servo  AC  pada  Persamaan  (19). Kemudian dapat dibentuk pemodelan diskrit orde dua dengan time sampling sebesar 0.1 detik.
𝑌(𝑧) 𝑈(𝑧) = 0.0007119𝑧 + 0.0007034 𝑧 2 − 1.965𝑧 + 0.9646 (40)
Sehingga bisa didapat,
𝑦 𝑏 (𝑘) = 𝑏 𝑏1 𝑦(𝑘 − 1) + 𝑏 𝑏2 𝑦(𝑘 − 2) + 𝑎 𝑏1 𝑥(𝑘 − 1) +𝑎 𝑏2 𝑥(𝑘 − 2)                                                    (41) 𝑦 𝑏 (𝑘) = 1.965𝑦(𝑘 − 1) − 0.9645𝑦(𝑘 − 2)
+0.0007119𝑥(𝑘 − 1) + 0.0007034𝑥(𝑘 − 2) (42)
Dari persamaan diatas maka dapat diturunkan nilai 𝑦 𝑏 (𝑘) tiga langkah  kedepan. sehingga didapatkan nilai 𝑦 𝑏 (𝑘 + 3) . Sama  dengan  model  referensi  nilai 𝑥(𝑘) diangggap  sama pada setiap waktu.
𝑦 𝑏 (𝑘 + 1) = 𝑏 𝑏1 𝑦(𝑘) + 𝑏 𝑏2 𝑦(𝑘 − 1) +(𝑎 𝑏1 + 𝑎 𝑏2 )𝑥(𝑘)                                     (43) 𝑦 𝑏 (𝑘 + 2) = (𝑏 𝑏1 2 + 𝑏 𝑏2 )𝑦(𝑘) + 𝑏 𝑏1 𝑏 𝑏2 𝑦(𝑘 − 1) +(𝑏 𝑏1 + 1)(𝑎 𝑏1 + 𝑎 𝑏2 )𝑥(𝑘)                   (44)
𝑦 𝑏 (𝑘 + 3) = (𝑏 𝑏1 3 + 2𝑏 𝑏1 𝑏 𝑏2 )𝑦(𝑘) +(𝑏 𝑏1 2 + 𝑏 𝑏1 𝑏 𝑏2 2 )𝑦(𝑘 − 1) +(𝑏 𝑏1 2 + 𝑏 𝑏1 + 𝑏 𝑏2 + 1)(𝑎 𝑏1 + 𝑎 𝑏2 )𝑥(𝑘) (45)
Dari  persamaan 𝑦 𝑏 (𝑘 + 3) dan 𝑦 𝑟 (𝑘 + 3) yang dihubungkan  dengan  model  prediktor  dan  model  referensi, maka  didapatkan 𝑒(𝑘 + 3) yang  menjadi  sinyal error masa depan  untuk  referensi  kontroler  GPC.  Dengan  nilai error tersebut  kontroler  GPC  akan  bekerja  menentukan  sinyal kontrol yang harus dihasilkan.
F. Desai Kontroler CG-GPC
Sinyal error asli  dari  tiap  sumbu  dibandingkan  nilainya untuk mendapatkan nilai contour error. Kemudian kontroler CCC  mengolah  sinyal contour  error agar  respon contour error yang  diharapkan  bisa  dicapai.  Hasil  respon  kemudian akan  ditambahkan  ke output dari  model  referensi  untuk kemudian  dicari  selisihnya  dengan output dari  model
prediktor.  Diagram  blok  kontroler  CC-GPC  sepertidapat dilihat  pada  Gambar  3.Persamaan contour  error dapat dituliskan seperti pada persamaan dibawah ini.
𝜀 = −𝐸 𝐶 + 𝐸 𝐶 (46)
dimana
𝐶 = sin 𝜃                                                                           (47)
𝐶 = cos 𝜃                                                                          (48)
Kemudian  untuk Cross-Coupled  Control ( 𝐶 𝑐 )  ditentukan menggunakan  kontroler  Proporsional  +  Integral  untuk memperbaiki  kesalahan  kontur  dan  mendapatkan  respon transien  kesalahan  kontur  yang  diinginkan.  Dari manual tuning yang  dilakukan,  kemudian  didapat  parameter kontroler PI sebagai berikut,
𝐶 𝑐 = 0.1 (1 + 1 0.25𝑠 )                                                      (49)

## IV. PENGUJIAN DAN ANALISA SISTEM
Hasil  dari  pengujian  berupa  plot  kurva  referensi,  kurva aktual dan kurva kesalahan. Kurva kesalahan yang dibentuk pada saat pengujian ini akan dihitung nilai RMSE ( Root Mean Square Error ) untuk mendapat nilai rata-rata error- nya.

## A. Pemodalan Matematis Motor Servo AC
Pengujian  dengan input sinyal step pertama  dilakukan tanpa  memberi  gangguan.  Respon  dari  masing-masing metode  kontrol  dan  sinyal error -nya  dapat  dilihat  pada Gambar  4.Sistem closed-loop memiliki  respon  dengan  nilai time constant ( 𝜏 ) = 4 detik, rise time 5%-95%( 𝑡 𝑟 ) = 4.9 detik, settling  time ±  2% ( 𝑡 𝑠 )  =  21.8  detik,  dan max  overshoot ( %𝑀 𝑝 )  =  18%.  Kontroler  M-CCC  memiliki  respon  dengan nilai time constant ( 𝜏 ) = 0.2 detik, rise time 5%-95% ( 𝑡 𝑟 ) = 0.56 detik, settling time ( 𝑡 𝑠 ) = 1.2 detik, dan tidak mengalami overshoot . Kontroler CC-GPC memiliki respon dengan nilai time  constant ( 𝜏 )  =  1.5  detik, rise  time 5%-95%( 𝑡 𝑟 )  =  1.6 detik, settling time ± 2% ( 𝑡 𝑠 ) = 19.7 detik, dan max overshoot ( %𝑀 𝑝 ) = 50.3%. Kontroler M-CCC memiliki respon paling cepat dibanding kontroler lainnya karena kontroler PD pada yang  digunakan  pada  tiap  sumbunya  mampu  mempercepat respon  sistem  dan  menghilangkan overshoot .  RMSE  sistem closed-loop sebesar  0.1708,  kontroler  M-CCC  memiliki RMSE  sebesar  0.0738,  dan  kontroler  CC-GPC  memiliki RMSE  sebesar  0.1492.  Pengujian  dengan input sinyal step kemudian dilakukan dengan memberi variasi gangguan. Dari Tabel  1,  dapat  terlihat  bahwa  kontroler  M-CCC  memiliki nilai RMSE paling kecil ketika tidak diberi gangguan. Tetapi ketika  diberi  variasi  gangguan,  kenaikan  RMSE-nya  lebih besar  dibanding  kontroler  CC-GPC.  Hal  ini  disebabkan kontroler  M-CCC  memiliki  respon  yang  sangat  cepat sehingga  rentan  terhadap  gangguan  dapat  dilihat  pada Gambar  5.  Kontroler  CC-GPC  walaupun  memiliki  respon yang pelan, tetapi cenderung lebih stabil terhadap gangguan. Perubahan  nilai  RMSE  yang  cukup  kecil  ketika  gangguan ditambah  menunjukkan  kemampuan  kontroler  CC-GPC dalam  mempertahankan  kestabilannya  terhadap  variasi gangguan.
B. Pengujian Sinyal Ramp
Pengujian  dengan input sinyal ramp pertama  dilakukan tanpa  memberi  gangguan.  Respon  dari  masing-masing metode  kontrol  dan  sinyal error -nya  dapat  dilihat  pada Gambar 6. Sistem closed-loop memiliki respon dengan nilai error steady state ( 𝑒 𝑠𝑠 ) = 2.45. Kontroler M-CCC  memiliki respon dengan nilai error steady state ( 𝑒 𝑠𝑠 ) = 0.2. Kontroler CC-GPC  memiliki  respon  dengan  nilai error  steady  state ( 𝑒 𝑠𝑠 )  =  0.49.  RMSE  sistem closed-loop sebesar  2.5224, kontroler  M-CCC  memiliki  RMSE  sebesar  0.1994,  dan kontroler CC-GPC memiliki RMSE sebesar 0.5227.
Pengujian dengan input sinyal ramp kemudian dilakukan dengan memberi variasi gangguan. Dari Tabel 2, dapat dilihat bahwa  kontroler  CC-GPC  memiliki  respon tracking yang cukup baik dan kenaikan RMSE-nya ketika diberi gangguan cukup kecil. Sedangkan  kontroler M-CCC  kembali  menjadi tidak stabil ketika diberi gangguan. Kontroler CC-GPC dapat melakukan tracking dengan  sangat  baik  karena  dapat mengikuti sinyal referensi tanpa nilai error steady state yang besar dapat dilihat pada Gambar 7. Selain itu juga perubahan nilai  RMSE  yang  kecil  menunjukkan  kontroler  CC-GPC mampu  mempertahankan  kestabilannya  saat  melakukan tracking dan diberi variasi gangguan.

## C. Pengujian Sinyal Step Variasi Set Point
Pengujian  dengan input sinyal step variasi set  point pertama  dilakukan  tanpa  memberi  gangguan.  Respon  dari masing-masing  metode  kontrol  dan  sinyal error -nya  dapat dilihat pada Gambar 8. Sistem closed-loop memiliki respon yang lama dan tidak mencapai nilai set point . Kontroler M- CCC  memiliki respon  yang cepat dan mampu  mencapai set point . Kontroler CC-GPC memiliki respon yang lama tetapi masih  bisa  mencapai set  point .  RMSE  sistem closed-loop sebesar  0.4118,  kontroler  M-CCC  memiliki  RMSE  sebesar 0.1393,  dan  kontroler  CC-GPC  memiliki  RMSE  sebesar
0.2925  dapat dilihat pada Gambar 9.
Pengujian  dengan input sinyal step variasi set  point kemudian dilakukan dengan memberi variasi gangguan. Dari Tabel  3,  dapat  dilihat  bahwa  kontroler  CC-GPC  memiliki respon tracking yang  cukup  baik  dan  kenaikan  RMSE-nya ketika diberi gangguan cukup kecil. Sedangkan kontroler M- CCC  kembali  menjadi  tidak  stabil  ketika  diberi  gangguan. Kontroler CC-GPC dapat melakukan tracking dengan sangat baik karena dapat mengikuti sinyal referensi tanpa nilai error steady  state yang  besar.  Selain  itu  juga  perubahan  nilai RMSE  yang  kecil  menunjukkan  kontroler CC-GPC  mampu mempertahankan kestabilannya saat melakukan tracking dan diberi variasi gangguan.

## D. Pengujian Pembentukan Kontur Linier
Pengujian  pembentukan  kontur  linier  pertama  dilakukan tanpa  memberi  gangguan.  Respon  dari  masing-masing metode  kontrol  dan  sinyal error -nya  dapat  dilihat  pada Gambar  10.  RMSE  sistem closed-loop sebesar  7.1699e-6, kontroler M-CCC  memiliki RMSE sebesar 0.21709e-6, dan kontroler  CC-GPC  memiliki  RMSE  sebesar  5.5237e-06 dapat dilihat Gambar 11.
Pengujian  pembentukan  kontur  linier  kedua  dilakukan dengan  memberi  variasi  gangguan.  Dari  Tabel  4,  dapat terlihat bahwa dalam melakukan pembentukan kontur linier, ketiga sistem  memiliki  RMSE contour error mendekati  nol
ketika tidak ada gangguan. Hal ini disebabkan contour error merupakan  resultan error dari  kedua  sumbu  gerak.  Akan tetapi saat gangguan diberikan, kontroler M-CCC mengalami kenaikan  RMSE  yang  cukup  besar.  Kontroler  CC-GPC mampu  mempertahankan  kestabilan  dari  gangguan  dan membentuk kontur linier yang lebih baik dari sistem dengan kontroler lain.

## V. KESIMPULAN
Berdasarkan hasil simulasi dan pengujian, dapat diperoleh beberapa  kesimpulan.  Kontroler  CC-GPC  dengan  prediksi tiga  langkah  dapat  meningkatkan  performa  sistem  motor servo AC. Ketika dilakukan pengujian sinyal step, rise time ( 𝑡 𝑟 )  menjadi  lebih  cepat  dari  4.9  detik  menjadi  1.6  detik. Ketika  dilakukan  pengujian  sinyal ramp,  error  steady  state ( 𝑒 𝑠𝑠 ) berkurang dari 2.45 menjadi 0.49. Walaupun kontroler M-CCC ketika tanpa gangguan memiliki respon lebih cepat, kontroler CC-GPC lebih baik dalam meningkatkan ketahanan terhadap  gangguan  dibanding  kontroler  M-CCC.  Rata-rata RMSE  kontroler  CC-GPC  sebesar  0.3391  sedangkan  rata- rata RMSE kontroler M-CCC sebesar 0.7727 hasilnya dapat dilihat pada Gambar 12 sampai Gambar 17.
Berdasarkan  hasil  penelitian  dan  pengujian,  dapat diperoleh  beberapa  saran  untuk  penelitian  selanjutnya. Melakukan  perancangan  kontroler  GPC  dengan  memilih prediction horizon dan control horizon yang lebih tepat agar bisa  mendapat  respon  sistem  yang  lebih  baik.  Pada perancangan  kontroler  CC-GPC,  direkomendasikan  untuk menggunakan  kontroler  PD  untuk  kontrol  pada  masing- masing  sumbu  untuk  mempercepat  respon  sistem  dan menggunakan  kontroler  GPC  pada  kontroler cross-coupled untuk  meningkatkan  ketahanan  terhadap  gangguan  dan mengurangi contour error.

## DAFTAR PUSTAKA
[1]  Y. Koren,  “Cross-Coupled  Biaxial  Computer  Control  for Manufacturing Systems,” J. Dyn. Syst. Meas. Control. Trans. ASME , vol. 102, no. 4, pp. 265–272, Dec. 1980, doi: 10.1115/1.3149612.
[2]  Y. Koren and C. C. Lo, “Variable-Gain Cross-Coupling Controller for Contouring,” CIRP Ann. - Manuf. Technol. , vol. 40, no. 1, pp. 371–374, 1991, doi: 10.1016/S0007-8506(07)62009-5.
[3]  Y.  T.  Shih,  C.  S.  Chen,  and  A.  C.  Lee,  “A  Novel  Cross-Coupling Control Design for Bi-Axis Motion,” Int. J. Mach. Tools Manuf. , vol. 42,  no.  14,  pp.  1539–1548,  Nov.  2002,  doi:  10.1016/S0890- 6955(02)00109-8..
[4]  J. Sun and C. Hu, “Research on Modeling of Contour Error for Motion Control  System  of  CNC  Machine,”  in 2011  2nd  International Conference on Mechanic Automation and Control Engineering, MACE
2011 - Proceedings , 2011, pp. 1553–1556, doi: 10.1109/MACE.2011.5987246..
[5]  Y. Xiao and K. Zhu, “Cross-Coupling Generalized Predictive Control for  Motion  Systems,” Proc.  7th  Int.  Conf.  Control.  Autom.  Robot. Vision, ICARCV 2002 , pp. 1664–1669, 2002, doi:
10.1109/icarcv.2002.1235025.
[6]  D.  W.  Clarke,  C.  Mohtadi,  and  P.  S.  Tuffs,  “Generalized  Predictive Control-Part I.  The basic Algorithm,” Automatica , vol. 23, no. 2, pp. 137–148, Mar. 1987, doi: 10.1016/0005-1098(87)90087-2.
[7]  D.  W.  Clarke  and  C.  Mohtadi,  “Properties  of  Generalized  Predictive Control,” Automatica ,  vol.  25,  no.  6,  pp.  859–875,  Nov.  1989,  doi: 10.1016/0005-1098(89)90053-8.
[8]  M.  Vijayakarthick and  P.  K.  Bhaba, “Position  Tracking  Performance of  AC  Servomotor  based  on  New  Modified  Repetitive  Control Strategy,” IJJRAS , vol. 10, no. 1, pp. 119–128, 2014.