Anda di halaman 1dari 14

Implementasi Algoritma PID pada Sistem Path Tracking

Robot Differential Wheels

Hendawan Shoebhakti1, Fahrezi Miftahul Afif 2


{ hendawan@polibatam.ac.id, fahrezi.ma@gmail.com }

Politeknik Negeri Batam, Department of Elecrical Engineering, Study Program Robotics Engineering,
Ahmad Yani Street, Batam Centre, Batam 29461, Indonesia

Abstract. Robot differential wheels dapat mengalami kesalahan posisi saat bergerak di
sekitar lingkungan industri. Faktor-faktor seperti gesekan pada roda, permukaan yang
tidak rata, atau gangguan eksternal dapat menyebabkan robot tidak mengikuti jalur yang
diinginkan atau mengalami pergeseran posisi yang tidak diinginkan 1. Kesalahan posisi
dapat mengganggu tugas yang dijalankan oleh robot, terutama dalam operasi yang
membutuhkan presisi tinggi. Ketika robot differential wheels mengikuti lintasan dengan
kurva yang tajam atau tidak halus, dapat terjadi kesulitan dalam menjaga kecepatan dan
arah yang diinginkan. Hal ini dapat mengakibatkan kesalahan posisi yang signifikan atau
gejala overshoot saat robot mencoba menyesuaikan gerakannya. Permasalahan-
permasalahan ini memerlukan solusi yang sesuai, termasuk penggunaan algoritma
kontrol seperti PID. Dengan solusi yang sesuai, permasalahan-permasalahan ini dapat
diatasi untuk mencapai kendali yang lebih baik pada robot differential wheels. Fungsi
PID (Proporsional-Integral-Derivative) adalah sebagai algoritma kontrol yang digunakan
untuk mengatur variabel kontrol dalam suatu sistem dengan tujuan mencapai setpoint
(nilai yang diinginkan) atau meminimalkan kesalahan antara variabel kontrol dan
setpoint. Fungsi PID mencakup tiga komponen utama: proporsional, integral, dan
diferensial, yang bekerja bersama untuk menghasilkan respons kontrol yang optimal.

Keywords: Robot differential wheels, Proporsional-Integral-Derivative.

1
Buddhika Abeysekera and Indika Wanniarachchi, ‘Modelling and Implementation of PID Control for Balancing of an
Inverted Pendulum’, International Journal of Automation, Control and Intelligent Systems, 4.4 (2018), 43–53
<http://www.aiscience.org/journal/ijacishttp://creativecommons.org/licenses/by/4.0/>.
1 Pendahuluan

Ilmu pengetahuan dan teknologi sangat berkembang pesat. Permasalahan mengontrol


robot differential wheels juga banyak menarik minat penelitian di bidang robotika [8]-[14].
Tujuan dari path tracking pada robot differential wheels adalah untuk memungkinkan robot
untuk mengikuti jalur atau lintasan yang telah ditentukan secara akurat dan stabil. Masalah
utama robot differential wheels adalah mengontrol gerakan cepatnya dengan tepat mengikuti
lintasan yang diinginkan [15]. Meskipun pengontrol canggih telah menunjukkan
kemahirannya, PID masih menjadi favorit dalam aplikasi kontrol robot industri, terutama
dalam kasus masalah kontrol pelacakan lintasan untuk robot [9], [10], [15]-[18]. Beberapa
peneliti mengembangkan kontroler PID untuk robot differential wheels, dimana kontroler PID
fuzzy telah diusulkan pada [15] untuk mengontrol robot ketika respon sistem memiliki error
dan error rate.
Untuk melacak target yang bergerak, pengontrol PID nonlinier dirancang pada [19]
untuk mengontrol DDMR dimana parameter pengontrol disetel dengan teknik trial and error
dan diperoleh pengontrol yang parameter KP, KI, dan KD konstan. Namun, ketika lintasannya
kompleks dan kecepatan yang diinginkan bervariasi, kontroler PID parameter time-invariant
tidak dapat mengontrol sistem secara efisien karena akurasinya tidak tinggi [5], [9]. Robot
differential wheels tidak dapat distabilkan secara tak hingga ke sembarang titik oleh kontroler
varian waktu yang halus [20], [21]. Untuk mengatasi permasalahan di atas, pada penelitian ini,
kami merancang sebuah kontroler PID yang parameternya bervariasi sebagai fungsi dari
tracking error yang terutama memastikan bahwa robot mematuhi lintasan yang telah
ditentukan sebelumnya yang kompleks dengan kecepatan yang terus berubah. Selain itu, satu
masalah terkait lintasan robot adalah perlunya menghaluskan tikungan untuk menghindari
perubahan kecepatan robot yang tiba-tiba.
2 LANDASAN TEORI

2.1 PATH TRACKING


Path tracking adalah kemampuan robot untuk mengikuti jalur atau lintasan yang telah
ditentukan dengan akurasi dan kestabilan. Tujuan dari path tracking adalah untuk memastikan
bahwa robot dapat mengikuti jalur yang diinginkan secara tepat sesuai dengan perencanaan atau
instruksi yang diberikan. Dalam path tracking, robot menggunakan informasi yang diperoleh dari
sensor atau sistem penginderaan untuk memantau posisi dan arah pergerakan saat ini. Sensor
tersebut bisa berupa sensor visi komputer, sensor lidar, sensor garis, atau sensor lainnya yang dapat
mendeteksi atau melacak jalur yang harus diikuti oleh robot. Proses path tracking melibatkan
perbandingan antara posisi aktual robot dengan jalur yang diinginkan. Setiap perbedaan antara posisi
aktual dan jalur yang diinginkan digunakan sebagai umpan balik untuk menghasilkan sinyal kontrol
yang sesuai untuk mengatur kecepatan dan arah pergerakan robot. Sinyal kontrol ini dapat mengatur
putaran kecepatan roda, kecepatan linier, atau kombinasi keduanya untuk memastikan bahwa robot
tetap pada jalur yang diinginkan.
2.2 KINEMATIC MODEL
Persamaan kinematik untuk robot dengan roda differential (differential drive)
menghubungkan kecepatan linier dan kecepatan sudut robot dengan kecepatan putaran roda
kiri dan kanan. Forward kinematik differential drive merupakan metode untuk menghitung
pergerakan atau posisi sebuah robot differential drive berdasarkan kecepatan roda yang
dikendalikan. Metode ini memungkinkan kita untuk memprediksi pergerakan dan posisi robot
berdasarkan input kecepatan pada masing-masing roda. Untuk memperoleh forward kinematik
differential drive, kita dapat menggunakan persamaan kinematik yang melibatkan kecepatan
linier robot (V) dan kecepatan sudut (ω).
Berikut adalah persamaan umum yang digunakan:
V = (v_l + v_r) / 2
ω = (v_r - v_l) / L
Di mana:
V adalah kecepatan linier robot,
ω adalah kecepatan sudut robot,
v_l adalah kecepatan roda kiri,
v_r adalah kecepatan roda kanan, dan
L adalah jarak antara roda kiri dan roda kanan.

Dengan menggunakan persamaan ini, kita dapat menghitung kecepatan linier dan
kecepatan sudut robot berdasarkan kecepatan roda kiri (v_l) dan kecepatan roda kanan (v_r).
Kecepatan linier (V) menunjukkan kecepatan maju atau mundur robot, sedangkan kecepatan
sudut (ω) menunjukkan kecepatan rotasi robot searah jarum jam atau berlawanan arah jarum
jam. Kemudian, mengintegrasikan kecepatan linier dan kecepatan sudut untuk memperoleh
pergerakan atau posisi robot differential drive. Dalam kasus pergerakan kontinu, kita dapat
menggunakan persamaan diferensial sebagai berikut:

Δx = V * cos(θ) * Δt
Δy = V * sin(θ) * Δt
Δθ = ω * Δt

Di mana:

Δx adalah perubahan posisi dalam arah x,


Δy adalah perubahan posisi dalam arah y,
Δθ adalah perubahan sudut orientasi, dan
Δt adalah interval waktu.
2.3 ARSITEKTUR PERANGKAT KERAS
A. DESAIN ROBOT
Robot differential wheels pada penelitian ini menggunakan 2WD mobile Arduino robotics
car 10004 dimana platform robot mobile untuk aplikasi otonom tingkat lanjut. Robot 2WD
mobile Arduino robotics car 10004 memiliki 2 roda, mikrokontroler Arduino dan motor
DC 12V dengan pembuat encoder. Robot ini memiliki kecepatan: 0,8 m/dtk dengan
dimensi(satuan mm) P*L*T yaitu 357*313*267 diameter roda pengemudi yaitu 143mm
dan berat 4.2 kg

Gambar : 2WD mobile Arduino robotics car 10004


B. MIKROKONTROLER
Path Tracking Robot Differential Wheels menggunakan mikrokontroler
ATMega328P sebagai otaknya. Mikrokontroler ini memiliki arsitektur 8-bit AVR dan
berjalan pada frekuensi 16 MHz. Mikrokontroler ini memiliki RAM sebesar 2KB, Flash
memory sebesar 32KB, dan EEPROM sebesar 1KB. Selain itu, mikrokontroler ini juga
dilengkapi dengan berbagai periferal seperti pin I/O digital dan analog, UART (Universal
Asynchronous Receiver/Transmitter), SPI (Serial Peripheral Interface), I2C (Inter-
Integrated Circuit), PWM (Pulse Width Modulation).

Gambar : Arduino 328


Untuk mendukung menggerakkan 2 motor, IO Expansion Board tersedia. I/O EXpansion
Sheild yang kompatibel dengan Arduino.

Gambar : IO Expansion Board Arduino


IDE (Integrated Development Environment) adalah sebuah perangkat lunak yang
digunakan untuk mengembangkan aplikasi mikrokontroler mulai dari menuliskan source
program, kompilasi, upload hasil kompilasi dan uji coba secara terminal serial. Arduino
IDE menyediakan beragam library dan contoh kode yang dapat digunakan dalam
implementasi path tracking pada robot differential wheels. Library-library ini mencakup
fungsi-fungsi yang berguna, seperti kontrol PID, pengendalian motor, pengolahan sensor,
dan komunikasi serial.

Gambar : Arduino IDE 2.1.0


3 METODE

3.1 DESAIN BLOK DIAGRAM


Pada penelitian ini robot differential wheels yang di kendalikan oleh Arduino 328 sebagai
mikrokontroler yang akan menggerakkan roda kanan dan kiri sesuai dengan kontrol PID dan
disaat motor bergerak encoder akan mengirim data berupa pulse ke Arduino 328 untuk kembali
di proses pada kontrol PID.

Gambar 2 : Desain Blok Diagram

3.2 FLOWCHART

Gambar : Flowchart desain


Gambar : Flowchart System

3.3 KINEMATIC MODELING


Pada penelitian ini, perencanaan jalur robot differential wheels menggunakan titik koordinat,
diaman kita harus mendaftarkan terlebih dahulu titik yang akan kita tuju agar robot differential
wheels dapat bergerak ke titik atau set point yang sudah di tentukan. Posisi robot differential
pada sumbu koordinat dunia {o, x, y}. Model kinematika robot differential seperti pada gambar
terdiri dari roda kastor di kepala robot dan dua roda penggerak terpasang pada satu sumbu yang
terletak di belakang. Gerak dan orientasi robot differential dicapai melalui dua motor DC yang
membentuk aktuator roda kanan dan kiri.
Gambar : Ilustrasi koordinat robot

Tabel : Parameter ilustrasi robot


Symbol Definition
Center point between the two rear wheels
m
Distance between the Robot back wheels (m)
D
Wheel radius of Robot (m)
r
Robot linear velocity (m/sec)

Robot angular velocity (rad/sec)

Left wheel linear velocity (m/sec)

Right wheel linear velocity (m/sec)

Orientation of the mobile robot from the x -axis

Gerak robot dapat ditentukan oleh kecepatan linier roda kanan dan kiri, Vright dan Vleft.
Kecepatan sudut dan linier robot, dan , dapat dijelaskan oleh Vleft(t) dan Vright(t) sebagai
berikut :

Persamaan kinematika robot dalam bingkai dunia diturunkan sebagai:

Substitusikan VA(t) dan Vli(t) dalam persamaan diatas, dan integrasikan keduanya, kita
dapatkan solusinya, x(t), y(t), dan θ(t). Rumus untuk Kinematic PID Controller dapat
dijelaskan sebagai berikut:
Output = Kp * error + Ki * integral_error + Kd * derivative_error
Di mana:
- Output adalah sinyal kendali yang akan diteruskan ke sistem untuk mengendalikan pergerakan.
- Kp, Ki, dan Kd adalah konstanta atau gain proporsional, integral, dan diferensial yang dapat
ditentukan.
- error adalah selisih antara nilai target (posisi atau kecepatan yang diinginkan) dan nilai aktual
dari sistem.
- integral_error adalah jumlah kumulatif dari error selama periode waktu tertentu. Ini membantu
mengatasi bias sistem.
- derivative_error adalah perubahan error seiring waktu. Ini membantu mengatasi perubahan
cepat dalam error
4 Pengujian dan Hasil
Pengujian tracking robot differential wheels bertujuan untuk menguji dan memvalidasi kinerja
sistem dalam melacak jalur yang diinginkan. Pengujian ini dilakukan untuk memastikan bahwa
robot differential wheels dapat mengikuti jalur dengan akurasi yang tinggi dan konsistensi..
Pelacakan jalur ini dilakukan di arena sebenarnya dimana pada proyek ini arena yang digunakan
adalah ruang koridor pintu masuk BRAIL. Pelacakan jalur mengandalkan keramik yang
berukuran P*L(satuan mm) 4000 * 4000.

Gambar : Lintasan 2 Dimensi


Gambar : Lokasi Pengujian

Pada pengujian pelacakan jalur robot menggunakan serial monitor pada software Arduino IDE
untuk merekam jarak roda kanan, jarak roda kiri, theta, error theta. Robot akan di letakkan pada
sudut kiri bawah keramik dan sebagai titik x,y adalah 0,0. Kemudian aktifkan robot dan robot
akan berjalan menuju titik pertama sambil memberikan nilai pada serial monitor dan jika sudah
sampai di titik pertama maka akan terhitung 1 kemudian begitu berikutnya hingga titik 2,3 dan 4.
Tabel 1 : Pengujian Pertama

start 0 0
titik 1 1 0
titik 2 1 1
titik 3 0 1
titik 4 0 0

Gambar : Grafik Pelacakan Jalur


Gambar : Hasil Pelacakan jalur
Tabel : Hasil perhitungan jarak pertitik
Percobaan counter x y theta error theta
0 0 0 0 0
1 980,31 23,77 6,28 1,49
1 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,11 0,23
0 0 0 0 0
1 970,31 25,21 6,01 1,5
2 2 990,87 1004,2 3 -0,15
3 -5 900,81 2,5 2,27
4 -87 -39 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
3 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -99 -40 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
4 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
5 2 1000 998,02 3,31 -0,19
3 -15 903,21 2,27 2,5
4 -96 -42 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
6 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
7 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
8 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
9 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,25 0,32
0 0 0 0 0
1 980,31 23,77 6,28 1,49
10 2 1001,07 1000,98 3,31 -0,19
3 -12 903,21 2,27 2,5
4 -97 -46 0,25 0,32
Rata-rata untuk titik yang ditempuh adalah:
x y
0 0
990 24
1001 1000
-4 902
-90 -42
Nilai jarak tidak akurat disebabkan oleh robot memiliki dimensi dan jarak roda kiri dan kanan
adalah : 1400mm yang mempengaruhi kalkulasi pada jarak x dan y.

5 Kesimpulan
Dari pengujian yang dilakukan pada Path Tracking pada robot dengan
menggunakan metode PID, maka dapat disimpulkan bahwa PID dapat memberikan
solusi yang baik untuk masalah path tracking, jika nilai jarak yang berbeda terjadi
di sebabkan selip antara ban dan permukaan lantai dan disebabkan oleh dimensi
robot dan jarak roda kanan dan roda kiri.
References

[1] Abeysekera, Buddhika, and Indika Wanniarachchi, ‘Modelling and Implementation of PID
Control for Balancing of an Inverted Pendulum’, International Journal of Automation, Control and
Intelligent Systems, 4.4 (2018), 43–53
<http://www.aiscience.org/journal/ijacishttp://creativecommons.org/licenses/by/4.0/>
[2]

Anda mungkin juga menyukai