Anda di halaman 1dari 89

Modul

Robotika

BAB IV
SISTEM KENDALI ROBOT

4.1 Sistem Kontrol Pada Robot


Kontrol adalah bagian yang amat penting dalam robotika. Sistem
robotika tanpa ontrol hanya akan menjadi benda mekatronik yang mati. Dalam
sistem kontrol robotika terdapat dua bagian, yaitu perangkat keras elektronik
dalam perangkat lunak yang berisi program kemudi dan algoritma kontrol.

Bab ini membahas tentang,

  Prinsip dasar dan mekanisme kontrol dalam robotika,


 Teknik kontrol ON/OFF disertai contoh pada sebuah robot line follower
 atau Route Runner,
 Kontrol posisi, kecepatan dan akselerasi, disertai dengan contoh
 aplikasi,
 Teknik control Proposional (P), Integral (I), Derivatif (D), dan
 kombinasi antara ketiganya,
 Resolved Motion Rate Control, Resolved Motion Acceleration Control,
 dan Active Force Control,
 Pembahasan tentang berbagai macam rangkaian mikrokontroler yang
dapat secara efektik diterapkan sebagai kontroler robot dengan
mengambil contoh system rangkaian berbasis Atmel 89C51, PIC16F87
dan PIC16F877,

 Prinsip dasar low-level control dan high-level control dalam robotic,
dan aplikasi kecerdasan buatan,

Hal. 4 - 1
Modul
Robotika

 Model-Plan-Act Approach control, behavior-based control dan


algorithma finite state machine, disertai contoh pada kasus Robot Tikus
Sepak Bola

Secara garis besar, suatu sistem robotic terdiri dari 3 bagian seperti
ditunjukkan dalam Gambar 4.1 di bawah ini.

Gambar 4.1 Sistem Robotik

Dalam gambar di atas, kontrol adalah bagian yang tak terpisahkan


dalam sistem robotika. Dalam hal ini, sistem kontrol bertugas
mengkolaborasikan sistem elektronik dan mekanik♡ dengan baik agar
mencapai fungsi seperti yang dikehendaki. Tanda dalam intekseksi adalah
posisi atau bagian dimana terjadi interaksi antara ketiga bagian itu sebagai
misalkan, poros motor dan sendi pada mekanik berhubungan dengan
rangkaian kontroler dan rangkaian interface/driver ke motor, dan bagian
program kontroler yang melakukan penulisan data ke alamat motor. Atau,

Hal. 4 - 2
Modul
Robotika

sendi mekanik yang akan dideteksi berhubungan dengan sensor dan


interface, dan program membaca data sensor di dalam kontroler.

Sistem kontroler sendiri memiliki mekanisme kerja seperti yang


diilustrasikan berikut ini.

Gambar 4.2 Mekanisme kerja (program) kontroler

Tiga prosedur utama, yaitu baca sensor, memproses data sensor, dan
mengirim sinyal aktuasi ke aktuator adalah tugas utama kontroler. Ilustrasi ini
mengisyaratkan bahwa sebenarnya tugas kontroler adalah sederhana. Dengan
membaginya menjadi tiga bagian maka seorang engineer akan lebih mudah
dalam melakukan analisa tentang bagaimana kontroler yang didisainnya
bekerja. Meski dalam program kemudi robot secara lengkap nampak kompleks
namun sebenarnya tetap dapat dibagi ke dalam tiga bagian besar itu.

Dalam aplikasi prosedur “baca sensor” dapat terdiri dari berbagai teknik
yang masing-masing membawa dampak kerumitan dalam pemrograman.

Hal. 4 - 3
Modul
Robotika

Setidak-tidak ada dua macam teknik yang digunakan kontroler dalam


menghubungi sensor, yaitu polling dan interrupt. Teknik polling adalah
prosedur membaca data berdasarkan pengalamatan langsung yang dapat
dilakukan kapan saja kontroler menghendaki. Sedang pada teknik interrupt,
kontroler melakukan pembacaan jika sistem sensor melakukan interupsi, yaitu
dengan memberikan sinyal interrupt ke kontroler (via perangkat keras) agar
kontroler (CPU) melakukan proses pembacaan. Selama tidak ada interrupt
maka kontroler tidak akan mengakses sensor tersebut.

Bagian yang berfungsi untuk memproses data sensor adalah bagian yang
paling penting dalam program kontroler. Di sinilah para peneliti dan engineer
dapat dengan leluasa mengembangkan berbagai ide, teori dan teknik
“bagaimana membuat robot dapat bekerja sesuai harapan”. Berbagai algoritma
kontrol mulai dari teknik klasik seperti control P, I dan D dapat diterapkan jika
dikehendaki kontrol yang lebih pintar dan dapat beradaptasi dapat memasukkan
berbagai algoritma kontrol adaptif hingga teknik artificial intelligent seperti
fuzzy control, neural network, genetic algorithm, dll.

Bagian ketiga adalah prosedur “tulis data” adalah bagian yang berisi
pengalamatan ke aktuator untuk proses penulisan data. Dalam konteks
rangkaian elektronik, data ini adalah sinyal aktuasi ke kontroler seperti berapa
besar tegangan atau arus yang masuk ke motor,dsb. Baik aktuator sensor
memenuhi tegangan kerja.

Untuk program kontroler sistem robotika yang melibatkan teknik


komunikasi dengan dunia luar, seperti hubungan dengan sistem sensor
lingkungan , network maupun sistem robot yang lain, tidak termasuk dalam
diagram seperti yang diterangkan melalui Gambar 4.2 diatas. Namun
demikian , segala aktifitas program yang berkenaan dengan koleksi atau
penerimaan data dapat dimasukkan sebagai bagian “baca data/sensor”,
sedangkan yang berhubungan dengan aktifitas pengiriman data dapat
dikategorikan sebagai “tulis data”. Ini dimaksudkan untuk mempermudah

Hal. 4 - 4
Modul
Robotika

analisa dalam disain program kontroler secara keseluruhan. Pada gilirannya


sistem embedded program dapat dengan mudah didefinisikan.

4.1.1 Kontrol ON/OFF


Sistem kontrol ON/OFF, kadangkala disebut sebagai “bang-bang
control”, adalah control yang paling dasar dalam robotika. Input sensor dan
sinyal output pada aktuator dinyatakan hanya dalam dua keadaan, yaitu
ON/OFF atau logika 1 dan 0. Dalam berbagai aplikasi dasar, cara ini sudah
cukup memadai karena mampu mengontrol robot untuk mencapai target yang
dikehendaki. Teori kinematika apalagi dinamik robot belum diperhitungkan
dalam disain keseluruhan. Kestabilan gerak yang diperoleh hanya berdasarkan
pada rule sederhana tetapi mampu menjaga robot dari gerakan yang
menyebabkan tracking error (TE) menjadi membesar. Dalam hal ini
pemasangan posisi sensor, aktuator dan struktur mekanik robot sangat
berperan. Meski kebanyakan belum dihitung secara matematis, namun bagi
mereka yang berpengalaman dalam mekanik dan elekronik praktis, rancangan
struktur mekanik, konfigurasi sensor aktuator dan cara pemasangannya bahkan
seringkali cukup “diperkirakan” saja. Sebagai contoh, robot-robot yang dibuat
untuk keperluan kontes seperti pada Kontes Robot Indonesia (KRI).

Gambar berikut mengilustrasikan diagram kontrol loop tertutup


berdasarkan ON/OFF.

Gambar 4.3 Kontrol ON/OFF

Hal. 4 - 5
Modul
Robotika

Sebagai contoh bahasan, berikut ini ditampilkan sebuah kasus kontrol


ON/OFF pada robot line follower Route Runner.

Gambar 4.4 Skema control ON/OFF pada robot Route Runner

Skema pada Gambar 4.4 akan digunakan untuk mengontrol sebuah


mobile robot seperti gambar berikut.

Gambar 4.5 Robot Route Runner

Hal. 4 - 6
Modul
Robotika

Pada gambar di atas, robot memiliki dua roda kiri kanan independen,
berfungsi untuk berjalan ke depan dengan mendeteksi jalur putih diatas lantai
yang berwarna gelap (hijau tua atau hitam). Sensor yang digunakan adalah tipe
proximity TX-RX infra-merah berbasis ON/OFF seperti pada Gambar 2.12 di
muka, sebanyak 2 buah, yang memberikan nilai 1 jika berada di jalur, dan
bernilai 0 jika diluar jalur. Aktuator menggunakan dua buah motor DC dengan
gearbox yang dikemudikan secara ON/OFF juga. Jadi dalam hal ini rangkaian
relay seperti pada Gambar 4.4 saja sudah cukup memadai untuk
mengemudikan motor.

Gambar 4.6 Rangkaian interface untuk tiap motor

Algoritma kontrol ditunjukkan dalam Tabel 4.1 berikut.

Hal. 4 - 7
Modul
Robotika

Tabel 4.1 Fungsi INPUT-OUTPUT kontroler route runner

INPUT Referensi OUTPUT yang dikehendaki


PB7 PB1 PB0 PA1 PA0
0 * * 0 0
1 0 0 0 0
1 0 1 1 0
1 1 0 0 1
1 1 1 1 1

Penyelesaian Algoritma kontrol ON/OFF di atas adalah:

IF PB7 =0 THEN {PA1=0;PA0=0;}


IF PB7 = 1 AND PB1=0AND PB0=0 THEN {PA1=0;PA0=0;}
IF PB7 = 1 AND PB1=0 AND PB0=1 THEN {PA1=1;PA0=0;}
IF PB7 = 1 AND PB1=1 AND PB0=0 THEN {PA1=0;PA0=1;}
IF PB7 = 1 AND PB1=1 AND PB0=1 THEN {PA1=1;PA0=1;}

Dari Tabel 4.1 dan algoritma di atas kita dapat menentukan rangkaian
kontroler apa yang sesuai. Berikut ini diberikan beberapa contoh kontroler
yang dapat digunakan.

Rangkaian Kontroler berbasis CPU 84C00 (Z80)


Disain rangkaian kontroler robot Route Runner berbasis system
minimum CPU 84C00 (CMOS Z80) diberikan pada gambar berikut ini,

Hal. 4 - 8
Modul
Robotika

Gambar 4.7 Rangkaian CPU 84C00 untuk root Route Runner

Rangkaian Kontroler berbasis AT89C51


Contoh berikut adalah sebuah diagram skema kontroler berbasis
rangkaian Atmel 89C51 yang dapat digunakan untuk contoh kasus Route
Runner seperti pada Gambar 4.5.

Hal. 4 - 9
Modul
Robotika

Gambar 4.8 Kontroler Robot Route Runner menggunakan AT89C51

Konfigurasi pin 89C51 yang berbentuk kemasan DIP (Dual In-line


Package) ditunjukkan dalam gambar berikut ini,

Hal. 4 - 10
Modul
Robotika

Gambar 4.9 Konfigurasi pin AT89C51

IC AT89C51 (AT adalah tanda buatan Atmel, Inc) adalah mikrokontroler


yang kompatibel dengan keluarga IC 80C51, namun telah menggunakan
teknologi flash untuk pemrograman ke dalam chip. Selain 89C51 yang
memiliki memori internal 4K juga terdapat tipe diatasnya yang memiliki
kemasan sama tapi berbeda dalam kapasitas memori, yaitu 89C52(8K),
89C54(16K) dan 89C58(32K). Mikrokontroler keluarga ini cukup popular dan
mudah didapat di pasaran. Kemampuan I/O yang hingga 4x8bit (P0, P1, P2,
dan P3) cukup memberika kebebasan bagi para perancang untuk aplikasi-
aplikasi dasar dalam teknik control menggunakan sistem embedded (istilah
untuk menyatakan kontroler ringkas, efektif dan efisien yang menyatu dengan
sistem yang dikontrol). Operasi AT89C51 dapat dipacu hingga 33MHz dan
dapat deprogram baik menggunakan bahasa assembly maupun bahasa C.

Hal. 4 - 11
Modul
Robotika

Rangkaian Kontroler berbasis PIC16F84A


Berikut ini juga diberikan contoh penggunaan mikrokontroler keluarga
Microchip PIC16F84A. untuk operasi control yang melibatkan I/O berorientasi
logika ON/OFF hingga 12 kanal, PIC ini cukup handal diterapkan. Konsumsi
daya yang sangat hemat, hanya memakai arus 76 , Vcc 2V pada frekuensi 2
MHz membuat kontroler jenis ini menjadi pilihan tepat untuk kegunaan
aplikasi massal. Pemrograman juga dapat dilakukan melalui bahasa C. Meski
kapasitas memorinya cukup kecil, hanya 1K, namun program C standar yang
tidak banyak melibatkan operasi store ke memori dapat cukup baik ditanamkan
ke chip IC ini yang panjang program-C-nya setara dengan lebih dari 5 halaman
kertas ukuran A4 spasi tunggal.

Gambar 4.10 berikut adalah contoh rangkaian PIC16F84A.

Gambar 4.10 Kontroler Robot Route Runner menggunakan PIC16F84A

PIC tipe 16F84A ini dapat dipacu hingga 10MHz. konfigurasi


pinkemasan DIP-18pin ditunjukkan dalam Gambar 4.10. Pin diaktifkan
pada saat dilakukan pengisian/pemrograman ke dalam chip. Ketika dalam
posisi RUN, ini harus non-aktif dengan menghubungkannya ke Vcc
melalui resistor 10K. Vdd dapat dihubungkan ke tegangan (2-6)V.Vss
dihubungkan ke Ground. dan dapat diinisialisasi sebagai port
input ataupun output. Dalam studi kasus di atas di-set sebagai input,
sedangkan di-set sebagai output.

Hal. 4 - 12
Modul
Robotika

Gambar 4.11 Konfigurasi pin

Program C untuk kontroler PIC16F84A

//Nama Program : RR_16F84A1.c - Author: epit - Date : 2002/04/24

#pragma PROG_CODE_WORD_VAL 0x3ff2


#pragma PROG_ID_VAL 0x01 0x02 0x03 0x04
#pragma PCLATH_LOC 0xa
#include "16F84.h"
#define TRUE 1
#define FALSE 0

//Definisi alamat I/O Port A & B


int porta @ 0x5;
int portb @ 0x6;
int trisa @ 0x85;
int trisb @ 0x86;

int dataIN;
int count;
pause(t)
Hal. 4 - 13
Modul
Robotika

long t;
{
unsigned int d;

while(t) {
for(d=0;d<255;d++);
t--;
}
} //end pause

main()
{
trisa=0;
trisb=0;
start_position();
pause(10);
run();
for(;;){ portb=0x00;}
}

void start_position()
{
portb= 0xcf;
for(;;)
{ dataIN=porta & 0x03; if(dataIN!=0x03)return;}
}

void run()
{
count=0;
for(;;) {
dataIN = porta & 0x08; //cek untuk bumper limit switch
if(dataIN==0x00) {portb=0x00; pause(100); return;}
dataIN = porta & 0x83; //cek untuk x----- xxB Port A

Hal. 4 - 14
Modul
Robotika

if(dataIN == 0x80) prtb=0x00;

if(dataIN == 0x81) prtb=0x02;

if(dataIN == 0x82) prtb=0x01;

if(dataIN == 0x83) prtb=0x03;


}
}

Prosedur program di atas dapat diadopsi untuk kontroler berbasis CPU


84C00, 89C51 atau yang lain. Pemrograman dalam bahasa C dan kompilasi
menggunakan fasilitas cross compiler memudahkan kita dalam membuat
program yang dapat dengan mudah di-test di berbagai macam kontroler.

4.1.2 Kontrol Proposional (P) untuk motor DC

Kontrol P untuk sebuah motor dapat diilustrasikan sebagai berikut.

Gambar 4.12 Diagram Kontrol P

Persamaan=∙ output kontroler u,

(4.1)

Sebagai contoh, kita akan mengontrol kecepatan putar sebuah motor DC


dengan menggunakan control P. Ilustrasinya adalah sebagai berikut.

Hal. 4 - 15
Modul
Robotika

Gambar 4.13 Kontrol P pada Motor DC

Perhatikan Gambar 4.13 dalam fungsi waktu t maka output kontroler u(t)
= ∙( − ) (4.2)

dapat ditulis,

Nilai output kontroler tergantung kepada perkalian antara error, yakni


kecepatan referensi dikurangi kecepatan aktual, dengan konstanta Kp. Jika
error positif berarti kecepatan aktual lebih kecil dari kecepatan referensi. Jika
error negatif berarti kecepatan aktual lebih besar dari kecepatan referensi.

Dapat error pada control P (untuk kecepatan) menuju nol?

Perhatikan Persamaan 4.2 jika kecepatan aktual sama dengan kecepatan


referensi maka sinyal output akan menjadi nol karena error nol. Dari segi
rangkaian, sinyal output nol ini akan menyebabkan motor tidak mendapat
sinyal aktuasi lagi. Akibatnya poros motor akan berhenti berputar. Begitu
putaran poros motor mulai berkurang maka sensor akan mendeteksi bahwa
kecepatan output tidak lagi sama dengan kecepatan referensi. Kecepatan aktual
akan lebih kecil dari kecepatan referensi. Artinya, error tidak lagi nol.
Akibatnya, kontroler akan mulai lagi mengirimkan sinyal aktuasi u(t) positif
sehingga motor kembali menambah kecepatannya.

Hal. 4 - 16
Modul
Robotika

Demikian hal ini berulang seterusnya sehingga error pada kontrol P ini
tidak dapat mempertahankan error selalu nol atau dengan kata lain, dalam
kondisi tetap (steady state), error pada control P tidak bisa nol. Hal ini dikenal
sebagai steady-state error ( ).

Untuk lebih jelasnya kita ambil contoh sebuah kasus kontrol kecepatan
pada motor DC-MP menggunakan control P seperti pada Gambar 4.14 berikut
ini.

Gambar 4.14 Contoh kasus Kontrol P pada motor DC-MP

Ω
Misalkan parameter motor di atas adalah sebagai berikut:
L = 0.062H,
R = 2.5
Koefisien viscous rotor dan beban,
= 0.00004 /
Konstanta torsi motor, emf,
Konstanta tegangan balik = 0.026 /,
= 0.001,

Momen inersia rotor dan beban, = 0.02 / . , dan


Kontrol P diatas kita uji secara simulasi dengan menggunakan
SIMULINK(r) pada MATLAB(r). Diagram skema simulasinya ditunjukkan
dalam Gambar 4.15 berikut ini.

Hal. 4 - 17
Modul
Robotika

Gambar 4.15 Diagram Simulink Kontrol P pada motor DC-MP

Seluruh parameter motor dimasukkan ke dalam blok sistem simulasi


sesuai dengan diagram kontrol pada Gambar 4.14. Kecepatan putar referensi
yang digunakan adalah 2400 rpm. Skema control P di atas diuji dengan
memberikan nilai Kp = 0.1, 0.25, 0.75 dan 4. Respon output ditunjukkan dalam
Gambar 4.16 berikut ini.

Hal. 4 - 18
Modul
Robotika

Gambar 4.16 Respon output kontroler P pada motor DC-MP

Nampak dalam Gambar 4.16 bahwa semakin kecil Kp maka offset atau
steady-state error semakin besar. Namun nilai Kp yang terlalu besar akan
menyebabkan osilasi pada saat start.

Kontrol P dapat digunakan sendirian dalam aplikasi. Beberapa aplikasi


seperti kontrol temperatur pada heater, sistem penghemat energi (energy
saving) pada system air conditioning (AC) berdasarkan control kecepatan
motor kompresor sudah cukup memadai dengan menggunakan control P saja.

4.1.3. Kontrol Intergral (I) untuk motor DC


Fungsi dasar dari control I adalah menurunkan steady-state error. Kontrol
I jarang digunakan sendirian dalam aplikasi. Biasanya selalu dikombinasikan
dengan control P untuk memperbaiki respon guna mencapai error minimum.

Hal. 4 - 19
Modul
Robotika

Parameter kontrol I dapat diilustrasikan dalam diagram kontrol motor sebagai


berikut.

Gambar 4.17 Diagram Kontrol I

Gabungan dengan kontrol I dan control P untuk sebuah motor DC dapat


digambarkan sebagai berikut.

Gambar 4.18 Kontrol PI pada motor DC

Hal. 4 - 20
Modul
Robotika
= ∙ − + − (4.2)
Persamaan output kontroler diatas adalah,

Untuk memperoleh gambaran lebih jelas, kembali kita akan


menggunakan motor DC-MP sebagai obyeknya. Parameter motor sama dengan
contoh control P dalam Gambar 4.14 Diagram SIMULINK(r) sebagai
representasi skema control PI pada Gambar 3.17 ditunjukkan dalam Gambar
4.19 sebagai berikut.

Gambar 4.19 Diagram Simulink Kontrol PI pada motor DC-MP

Skema PI ini diuji pada 2400 rpm dengan Kp di-set pada 0.1. Untuk
melihat efek penerapan control integral, dibandingkan tiga kondisi hasil
pemilihan parameter Ki, yaitu 0,0.5 dan 2.0. Ki = 0 menunjukkan bahwa
kontroler adalah P saja.

Gambar 4.20 memperlihatkan hasil uji simulasinya.

Hal. 4 - 21
Modul
Robotika

Gambar 4.20 Respon output kontroler PI pada motor DC-MP

Dalam Gambar 4.20 nampak bahwa penerapan kontrol I dapat


membantu kontrol P menurunkan steady-state error-nya. Namun pemilihan Ki
yang terlalu besar dapat menyebabkan sistem berosilasi pada saat start.

Kontrol PI diketahui dipakai secara meluas di dunia industri. Dalam


kebanyakan aplikasi di lapangan, kontrol PI dengan parameter yang di-tune
dengan baik dapat menyelesaikan berbagai permasalahan control dengan cukup
memadai dan relatif murah (tidak perlu kontrol komputer). Utamanya untuk
kasus yang memiliki respon sistem relatif lambat, seperti kontrol temperatur,
tekanan fluida, hidrolik, dsb.

Hal. 4 - 22
Modul
Robotika

4.1.4. Kontrol Derivatif (D) untuk Motor DC

Parameter D bekerja dalam konteks rate/kecepatan dari error sehingga


dapat mengurangi efek overshoot (respon berlebihan) dalam menuju steady-
state. Dengan kata lain, seolah-seolah, kontrol D mampu memprediksi error
yang akan terjadi sebagai efek dari kecepatan error yang dihitung sebelumnya.
Parameter control D dapat diilustrasikan dalam diagram control motor sebagai
berikut.

Gambar 4.21 Diagram Kontrol D

Sebagai contoh, komponen I dalam Gambar 4.18 kita ganti dengan D


sebagai berikut.

Hal. 4 - 23
Modul
Robotika

Gambar 4.22 Kontrol PD pada motor DC

= ∙ − + ∙ ( ) (4.3)
Sehingga persamaan output kontroler u(t),

Kontroler PD ini kita uji coba pada motor DC-MP seperti percobaan pada
control P dan PI sebelumnya via simulasi dengan diagram skema sebagai
berikut.

Gambar 4.23 DiagramSimulink Kontrol PD pada motor DC-MP

Hal. 4 - 24
Modul
Robotika

Kp di-set 0.75 sedang Kd di-set pada 0, 0.0075 dan 0.01. hasil simulasinya
ditunjukkan dalam Gambar 4.24 berikut ini.

Gambar 4.24 Respon output kontroler PD pada motor DC-MP

Nampak dalam Gambar 4.24 di atas bahwa penerapan kontrol D dapat


memperbaiki efek overshoot pada respon output. Namun pemilihan Kd yang
terlalu besar dapat menyebabkan output tidak stabil dan dapat terjadi osilasi
yang semakin lama semakin membesar.

Hal. 4 - 25
Modul
Robotika

4.1.5. Kontrol PID untuk motor DC

Setelah kita tahu kelebihan dan kekurangan masing-masing control P.


I dan D kita dapat mengkombinasikan ketiganya sebagai sebuah kontroler
PID untuk mendapatkan respon yang terbaik.

Gambar 4.25 Menunjukkan skema kombinasi PID dalam sebuah kontroler


untuk motorDC.

Gambar 4.25 Kontrol PID pada motor DC


( = ∙ ) − + − + (4.4)∙
Persamaan output kontroler PID di atas dapat ditulis,

Bagaimanapun respon output PID ini ? kita akan uji dengan cara yang sama
menggunakan SIMULINK(r). Diagram skemanya ditunjukkan dalam Gambar
4.26A.

Hal. 4 - 26
Modul
Robotika

Gambar 4.26A Diagram Simulink control PID pada motor DC-MP

Dari uji simulasi untuk model motor yang digunakan di atas didapatkan
sebuah konfigurasi Kp, Ki, dan Kd yang dianggap cukup baik (belum terbaik:
silahkan Anda coba sendiri untuk mencari pasangan Kp, Ki, dan Kd yang lebih
baik), yaitu Kp = 6.25, Ki = 6.5 dan Kd = o.1.

Gambar 4.26B memperlihatkan respon output control PID, sedang Gambar


4.26C adalah respon errornya.

Hal. 4 - 27
Modul
Robotika

Gambar 4.26B Respon output Kontrol PID pada motor DC-MP

Hal. 4 - 28
Modul
Robotika

Gambar 4.26C Error output Kontrol PID pada motor DC-MP

4.2. Kendali Posisi dan Kecepatan


Pada dasarnya adalah kontrol kecepatan pada motor DC. Hal ini berkaitan
dengan prinsip dasar pembangkitan gerakan yang dilakukan oleh motor, yaitu
bila diberikan tegangan pada terminalnya maka poros motor atau rotor akan
berputar. Jadi jika kita mengontrol berapa besar tegangan yang dikenakan ke
motor pada dasarnya adalah berapa kecepatan putar poros motor yang kita
kehendaki dalam rpm (revolution per minute).
Hal. 4 - 29
Modul
Robotika

Padahal dalam dunia robotika, gerakan body (missal: robot berjalan atau
berpindah tempat) dan gerakan bagian robot seperti gerakan pada sendi-lengan
adalah gerakan yang berorientasi pada kontrol posisi. Artinya, definisi gerakan
robot adalah atas dasar perpindahan posisi. Jika robot telah mencapai posisi
sesuai referensi gerak maka actuator akan “berhenti”, dengan kata lain, jika
actuator ini adalah motor maka motor akan berhenti berputar.

Dalam contoh-contoh control kecepatan di atas, jika sistem sudah berada


dalam keadaan tunak (steady-state) maka kontroler “masih menyisakan” sinyal
aktuasi sehingga tetap mampu memutar motor “mendekati” putaran referensi.
Seperi telah disinggung di muka, selisih “kedekatan” putaran ini dikenal
sebagai steady-state error, ess untuk kontrol kecepatan.

Sekarang masalahnya adalah bagaimana mempresentasikan control


kecepatan ini ke dalam kontrol posisi. Seperti yang kita ketahui, posisi dapat
diperoleh dari kecepatan,
= =

Sehingga dalam diagram blok dapat digambarkan sebagai,

Gambar 4.27 Fungsi integrator

Dengan demikian control posisi pada sebuah motor DC dapat digambarkan


sebagai berikut.

Hal. 4 - 30
Modul
Robotika

Gambar 4.28 Diagram kontrol posisi pada sebuah motor DC

Untuk jelasnya, kita ambil contoh kontrol posisi (sudut poros) pada
sebuah motor DC-MP, misalnya untuk robot tangan satu sendi seperti pada
Gambar 4.29. Untuk menghindari bahasan yang rumit, sementara ini efek
dinamik dari inersia lengan dan faktor gravitasi diabaikan. Lengan robot
dianggap planar (sejajar dengan bumi) dan berat lengan dianggap sangat
ringan. Yang diperhitungkan hanya inersia dari rotor motor dan faktor friksi
viscous. Bahasan efek dinamik yang lebih detil akan diberikan pada Bab-bab
berikutnya.

Gambar 4.29 Kontrol posisi sudut poros motor DC-MP

Pada poros motor dipasang sebuah sensor posisi menggunakan


potensiometer sehingga output sensor langsung dapat diterjemahkan sebagai

Hal. 4 - 31
Modul
Robotika

0
posisi sudut sendi. Denga asumsi sudut 0 adalah posisi lengan yang segaris
0
lurus dan sudut jangkauan gerak lengan adalah (-135-+135) maka output
sensor dalam tegangan sebesar (0-5)V mewakili pergerakkan posisi sebesar (-
0
135-+135) . Ilustrasinya seperti berikut.

Gambar 4.30 Jangkauan gerak sudut dan representasi output sensor

Data posisi pada dasarnya dapat juga diperoleh melalui data sensor kecepatan seperti
dalam Persamaan (4.5). Pada beberapa motor DC servo komersial biasanya dilengkapi dengan
sensor kecepatan didalamnya (output berupa frekuensi pulsa). Dengan demikian dalam hal
tertentu kita tidak perlu memasang sensor posisi untuk membaca data posisi, tapi cukup dengan
melakukan perhitungan di dalam program berdasarkan data dari sensor kecepatan. Atau posisi
dapat pula diperoleh dengan menghitung jumlah pulsa menggunakan prinsip rangkaian
kounter. Perlu diingat, sebagai konsekuensi, pemerolehan data posisi melalui perhitungan dapat
menyebabkan pemrograman menjadi lebih rumit. Selain itu data posisi yang diperoleh tidak
langsung bersifat absolut, maksudnya perlu langkah penentuan posisi nol terlebih dahulu
sebagai pedoman pengukuran agar data hasil perhitungan counter berikutnya dapat dinilai
absolut. Dalam Gambar 4.29 diatas, output sensor posisi menggunakan potensiometer adalah
bersifat absolut karena

Rlangsung.Supriyanto,dapatHustinawati,dibacaAryolehBimakontrolerK,Rigathisebagai.W.N,
sudut riil.
Hal. 4 - 32
Modul
Robotika

4.2.1. Kontrol Posisi menggunakan kontroler P

Kontroler p pada dasarnya dapat digunakan untuk kontrol posisi (sudut


poros) motor. Dengan pemilihan Kp yang tepat sistem dapat mencapai
konverger (error menuju nol). Kp yang terlalu besar dapat menimbulkan osilasi
pada saat start. Pada sistem robot riil osilasi ini dapat merusak sistem mekanik.
Jika Kp terlalu kecil maka waktu untuk menuju kondisi tenang (settling time)
akan melambat, dan dalam aplikasi sesungguhnya output sistem mungkin
malah tidak mampu mencapai nilai referensi karena faktor pembebanan dan
gangguan (friksi, gravitasi, dsb.).

Sebagai contoh, sebuah kontroler P diterapkan dalam skema kontrol


posisi pada motor DC-MP seperti pada Gambar 4.31 berikut ini.

Gambar 4.31 Kontrol P pada lengan robot tangan satu sendi

Skema kontrol P di atas kita uji menggunakan SIMULINK(r) seperti


pada Gambar 4.32 berikut.

Hal. 4 - 33
Modul
Robotika

Dalam simulasi ini diasumsikan sudut poros motor pada saat start adalah
0
berada pada posisi 0 . Sebagai target, lengan robot harus bergerak menuju
0
posisi 90 atau sekitar 1.57 radian. Dalam konteks sinyal, fungsi input ini
adalah fungsi step sehingga respon output kontroler adalah respon terhadap
fungsi step. Fungsi step pada input seperti ini sering dijumpai dalam kasus
kontrol robotik seperti pada kontrol posisi ujung tangan robot manipulator
untuk menuju obyek.

Gambar 4.32 Diagram Simulink control p pada control posisi motor DC-MP

Sekarang kita cermati pengaruh pemilihan Kp dalam skema control P ini


melalui hasil simulasi pada Gambar 4.33 berikut ini.

Hal. 4 - 34
Modul
Robotika

Gambar 4.33 Respon output control posisi pada kontroler P

Nampak bahwa pada Kp = 0.5 waktu untuk mencapai kondisi settle adalah
sekitar 0.9det. Makin besar Kp maka waktu menuju kondisi settle semakin
cepat. Tetapi jika Kp terlalu besar (2.0 atau 3.0) Nampak mulai timbul osilasi
ketika menuju kondisi settle.

4.2.2. Kontrol Posisi menggunakan kontroler PI

Dapatkah komponen I memperbaiki respon output pada kontrol P untuk


kasus kontrol posisi motor DC-MP ini? Untuk dapat menjawab secara teoritis
disarankan mempelajari dari buku Ogata (2002). Bahasan disini hanya akan
memberikan ilustrasi melalui uji coba simulasi dengan asumsi motor DC-MP
memiliki spesifikasi yang lengkap dan ideal tanpa memperhitungkan efek
dinamik dari beban (lengan robot).

Hal. 4 - 35
Modul
Robotika

Gambar 4.34 manampilkan skema control PI untuk kasus motor DC-MP ini,
sedang Gambar 4.35 adalah skema simulasinya.

Gambar 4.34 Kontrol PI pada lengan robot tangan satu sendi

Gambar 4.35 Diagram Simulink Kontrol PI pada control posisi motor DC-MP

Hal. 4 - 36
Modul
Robotika

Gambar 4.36 Respon output control posisi pada kontroler PI

Nampak dalam Gambar 4.36 bahwa penerapan komponen I dalam kasus


control posisi motor DC-MP ini justru membuat sistem menjadi makin
berosilasi pada saat start. Pada dasarnya, kontrol I dapat membantu kontrol P
dalam mengurangi steady-state error. Tapi karena steady-state error kontroler P
ini asalnya memang sudah cenderung mendekati nol maka penambahan
komponen I justru akan menyebabkan sistem cenderung menjadi tidak stabil.

Hal. 4 - 37
Modul
Robotika

4.2.3. Kontrol Posisi menggunakan kontroler PD

Bagaimana dengan penerapan kontrol D pada kontrol P untuk kontrol


posisi motor DC-MP ini? Apakah komponen D mampu memperbaiki respon
pada kontroler P ?

Gambar 4.37 memperlihatkan skema kontrol PD untuk motor DC-MP yang


sama seperti pada diskusi sebelumnya.

Gambar 4.37 Kontroler PD pada control posisi motor DC-MP

Dengan berpedoman pada hasil uji simulasi kontrol PD pada kontrol


kecepatan motor yang ditampilkan dalam Gambar 4.24 di muka diharapkan
komponen D ini dapat juga memperbaiki kinerja kontroler P yang diterapkan
untuk kontrol posisi. Seperti telah dibuktikan, penambahan kontroler D dapat
menghilangkan efek osilasi pada saat start sehingga settling time menjadi lebih
baik. Gambar 4.38 memperlihatkan skema simulasi untuk control PD ini.

Hal. 4 - 38
Modul
Robotika

Gambar 4.38 Diagram simulasi control posisi (kontroler PD)

Diagram simulasi pada Gambar 4.38 juga diuji pada input yang sama,
yaitu fungsi step menuju posisi 1.57radian. Hasil simulasinya ditunjukkan
dalam Gambar 4.39 berikut ini.

Gambar 4.39 Respon output kontrol posisi pada kontroler PD

Hal. 4 - 39
Modul
Robotika

Dari Gambar 4.39 dapat disimpulkan bahwa kontroler D cocok


dikombinasikan dengan kontroler P untuk kasus control posisi pada motor DC-
MP. Jika dibandingkan dengan hasil pada kontroler P saja (Gambar 3.32),
kontroler PD memiliki respon yang lebih baik dalam hal waktu menuju steady
state tanpa terjadi overshoot, yaitu sekitar 0.2det pada Kp = 2.0 dan Kd =
0.065, manakala kontroler P hanya mampu sekitar 0.35det pada Kp = 0.8.

4.2.4. Efek Beban/Gangguan Torsi (Torque Disturbance)

Contoh-contoh control klasik (P, I, D dan kombinasi) yang diberikan


diatas adalah sistem kontrol yang di-tune pada kondisi sistem dinamik yang
relatif tak berubah. Artinya, pemilihan Kp, Kd dan Ki adalah berdasarkan
tuning yang dilakukan terhadap sistem yang dianggap ideal seperti persamaan
matematiknya. Dalam kasus-kasus tersebut motor DC-MP yang digunakan
sebagai aktuator dianggap memiliki spesifikasi yang ideal, yakni semua
parameternya tidak berubah terhadap waktu, temperatur kerja dan masalah
teknis lainnya. Demikian pula beban poros motor dianggap tetap, linier, tanpa
ada masalah friksi dan backlash (jika menggunakan gearbox) dan sebagainya.

Padahal, kondisi ideal di atas dalam dunia nyata tidak akan pernah
dijumpai, karena pada dasarnya semua fenomena sistem dalam alam dan
kehidupan ini adalah non-linier. Meskipun sistem robot, seperti contoh motor
DC-MP dengan lengan tunggal ini, dapat dimodelkan secara matematik dengan
tepat namun dinamika beban dan gangguan selama operasi umumnya tidak
dapat (sulit) dimodelkan secara tepat. Dalam konteks inilah kemudian dikenal
istilah-istilah faktor ketidaktentuan (uncertainty) dan ketidaklinieran (non-
linearity). Beberapa faktor yang masuk dalam dua kategori faktor ini misalnya
keausan bantalan (bearing) yang dapat menyebabkan friksi, beban kerja yang
sangat dinamis seperti beban angkat yang bervariasi, efek dinamik dari momen
inersia sistem sambungan seri seperti robot tangan 2DOF atau lebih, efek
gravitasi, dan berbagai gangguan operasi seperti vibrasi, senggolan, benturan,
dan sebagainya.

Hal. 4 - 40
Modul
Robotika

Sebagai contoh bahasan kita akan menguji efek beban torsi pada
beberapa kontrol klasik berikut ini. Perlu dipahami di sini bahwa pembebanan
yang berubah-ubah dianggap sebagai gangguan (disturbance).

Efek perubahan beban pada kontroler P

Untuk menguji pengaruh pembebanan pada kontroler P kita


menggunakan kembali model kontrol seperti pada Gambar 4.14 di muka tapi
dioperasikan sebagai kontrol posisi. Sebuah beban torsi untuk control posisi
motor DC-MP berupa torsi disambungkan dalam skema kontrolnya seperti
Gambar 4.40 berikut ini.

Gambar 4.40 Diagram kontrol proporsional untuk sebuah motor DC

Skema simulasinya ditunjukkan dalam Gambar 4.41.Dalam uji simulasi


ini, beban torsi dibuat variatif mulai beban nol hingga 0.005Nm (Newton
meter). Kp dipilih 2 yang pada kondisi tanpa beban mampu membuat error
menjadi konvergen. Gambar 4.42 memperlihatkan hasilnya.

Hal. 4 - 41
Modul
Robotika

Gambar 4.41 Diagram simulasi kontroler P dengan beban berubah-ubah

Gambar 4.42 Hasil simulasi kontroler P dengan beban berubah-ubah

Hal. 4 - 42
Modul
Robotika

Dalam Gambar 4.42 nampak bahwa efek pembebanan yang makin besar
menyebabkanǪ steady-state error menjadi semakin besar pula. Sedikit saja ada
beban tidak dapat menuju nolwalaupun Kp di-tune kembali. Jadi, kontroler P
untuk control posisi motor DC-MP hanya dapat konvergen untuk kondisi tanpa
beban torsi atau momen inersia. Padahal kondisi ideal tanpa beban ini hampir
tak pernah terjadi dalam aplikasi sebenarnya.

Efek Pembebanan pada kontroler PI

Dalam konteks tanpa beban atau beban mendekati nol, penambahan


kontroler I dapat memperburuk kinerja kontroler P seperti yang telah
ditunjukkan dalam Gambar 4.36 di muka. Bagaimana jika dioperasikan pada
kondisi berbeban?

Gambar 4.43 adalah skema simulasi untuk kontroler PI pada


kondisi berbeban.

Gambar 4.43 Diagram simulasi kontroler PI dengan pembebanan

Untuk uji simulasi kali ini Kp di-set sama seperti pada uji sebelumnya,
yaitu 2, sedang Ki diambil pada nilai dimana komponen I dianggap mampu
memperbaiki kinerja P dengan menurunkan steady-state error. Gambar 4.44
dan 4.45 berikut ini memperlihatkan hasil simulasinya.

Hal. 4 - 43
Modul
Robotika

Gambar 4.44 Respon kontroler PI dengan beban berubah-ubah

Dalam Gambar 4.44 nampak bahwa kontroler PI mampu menjaga agar


tetap konvergen terhadap pengarh beban yang berubah-ubah meskipun
waktu untuk mencapai steady-state menjadi melambat. Jika Ki di-tune kembali,
Nampak bahwa settling-time bisa memperbaik dengan memperbesar Ki , tetapi
overshoot maksimum (Mp) membesar (lihat Gambar 4.45).

Hal. 4 - 44
Modul
Robotika

Gambar 4.45 Respon tuning Ki terhadap beban

Efek Pembebanan pada kontroler PD

Dimuka telah disinggung bahwa komponen D dapat memperbaiki efek


overshoot yang terjadi pada kontroler P tanpa memperbaiki kemampuan untuk
mengecilkan steady-state error. Bagaimana jika kombinasi kontrol PD ini
berhadapan dengan pembebanan yang berubah-ubah?

Gambar 4.46 memperlihatkan skema uji simulasinya.

Hal. 4 - 45
Modul
Robotika

Gambar 4.46 Diagram simulasi kontroler PD dengan pembebananǪ

Skema ini diuji pada Kp = 2 dan Kd = 0.065. Beban gangguan di-set


mulai beban nol hingga 0.005Nm. Gambar 4.47 memperlihatkan hasil
simulasinya.

Dalam Gambar 4.47 nampak bahwa kontroler PD dalam kasus kontrol


posisi ini tidak responsif terhadap perubahan beban. Begitu beban di pasang,
kontroler tidak lagi mampu menjaga agar steady-state error menuju nol. Makin
besar beban atau gangguan torsi, maka makin besar pula errornya. Namun
demikian, berapapun besar pembebanan tidak menyebabkan bentuk respon
pada saat start berubah, seperti misalnya terjadi overshoot atau settling time
melambat.

Hal. 4 - 46
Modul
Robotika

Gambar 4.47 Respon kontroler PD dengan beban berubah-ubah

Efek Pembebanan pada kontroler PID

Dengan mempertimbangkan kelebihan dan kekurangan kontroler P, I dan


D di atas sekarang efek pembebanan kita uji pada kombinasi ketiganya, yaitu
PID. Seperti telah dibahas sebelumnya bahwa komponen D dapat
menghilangkan atau mengurangi efek overshoot pada kontroler P, sedang
komponen I dapat mengurangi steady-state error.

Skema simulasinya adalah sebagai berikut.

Hal. 4 - 47
Modul
Robotika

Gambar 4.48 Diagram simulasi kontroler PD dengan pembebanan

Gambar 4.49 Respon kontroler PID terhadap pembebanan

Hal. 4 - 48
Modul
Robotika

Gambar 4.49 adalah hasil simulasi yang menunjukkan respon kontrol


PID terhadap perubahan beban torsi pada poros motor. Nampak bahwa
kontroler PID mampu menjaga konvergensi atas perubahan beban. Namun
demikian, makin besar beban maka makin tinggi pula overshoot-nya.

Parameter kontrol yang dipilih dalam simulasi diatas adalah: Kp = 2.0,


Kd = 7.0 dan Ki = 0.1. Nilai-nilai ini di-tune dengan metoda trial & error, jadi
mungkin bukanlah yang terbaik. Sebagai latihan, dapat mencobanya sendiri
skema simulasi tersebut, dan mencari konfigurasi parameter-parameter yang
lebih baik.

4.2.5. Resolved Motion Rate Control

Dalam uraian contoh-contoh diatas, sistem robotika yang diperkenalkan


adalah baru robot tangan satu sendi ( single joint/link robot arm) sebagai
representasi kontrol sebuah motor dengan lengan tunggal yang terhubung ke
porosnya, yang jika dianalisa ruang kerjanya dalam koordinat Cartesian adalah
= ( . cos , . sin )

sebagai berikut,
(4.6)

Dengan adalah koordinat ruang kerja 2D Cartesian


adalah panjang lengan, dan adalah sudut lengan/poros (lihat

ujung lengan, L =( , )
Gambar 4.30). Dalam hal ini pada dasarnya kita tidak perlu menurunkan
koordinat ke dalam (x ,y) karena derajat kebebasan robot adalah 1DOF.
Koordinat q yaitu (x, y) akan selalu berada dalam konfigurasi berdasarkan
variabel tunggal . Dengan kata lain, pernyataan posisi dengan akan lebih
menyederhanakan persoalan dari pada menyatakannya dalam (x, y) sebab akan
langsung dapat diketahui dengan jelas posisi ujung lengan yang dikontrol.

Akan tetapi persoalannya mulai rumit manakala DOF robot lebih dari 1.
Misalnya 2DOF dan 3DOF pada robot tangan dua lengan seperti gambar
berikut.

Hal. 4 - 49
Modul
Robotika

Gambar 4.50 Sistem robot tangan 2DOF dan 3DOF

Nampak ,bahwa untuk ,system 2DOF,

Dan untuk system 3DOF,

Tiap, aktuator pada, sendi, dikontrol secara terpisah agar posisi ujung
lengan memperoleh kedudukan P(x, y) seperti yang diharapkan.

Resolved Motion Rate Control (RMRC) adalah teknik yang digunakan


untuk mengontrol pergerakan multi-sendi ini dengan memberikan referensi
gerak perpindahan posisi dan kecepatan tiap sendi secara sinkron berdasarkan
fungsi waktu. Persamaan,,… matematiknya, dapat dinyatakan sebagai berikut,

Atau
Hal. 4 - 50
Modul

Robotika

, = , , , …, , , adalah DOF
Dengan demikian, maka input referensi harus diberikan untuk tiap
komponen sendi, yaitu dan . Gambar berikut menunjukkan
diagramnya untuk kasus kontrol posisi motor DC-MP.

Gambar 4.51 Diagram control RMRC

Dalam skema aplikasi yang lebih umum untuk sistem robotika dapat
digambarkan sebagai berikut.

Hal. 4 - 51
Modul
Robotika

Gambar 4.52 Diagram control RMRC untuk sistem robotika

Jika aktuator sistem robot lebih dari satu maka referensi posisi dan
kecepatan harus diberikan untuk setiap aktuator. Sensor yang berkaitan juga
harus tersedia untuk tiap aktuator.

Sebenarnya prinsip kerja daripada RMRC ini sama dengan kontroler PD


secara umum. Tapi dalam implementasi praktis RMRC dapat memberikan
sentuhan yang lebih mendekati keadaan yang sesungguhnya karena setiap
komponen sistem, yaitu posisi dan kecepatan riil diselesaikan dengan umpan
balik secara terpisah. Artinya, referensi kecepatan dan posisi diberikan secara
sinkron dan aktualnya dideteksi secara realtime dengan sensor yang terpisah.
Jadi kecepatan (rate dari error) dikontrol tidak dengan mengintegrasi selisih
posisi referensi dan posisi aktualnya, namun langsung diperoleh dari selisih
antara kecepatan referensi dan hasil pengukuran sensor kecepatan.
Dari Gambar 4.51, persamaan output kontrolernya adalah,

= . − + .( − )

Hal. 4 - 52
Modul
Robotika

Nampak bahwa komponen berfungsi mengeleminasi error posisi,


sedang komponen yang dikalikan dengan selisih antara kecepatan
kecepatan actual dari sensor berfungsi untuk
referensi dan −

mengeliminasi error pada kecepatan. −


Beberapa kajian mendalam tentang teknik RMRC ini dapat dijumpai
dalam paper-paper: RMRC menggunakan fuzzy logic (Kim & Lee, 1993),
teknik RMRC bebas singularitas (O‟neil et al., 1997), dan RMRC berbasis
inverse kinematic learning (D‟souza et al.,2001).

4.2.6 Resolved Motion Acceleration Control

Resolved Motion AccelerationControl (RMAC), atau sering disebut RAC


(Resolved Acceleration Control) adalah pengembangan dari RMRC. RMAC
diperkenalkan pertama kali oleh Luh, et al. (1980). Ia menambahkan
komponen akselerasi dalam konsp RMRC agar system pergerakan robot dapat
lebih stabil.

Bentuk umum RAC untuk sebuah motor DC-MP ditunjukkan dalam


Gambar 4.53.

Gambar 4.53 Diagram kontrol RAC/RMAC untuk sebuah motor DC


YogiR.Supriyanto,Permadi, AbdurachmanHustinawati,ArySa’adBima K, Rigathi. W. N, Hal. 4 - 53
Modul

Dari gambar 4.52, persamaan output kontroler u(t) adalah, Robotika

= ∙ ∙ − − + ∙ − +
Dengan adalah komponen eliminator untuk error posisi, untuk
kecepatan dan untuk akselerasi.

Untuk skema yang lebih umum dalam sistem robotika, diagram control
diatas dapat digambarkan sebagai berikut.

Gambar 4.54 Diagram kontrol RMAC/RAC untuk sistem robotika

Idealnya, teknik RAC diatas menggunakan sensor posisi, kecepatan dan


akselerasi secara independen yang bekerja secara realtime seperti nampak
dalam Gambar 4.54 diatas. Jika aktuator adalah motor, maka data posisi dan
kecepatan bisa diperoleh sekaligus dari shaft/rotary encoder. Untuk sensor
akselerasi bisa menggunakan akselerometer.
Hal. 4 - 54
Modul
Robotika

4.3. Active Force Control


Beban atau gangguan pada sistem aktuator pada uraian-uraian di atas
pada dasarnya adalah daya aktif yang melawan daya yang dihasilkan oleh
poros motor. Daya yang dihasilkan motor atau aktuator secara umum dalam
suatu sistem kontrol adalah daya terhasil berdasarkan algoritma atau metode
kontrol yang digunakan. Makin responsif daya terhasil terhadap efek beban
atau gangguan maka kontrol dianggap makin baik. Sebagai indikator, skema
kontrol yang memiliki error yang lebih kecil ketika mendapatkan gangguan
dapat disebut sebagai skema kontrol yang lebih baik.

Dengan demikian, segala skema kontrol gerak dalam robotika yang


memperhitungkan beban atau gangguan dalam operasinya bisa dikategorikan
sebagai skema kontrol tenaga (force control). Jika suatu skema force kontrol
memiliki ketahanan atau kekokohan terhadap gangguan atau perubahan beban,
maka dapat disebut sebagai control yang kokoh (robust control). Seberapa
besar ukuran robustness (kekokohan) agar bisa disebut sebagai robust control
adalah bersifat relatif, tergantung dari sudut pandang mana seorang engineer
melihatnya.

Active force Control (AFC) adalah suatu terminologi skema control


robust yang bersifat praktis yang diperkenalkan pertama kali oleh Hewit &
Burdess (1981). Mereka memperkenalkan suatu konsep kontrol pada level
akselerasi yang dapat secara efektif mengkompensasi (compensate), menolak
(reject) atau membatalkan (cancel) sinyal gangguan torsi yang mengenai output
daripada aktuator (motor) berdasar error feedback dari akselerasi aktual. Ide ini
berdasarkan konsep dasar hukum newton= yang∙ kedua, yaitu
dengan = massa (kg), = akselerasi/percepatan ( / ). Dalam bentuk

invers dapat ditulis,

Hal. 4 - 55
Modul
Robotika

= ⇐ (4.14)
Ekspresi penulisan dengan tanda panah ke kiri pada Persamaan (4.14)
sebelah kanan mengilustrasikan bahwa „force‟ yang dikenakan pada posisi fisik
yang memiliki „massa‟ menyebabkan terjadinya suatu „percepatan‟ pada posisi
itu. Dengan demikian, pengukuran yang dilakukan terhadap akselerasi sesaat
dapat menunjukkan force resultan yang terjadi pada saat itu.

Menurut hokum Newton kesatu, dalam keadaan setimbang (balance), jumlah


∑force=pada0 suatu titik/posisi adalah sama dengan,
(4.15)
Jika terjadi ketidakseimbangan maka selisih vector „force‟ itu dapat
menyebabkan percepatan pada titik yang bersangkutan. Dengan mengukur
percepatan pada titik tersebut maka force yang menyebabkan percepatan itu
dapat dihitung.

4.3.1 Konsep Dasar AFC

Konsep dasar AFC pada sebuah sistem robotika dengan model dinamik
H(s) dengan actuator motor DC torsi (DC-TQ) ditunjukkan dalam Gambar
4.55 berikut ini.

Gambar 4.55 Diagram skema konsep Active Force Control


Hal. 4 - 56
Modul
Robotika

Misalnya sistem robotika adalah sebuah lengan kaku yang dipasang


pada poros motor DC-MP pada salah satu ujungnya. Sesuai dengan hokum
Newton kedua, pada suatu bodi massa (lengan kaku) yang bergerak secara
rotasi, jumlah semua torsi yang mengenai bodi adalah sama dengan perkalian
momen inersia massa (IN) dengan percepatan angular dari bodi yang diukur
searah dengan vektor torsi yang mengenainya. Dalam ekspresi matematik dapat
∑ = ∙

ditulis,
(4.16)
Untuk system pada Gambar 4.55 di atas dapat dituliskan,

(4.17)

=( ) ∙adalaha torsi terpakai, Q adalah adalah torsi gangguan,


+ Dengan
adalah momen inersia rotor dan lengan, adalah sudut putaran, dan ( )
adalah percepatan angular.

Dengan demikian pengukuran gangguan Q dalam bentuk Q’ dapat


diperoleh melalui,

= (θ)∙ − (4.18)
Tanda superscript „ menyatakan nilai yang didapat dari pengukuran atau
estimasi. dapat diperoleh dengan mengukur arus yang digunakan oleh motor
(diasumsikan motor yang dipakai adalah motor DC-TQ). Dengan mengalikan
arus motor Idengan konstanta motor maka torsi dapat ditentukan.

= . (4.19)
Komponen diperoleh dengan mengalikan hasil pengukuran
bodi dengan factor pengestimasi inersia (inertia
percepatan angular( )′ ∙
diperoleh dengan
estimator). Nilai percepatan angular ini dapat langsung ( )′
menggunakan sensor accelerometer, sedang variable inertia estimator perlu

Hal. 4 - 57
Modul
Robotika

direkayasa untuk mendapatkan nilai estimasi tepat yang dapat mendekati


keadaan operasi sebenarnya.

Gambar 4.56 Aplikasi AFC pada sistem robotika

Gambar 4.56 memperlihatkan skema aplikasi AFC untuk sistem robot


secara umum. Semua simbol variabel ditulis dalam bentuk tegak tebal (bold)
yang berarti variabel ini berbentuk matrik. Untuk robot yang memiliki lebih
dari 1DOF persamaan geraknya dapat dinyatakan sebagai bentuk matrik.
Dalam gambar, torsi terpakai pada motor dapat diukur secara langsung
menggunakan sensor torsi, ataupun secara tak langsung menggunakan sensor
arus motor. Dalam skema bisa dipilih salah satu saja (ditandai dengan garis
putus-putus). Jika menggunakan sensor arus maka perlu dikonversikan dengan
nilai untuk mendapatkan kembali nilai torsi.
Gambar 4.57 memperlihatkan sebuah contoh pemasangan sensor arus
pada rangkaian driver motorDC berbasisΩ PWM. Kapasitor 0.1
yang
dirangkai parallel dengan resistor 0.1 berguna untuk menyaring frekuensi
tinggi yang dihasilkan oleh proses switching pada PWM. Perlu diperhatikan
bahwa resistor yang digunakan sebaiknya mempunyai kemampuan watt yang
besar dan nilainya tidak terpengaruh Hal. 4 - 58
perubahan temperatur.
Modul
Robotika

Gambar 4.57 Sensor Arus pada rangkaian driver motor

4.3.2 Estimasi (matriks) inersia

Isu utama dalam implementasi skema AFC adalah bagaimana


mengestimasi (matriks) inersia dengan tepat dan realtime. Jika faktor pengali
akselerasi, IN ini sesuai dan bersifat dinamis mengikuti nilai disturbance maka
AFC secara teoritis dapat meredam semua bentuk gangguan.seperti diketahui,
sistem dalam robotika bersifat sangat non-linier (highly non-linear). Begitu
banyaknya komponen mekanik sebagai struktur utama dalam pergerakan robot
dan beragamnya lingkungan operasi menyebabkan faktor-faktor ketidaktentuan
dan sifat non-linieritas sistem menjadi sangat tinggi.

Inersia dapat diestimasi secara kasar (crude approximation) dengan


mengambil nilai tertentu yang secara rata-rata paling sesuai untuk segala
macam gangguan yang mungkin timbul dalam operasi. Langkah ini mirip
seperti proses tuning pada kontroler P. dalam beberapa kajian , skema AFC

Hal. 4 - 59
Modul
Robotika

dengan crude approximation ini cukup sukses diaplikasikan pada suatu sistem
mekatronik dan sebuah system active suspension untuk kendaraan dalam
eksperimen di laboratorium (Hewit dan Burdess, 1986, Hewit dan Ma‟rouf,
1996).

Sejalan dengan berbagai kemajuan dalam teknik kontrol modern


menggunakan kecerdasan buatan, metoda estimasi inersia dalam skema AFC
ini juga telah banyak dikembangkan dengan berbagai metoda, seperti reference
look-up table dan modofikasi AFC sebagai disturbance cancellation control
(Uchiyama, 1993) neural network (Musa, 1998) iterative learning (Kwek, et
al., 2003, Pitowarno et al., 2005), Knowledge-based system (Pitowarno et al.,
2001) dan Knowledge-based fuzzy (Pitowarno dan Mailah, 2005).

4.4. Implementasi Kendali Ke Dalam Rangkaian Berbasis


Mikroprosesor
Pertama kita harus menyiapkan rangkaian kontroler yang memiliki
fasilitas input analog dan output analog. Dalam hal ini penggunaan rangkaian
ADC dan DAC diperlukan di dalam sistem kontroler.

Gambar 4.58 PIC16F877

Hal. 4 - 60
Modul
Robotika

Kontroler robot dalam tahap disain dan uji coba laboratorium dapat
dibuat dari komputer standar (baik PC atau work station) yang dilengkapi
dengan interface ADC dan DAC. Jika proses ujicoba telah dianggap memadai
maka rangkaian kontrolernya dapat dirancang ulang dengan menggunakan
sistem kontroler yang menyatu dengan sistem robot (embedded controller).
Dapat sebagai contoh, kita akan membahas rangkaian berbasis PIC16F877. IC
mikrokontroler ini memiliki ADC yang menyatu di dalam chip sebanyak 8
kanal dengan ketelitian 10-bit. Untuk output, tersedia 2 kanal PWM yang dapat
dihubungkan ke aktuator seperti motor. Input/Output secara umum dapat
diperoleh dari Port A, B, C, D dan E. untuk lebih lengkapnya silahkan cek di
datasheet yang berkaitan.

4.4.1. Contoh: Kontroler Robot Mobile Manipulator berbasis PC

Misalkan kita punya sebuah kasus disain robot Mobile


Manipulator seperti Gambar 4.59 berikut ini.

Gambar 4.59 Robot Mobile Manipulator

Hal. 4 - 61
Modul
Robotika

Robot ini termasuk dalam kategori mobile robot yang bergerak


menggunakan dua buah roda kiri-kanan secara independen (differentially-
driven mobile robot – DDMR). Sebuah tangan 2 sendi dipasang diatas platform
dan dapat bergerak secara planar. Robot ini sangat popular digunakan oleh para
peneliti dalam berbagai kajian-kajian dasar untuk menguji berbagai teori-teori
baru baik tentang control kinematic maupun dinamik. Dalam konteks bahasa
kajian kinematika, dengan memasang robot manipulator diatas mobile platform
maka daerah kerja (workspace) robot menjadi luas dan dinamis. Mobile
manipulator dalam hal ini dapat mewakili berbagai kajian yang berkaitan
dengan kontrol gerak (motion control) baik yang bersifat holonomic maupun
yang bersifat nonholonomic.

Misalkan robot diatas akan didisain secara outonomous yang dalam hal
ini memerlukan sebuah sistem embedded controller berbasis PIC16F877.
Sebelum embedded controller kita buat, terlebih dahulu sebuah PC digunakan
sebagai dasar dalam mengembangkan sistem kontroler baik secara perangkat
keras maupun perangkat lunak. Ilustrasi sistem pengembangan robot dapat
dilihat dalam Gambar 4.60 berikut ini.

Gambar 4.60 Sistem pengembangan Mobile Manipulator

Hal. 4 - 62
Modul
Robotika

Gambar 4.61 Sistem kontroler Mobile Manipulator berbasis PC

Gambar 4.61 adalah diagram rangkaian sistem kontroler secara


keseluruhan. PC sebagai kontroler dilengkapi dengan 2 unit data acquisition
card DAS1602 yang ditancapkan pada slot EISA. Perlu dipahami disini, pada
dasarnya menggunakan PC dengan spesifikasi yang lebih baik akan dapat
meningkatkan kualitas waktu akses. Namun kelas Pentium P-III umumnya
tidak dilengkapi dengan slot EISA sehingga DAS1602 tidak dapat diinstall di
dalamnya. Jika anda menggunakan interface card tipe slot PCI maka
disarankan menggunakan PC P-4.

Pada Gambar 4.61, jika dilihat dari sisi input, system ini memiliki 12
kanal input analog yang dihubungkan ke 12 kanal ADC pada interface
DAS1602. Sedangkan pada rangkaian rotary encoder digunakan system bus

Hal. 4 - 63
Modul
Robotika

parallel yang terhubung port PPI8255. Jadi total memiliki 16 terminal input
yang masing-masing dapat dikatakan bekerja dengan orientasi analog. Pada sisi
output terdapat 4 kanal yang semuanya bekerja berdasarkan prinsip analog.
Tegangan masing-masing output memiliki jangkauan (0-12)V secara linier.
Untuk arah putaran motor tiap-tiap kanal dibantu dengan 1 bit output digital
(1/0) untuk menyatakan arah putaran CW dan CCW. Karena tiap DAS1602
memiliki 2 kanal DAC maka diperlukan 2 unit untuk mengontrol robot ini.
Motor yang digunakan adalah tipe DC-Servoyang spesifikasinya mendekati
motor torsi ideal. Rangkaian driver-nya ditunjukkan dalam Gambar 4.62.

Gambar 4.62 Rangkaian driver untuk motor DC-Servo

Untuk pemasangan sensor kecepatan berbasis f/V, sensor arus dan sensor
percepatan dapat menggunakan rangkaian-rangkaian yang telah diterangkan di
bab sebelumnya. Khusus untuk rangkaian rotary encoder yang seluruhnya
berjumlah 4 unit ini Gambar 4.63 memperlihatkan skema lengkapnya. Sistem
koneksi “bus parallel” yang dinyatakan dalam kotak bergaris putus-putus dapat

Hal. 4 - 64
Modul
Robotika

didisain sedemikian rupa menggunakan konektor standar, misalnya Amphenol


DP-25, sehingga mudah dihubungkan ke sistem rangkaian kontroller baik PC
maupun embedded controller.

Hal. 4 - 65
Modul
Robotika

Gambar 4.63 Rangkaian HCTL2000 untuk Rotary/Shaft Encoder


Hal. 4 - 66
Modul
Robotika

4.4.2. Kontroler Robot berbasis PIC16F877

Dengan menggunakan sistem pengembangan berbasis PC seperti yang


diuraikan sebelumnya maka user secara relatif dapat dengan leluasa
mengembangkan berbagai metoda atau algoritma kontrol robot tanpa khawatir
dengan, misalnya terbatasnya kapasitas memori, dan sebagainya. Melalui PC
juga dapat dilakukan berbagai simulasi sebelum mengujicobanya pada robot
yang sebenarnya sistem mikrokontroler biasanya tidak menggunakan layar
CRT atau monitor standar tidak seperti PC.

Sekarang kita akan mengganti PC dengan kontroler berbasis


PIC16F877 seperti gambar berikut ini.

Hal. 4 - 67
Modul
Robotika

Gambar 4.64 Rangkaian kontroler berbasis PIC16F877

Dalam Gambar 4.64 nampak bahwa selain rangkaian input/output yang


berhubungan dengan sensor dan aktuator juga terdapat rangkaian interface
untuk display ke LCD tipe LXC2425STY dan rangkaian PPI8255 sebagai
Hal. 4 - 68
Modul
Robotika

interface ke rangkaian rotary encoder berbasis HCTL2000. Rangkaian output


ke motor dilengkapi dengan rangkaian DAC yang dirancang dengan berbasis
bus parallel untuk mendapatkan 4 kanal DAC sesuai dengan kebutuhan.
Fasilitas 2 kanal PWM pada chip PIC ini belum dimanfaatkan.

4.5. Low-level dan High-level Control Pada Robot


Sensor dalam robotika dari sudut pandang taksonominya dapat
dikelompokkan dalam dua kategori, yaitu

  Sensor Internal:
Sensor posisi,
Sensor kecepatan, dan
Sensor percepatan,
  Sensor Eksternal:
Sensor taktil (tactile), berbasis sentuhan: misalnya limit switch
pada bemper robot,
Sensor force dan sensor torsi (torque sensor),
Sensor proksimiti,
Sensor jarak (sonar, PSD, dll),
Sensor vision (kamera),
Gyro, kompas digital, detector api, dan sebagainya.

Dari pengelompokan sensor ini kemudian dikenal istilah low-level control dan
high-level control dalam kontrol robotika. Diagram dasarnya adalah sebagai
berikut.

Hal. 4 - 69
Modul
Robotika

Gambar 4.65 Low-level Control dan High-level Control

Dengan pendekatan seperti pada Gambar 4.65 ini maka skema-skema


kontrol yang telah diterangkan sebelumnya, yaitu control PID, RMRC dan
RMAC/RAC dapat dikategorikan sebagai low-level control. Pengertian ini
didasarkan pada cara instalasi sensor dan cara membaca datanya, yakni dengan
mengukur langsung pada bagian tubuh/sendi/sumbu-putar dari struktur (robot).

Sedangkan high-level control adalah kontrol yang bekerja berdasarkan


data-data sensor yang merupakan informasi tentang lingkungan dimana robot
itu bekerja. Misalkan kontrol gerak mobile robot untuk menghindari halangan
dan mengejar obyek. Data-data sensor yang diperoleh dari sensor jarak (range
finder sensor) seperti ultrasonic, TX-RX inframerah, dan sebagainya, adalah
mengandung informasi lingkungan (eksternal). Jika diperhatikan dari Gambar
4.65 maka high-level control bertugas membentuk input atau trajektori
referensi bagi low-level control pada sistem mobile robot high-level control
berkaitan dengan berbagai hal yang berhubungan dengan pemetaan medan,
perencanaan jelajah, metoda penghindaran halangan, koordinasi antar robot,
dan sebagainya.

Hal. 4 - 70
Modul
Robotika

Beberapa skema high-level control yang umum digunakan antara lain:

  Pendekatan Model-Plan-Act (MPA),


  Pendekatan Behavior-based, dan
 Pendekatan Finite State Machine (FSM).

4.5.1 Kontrol Gerak berbasis pendekatan model Plan-Act


Prinsip kerja metode ini dapat diilustrasikan seperti dalam Gambar 4.66
berikut ini.

Gambar 4.66 Prinsip kerja Pendekatan Model-Plan-Act (MPA)

Pertama, robot melakukan pembacaan data-data sensor. Dari data ini


kontroler melakukan pemodelan medan kerja robot (the world). Jika model
telah dikenal secara pasti maka kontroler dapat melakukan perencanaan jelajah.
Jika rencana “telah matang”, robot melakukan aksi dengan bergerak menuju
target.

Hal. 4 - 71
Modul
Robotika

Sesampai di posisi target, robot melakukan pembacaan sensor lagi. Dari


sini langkah pemodelan dilakukan lagi. Demikian seterusnya sehingga setiap
kali robot telah mencapai target yang baru ia akan menjalankan prosedur yang
berulang g hingga target terakhir dicapai.

Sebagai contoh, katakanlah kita punya sebuah mobile robot, kita


berinama saja Robot Tikus, yang berada dalam suatu medan permainan seperti
Gambar 4.67 di bawah ini.

Gambar 4.67 Robot tikus mencari GOAL (1)

Tugas Robot Tikus adalah mencari pintu keluar GOAL dengan


menggunakan metoda MPA. Diasumsikan robot memiliki kemampuan “mata”
untuk menyapu pandangan sejauh “mata memandang”. Dalam robot aplikasi
dapat mencapai dengan menggunakan kamera, sonar (range finder), dan
sebagainya.

Langkah pertama ketika di posisi START. Robot menyapu pandangan ke


sekeliling yang ia mampu. Pandangan pertama ini akan menghasilkan “peta”
seperti dalam Gambar 4.68.

Hal. 4 - 72
Modul
Robotika

Gambar 4.68 Robot Tikus mencari GOAL (START)

Dari peta ini robot dapat melakukan perencanaan gerak yang pertam
menuju titik tengah, pada garis pintu masuk ke daerah yang belum
diketahui. Kurva trajektori dapat ditentukan dengan mempertimbangkan titik
koordinat START, perkiraan koordinat titik tengah yang berhasil “dipandang”,
(centroid) dengan menghitung luas daerah terlebih dahulu, dan
perkiraan/perhitungan Koordinat titik . Dengan metoda matematik
sederhana, dari tiga titik koordinasi yang diketahui ini dapat diperoleh fungsi
trajektori yang dikehendaki. Dari hasil perencanaan, robot dapat melakukan
aksi pertama.

Hal. 4 - 73
Modul
Robotika

Gambar 4.69 Robot Tikus mencari GOAL (START-P1)

Langkah kedua, setelah robot mencapai titik , ia berhenti dan


menyapu pandangannya lagi. Prosedurnya sama seperti langkah dua titik
tengah garis “pintu masuk” daerah yang belum diketahui. Di sini menghadapi
dua pilihan, menjelajahi menuju atau terlebih dahulu.pertama,
sehingga didapat peta seperti dalam Gambar 4.69. Perhatikan bahwa sekarang
robot menemukan.

Perlu dicatat bahwa Robot Tikus ini melakukan penjelajahan untuk yang
pertama kali tanpa pengetahuan sedikitpun tentang medan kerjanya. Jadi
diasumsikan bahwa setelah berpengalaman menjelajah mencari GOAL untuk
yang ke-1, ke-2 hingga yang ke-n diharapkan robot dapat menemukan jalan
pintas yang paling pendek.

Hal. 4 - 74
Modul
Robotika

Katakanlah sekarang robot mengambil langkah menuju . Maka


peta yang dihasilkan,

Gambar 4.70 Robot Tikus mencari GOAL (START-P1-P3)

Dari sini, jika langkah robot diteruskan , akan didapat peta terakhir
seperti dalam Gambar 4.71 yang merupakan penyelesaian. Namun langkah ini
bukanlah yang terpendek.

Hal. 4 - 75
Modul
Robotika

Gambar 4.71 Robot Tikus mencari GOAL (START-P1-P3-P4-P5-GOAL)

Jika tujuan yang dijelajahi terlebih dahulu maka peta yang


dihasilkan adalah seperti dalam Gambar 3.71.

R. Supriyanto,GambarHustinawati,4.72RobotAryBimaTikusK,Rigathimencari.W.N,GOAL

(START-P1-P2-P4-GOAL) Hal. 4 - 76
Modul
Robotika

Nampak bahwa jalur jelajah yang dibentuk dalam gambar di atas lebih
pendek dibandingkan dengan peta pada Gambar 4.72.

Dari penjelajahan-penjelajahan di atas, (START-P1-P3-P4A-P5-GOAL)


dan (START-P1-P2-P4B-GOAL), didalam memori kontroler robot akan
diperoleh interpretasi pemetaan seperti yang diilustrasikan dalam Gambar
4.73.

Gambar 4.73 Robot Tikus mencari GOAL (START-P1-P3-P4-P5-GOAL)

Untuk memperoleh jalur terpendek pada penjelajahan robot berikutnya


dalam program kontroler dapat ditambahkan berbagai algoritma pencarian jalur
terpendek (shortest path searching/planning), seperti algoritma A* (baca: A
bintang) dan algoritma genetik.

Penyelesaian jalur terpendek dalam contoh kasus diatas ditunjukkan


dalam Gambar 4.74 berikut ini.

Hal. 4 - 77
Modul
Robotika

Gambar 4.74 Robot Tikus mencari GOAL (Jalur terpendek)

Dari uraian-uraian diatas Nampak bahwa metoda MPA cukup sederhana.


Tapi bagaimanapun juga, selain keuntungan terdapat juga kerugian atau
kelemahan dalam penggunaan metoda ini.

Keuntungannya antara lain:

 Dari pengetahuan (knowledge) secara global hasil dari tiaptesting


(penjelajahan) memungkinkan untuk dilakukan langkah-langkah
 optimasi (jalur terpendek) dengan cukup baik.
 Perencanaan jelajah yang terpendek hasil dari optimasi dapat
dijamin keakuratannya.

Sedangkan kelemahannya:

 Pemrogramannya rumit dan berbelit-belit (computationally


intensive).

Hal. 4 - 78
Modul
Robotika

 Membutuhkan sensor-sensor yang berkualitas sangat bagus untuk


 memperoleh model lingkungan yang akurat.
 Bagaimanapun juga, model lingkungan medan yang diperoleh
 hanyalah sekedar perkiraan (aproksimasi) saja.
 Bila diterapkan dalam medan kerja yang dinamis, misalnya
terdapat obyek yang selalu bergerak, metoda ini tidak dapat bekerja
dengan baik.

4.5.2 Kontrol Gerak berbasis Behavior (Behavior-Based, BB)

Robot yang menggunakan algoritma high-level control berbasis behavior


(tabiat, kelakuan) biasa disebut sebagai behavior-based robot. Algoritma ini
adalah salah satu metoda dalam high-level control yang relatif paling banyak
diteliti dan diuji coba dewasa ini. Metoda BB memiliki kelebihan disbanding
dengan metoda MPA, yaitu dapat bekerja dengan baik dalam lingkungan yang
dinamis. Misalnya untuk pengejaranobyek seperti dalam ajang kontes Robo-
Soccer (Robot Sepak Bola).

Algoritma BB diturunkan dari sifat-sifat alami makhluk hidup, yaitu


bertingkah laku sesuai dengan keadaan lingkungannya. Berdasarkan informasi
dari panca indera tertentu, syaraf yang berhubungan dengan otot gerakan
anggota badan terkait akan mendapat stimuli dari otak sehingga memberikan
suatu respon yang khas. Seorang akan dengan reflek menarik tangannya bila
menyentuh bara api. Kita akan secara reflek menoleh jika seseorang
memanggil nama kita. Termasuk, jika kita takut, kita akan mengambil langkah
seribu jika kita dikejar anjing.

Prinsip kerja algoritma BB dapat digambarkan sebagai berikut.

Hal. 4 - 79
Modul
Robotika

Gambar 4.75 Prinsip kerja algorithma behavior-based

Sedangkan, struktur algoritma BB yang dikenal sebagai arsitektur


subsumption (sumption architecture) dapat diilustrasikan seperti Gambar 4.76
berikut ini.

Gambar 4.76 Arsitektur Subsumption dalam BB control

Hal. 4 - 80
Modul
Robotika

Behavior(1,2,3,…,N) didefinisikan sebagai tingkah laku robot yang


“alami”. Misalnya seperti jalan maju hingga menemukan halangan, belok
kanan, belok kiri, mencari obyek, menuju da menguasai obyek (capture),
mundur dan belok bila melanggar dinding, dan segala “aksi” yang dapat kita
definisikan sebagai bentuk “tabiat dasar mahluk” jika menjumpai suatu
permasalahan. Setiap behavior bergantung kepada stimuli yang diterimanya.
Stimuli dalam robotika pada dasarnya adalah data-data berbagai macam sensor
yang difungsikan. Pada manusia, seperti yang kita ketahui , seluruh
pancaindera kita aktif 24 jam kecuali (mungkin) jika kita sedang tidur.
Behavior yang memiliki prioritas yang lebih tinggi dapat membatalkan aksi
dari behavior yang lebih rendah.

Misalnya, katakanlah kita memiliki tiga behavior, yaitu berjalan, lari, dan
memungut batu kemungkinan melemparnya. Behavior “berjalan” adalah
kondisi normal tanpa stimuli. Lari didefinisikan sebagai behavior jika kita
melihat anjing mengejar kita. Memungut batu dan melemparkan ke anjing
adalah behavior yang distimuli oleh penglihatan mata. Jika dinyatakan dalam
arsitektur subsumption susunan behavior ini dapat diilustrasikan dalam
Gambar 4.77 berikut ini.

Gambar 4.77 Sebuah contoh arsitektur subsumption

Hal. 4 - 81
Modul
Robotika

Dari contoh dalam Gambar 4.77, dalam keadaan normal, kita tidak
melihat anjing mengejar, maka subsumption akan memutus hubungan panah
dari atas ( ). Jika ketika berjalan kita melihat ada anjing mengejar maka
akan melakukan switching dengan memutuskan panah dari kiri dan
menyambung panah dari . Sementara itu, masih terhubung ke “lari” dan
memutus panah dari atas. Dalam kondisi ini keputusannya adalah lari. Jika
pada saat lari kita melihat ada batu maka akan memutus hubungan dari
“lari”, sehingga kita berhenti, dan sebagai gantinya kita mengambil batu dan
melemparkannya ke anjing yang mengejar. Jika melihat batu tapi tidak sedang
melihat anjing maka kita akan tetap berjalan normal karena behavior
“memungut batu & melemparnya” tidak mendapat stimuli yang lengkap.
Artinya, output behavior ini tidak akan memberikan respon (output non-aktif)
dan tetap terhubung ke panah dari kiri.

Sebagai contoh bahasan yang lebih riil, katakanlah kita punya sebuah
Robot Tikus bermata kamera plus infrared range-finder (PSD) dengan fungsi
mengejar dan menangkap bola seperti dalam Gambar 4.78 berikut ini. Sebut
saja robot ini Robot Tikus Sepak Bola (RTSB).

Gambar 4.78 Robot Tikus Sepak Bola bermata kamera

Hal. 4 - 82
Modul
Robotika

Behavior RTSB kita definisikan sebagai berikut:

 Jelajah: berjalan bebas kea rah depan dengan memutar roda kiri dan
 kanan dalam kecepatan yang sama. (normal)
 Menghindar: Hindari jika ada halangan (dinding atau robot lain di
depan). Jika sensor halangan dekat dengan PSDL, robot berbelok ke
kiri. Sebaliknya, jika halangan dekat dengan PSDR maka belok ke
 kanan.
 Mundur & Belok: Jika bemper SBL ON, artinya menubruk sesuatu
(dinding atau robot lain) di arah sebelah depan-kiri, robot mundur
sedikit sembari belok ke kiri. Sebaliknya, jika tubrukan di sebelah
 kanan (SBR ON), robot mundur dan belok ke kanan.
 Mencari Bola: Mata kamera menyapukan pandangan ke arah depan.
Dalam hal ini kamera dipasang mati pada tubuh robot. Respon behavior
ini adalah robot mendekati bola hingga dapat ditangkap. (Pintu bola
 senantiasa terbuka hingga DB tersentuh).
 Memegang Bola: Jika detektor bola DB aktif maka bola telah masuk
ke mulut robot. Maka robot akan menutup pintu bola. DB akan selalu
 aktif selama bola berada dimulut robot.
 Mencari GOAL: Stimuli berasal dari informasi kamera juga seperti
 pada behavior mencari bola. Dalam hal ini diperlukan metoda-metoda
pengolahan citra untuk membedakan bola dengan GOAL. Jika GOAL
didapat, dengan catatan bola sudah di mulut, maka robot akan “lari”
kearah GOAL dan memuntahkan bola dengan membuka pintunya.
Sebagai catatan, dalam kompetisi Robot Sepak Bola (RoboSoccer),
bola biasanya berwarna orange sedang goal berwarna biru atau merah
dengan lantai berwarna gelap (misalnya hijau tua) dan dinding
berwarna putih atau terang.

Dari definisi-definisi behavior di atas arsitektur subsumption-nya dapat


dirancang seperti dalam Gambar 4.79.

Hal. 4 - 83
Modul
Robotika

Gambar 4.79 Arsitektur Subsumption untuk control robot RTSB

Nampak dari gambar di atas, susunan node subsumption S1 s/d S5


memberikan efek terhadap prioritas behavior yang harus difungsikan sesuai
dengan konfigurasi data-data sensor. Dalam keadaan normal (default) tanpa
info apapun dari sensor-sensor, robot akan melakukan “jelajah bebas ke
depan”. Mencari GOAL ditempatkan sebagai behavior dengan prioritas
tertinggi, namun aktifitasnya berdasarkan stimuli dari info kamera dan switch
detector bola. Switch bemper dan infrared hanya bertugas untuk menggiring
robot hingga akhirnya bola diperoleh dan dimasukkan kedalam GOAL.

Seperti pada banyak metoda yang dikembangkan dan ditawarkan,


metoda/algoritma BB juga mempunyai keuntungan dan kerugian.

Keuntungannya antara lain:

 Dalam pemrograman, behavior dinyatakan sebagai suatu fungsi


rutin yang dapat dengan mudah diaktifkan atau tidak. Dengan
demikian disain sistem kontrolnya menjadi lebih transparan.

Hal. 4 - 84
Modul
Robotika

 Sistem modul yang digunakan dalam pemrogramannya juga


memberikan kemudahan dalam eksperimen karena setiap modul
 dapat dites satu persatu sebelum digabung.
 Metode control BB ini sangat proaktif dan reaktif terhadap
perubahan dinamik lingkungan sehingga dangat sesuai digunakan
sebagai basis robot outonomous yang mampu belajar sendiri secara
online dan terus-menerus.

Sedangkan kerugiannya:

 Dari sudut pandang programmer: tidak dapat dipastikan apa


sebenarnya yang sedang dan akan dilakukan oleh robot ketika
beraksi dilapangan. Susah untuk dievaluasi dan ditentukan letak
kesalahannya jika robot mampu menyelesaikan tugas.

 Tidak bisa dijamin robot selalu mampu menyelesaikan tugasnya
Maintenance dan kalibrasi program juga amat sulit.

4.5.3 Metoda Finite State Machine (FSM)

Finite State Machine adalah suatu mekanisme untuk menentukan suatu


solusi berdasarkan perubahan-perubahan keadaan (state) waktu demi waktu.
Setiap solusi yang diperoleh untuk satu perubahan state pada dasarnya adalah
identic dengan sebuah behavior seperti dalam algorithma BB.

Dalam teknik FSM, perubahan suatu state terjadi berdasarkan informasi


data umpan balik dari sensor-sensor. Jadi dari segi waktu, FSM dapat bersifat
realtime karena state slalu diperbaharui setiap kali lingkungan berubah.
Gambar 4.80 berikut ini menunjukkan sebuah skema dasar FSM untuk fungsi
jelajah dengan kemampuan menghindari halangan.

Hal. 4 - 85
Modul
Robotika

Gambar 4.80 Sebuah skema FSM

Gambar 4.80 dapat dijelaskan sebagai berikut. Pertama, robot harus


didefinisikan pada suatu keadaan (initial state). sesuai skema diatas, initial state
yang tepat adalah MAJU 10cm. Jika dalam gerak maju sejauh 10cm ini robot
tidak menemukan halangan maka ia akan maju lagi 10cm.

Demikian seterusnya. Jika menemukan halangan, ia akan merubah state


0
menjadi BELOK KANAN 45 . Batas terjauh halangan yang didefinisikan
adalah 20cm, lebih jauh 10cm disbanding setiap langkah/state MAJU. Hal ini
dimaksudkan agar robot memiliki toleransi gerak yang cukup jika ia gagal atau
0
terlambat mendeteksi halangan. jika setelah satu kali belok 45 robot sudah
tidak lagi mendeteksi adanya halangan maka state kembali ke MAJU 10cm.
tapi jika masih mendeteksi adanya halangan maka robot melakukan BELOK
0
KANAN 45 lagi sampai halangan tak terdeteksi. Hal ini sangat bermanfaat
pada kondisi dimana robot menuju lorong yang buntu.

Berikut ini ditampilkan rutin program untuk merubah state dari


MAJU_10CM ke Belok_Kanan_45, atau sebaliknya.

Hal. 4 - 86
Modul
Robotika

Sedangkan, rutin untuk memerintahkan robot bergerak MAJU atau


BELOK, ditampilkan sebagai berikut.

Hal. 4 - 87
Modul
Robotika

LATIHAN
a. Sebutkan dan jelaskan komponen-komponen sistem robotika!
b. Jelaskan perbedaan antara sistem kontrol ON/OFF dengan sistem
kontrol PID (Proporsional, Integral dan Derivatif)!
c. Sebutkan dan jelaskan kelebihan dan kekurangan masing-masing
kontrol P, I dan D!
d. Bagaimana merepresentasikan kontrol kecepatan ke dalam kontrol
posisi?
e. Jelaskan efek perubahan beban (gangguan torsi) pada kontroler P, PI,
PD dan PID!
f. Apa yang dimaksud dengan “Resolved Motion Rate Control (RMRC)?
Jelaskan cara kerja RMRC!
g. Apa yang dimaksud dengan “Resolved Motion Acceleration Control
(RMAC)? Jelaskan cara kerja RMAC!
h. Apa yang dimaksud dengan “Active Force Control (AFC)? Jelaskan
cara kerja AFC!
i. Jelaskan perbedaan antara “low-level control” dengan “high-level
control”!
j. Jelaskan cara kerja kontrol berdasarkan Model Plan-Act (MPA)!

Hal. 4 - 88
Modul
Robotika

REFERENSI
c. Hewit, J. R danMarouf, K. B. (1996).Practical Control Enhancement via
Mechatronics Design.IEEE Trans. Industrial Electronics.43(1). 16-22
d. Hewit, J.R. and Burdess (1981).Fast Dynamic Decoupled Control for Robotics
Using Active Force Control.Trans. Mechanism and Machine Theory.16(5).535-
542.
e. Hewit, J.R. danBurdess, J.S. (1986).An Active Method for the Control of
Mechanical System in The Presence of Unmeasurable Forcing.Trans.
Mechanism and Machine Theory.21(3).393-400.
f. Kwek, L. C., Wong, E. K., Loo, C.K. danRao, M.V.V. (2003).Application of Active
Control and Iterative Learning in a 5-Link Biped Robot.Jurnal of Intelligent and
Robotic Systems, 37, 143-162.
g. Microchip. (2001). PIC16F87X Data Sheet, 28/40-pin 8 bit CMOS Flash
Microcontrollers. Data Sheet. Microchip Technology, Inc.
h. Ogata, K. (2002). Modern Control Engineering: Fourth Edition. BukuTeks. New
Jersey: Prentice Hall-Pearson Education International.
i. Pitowarno, E. dan Musa Mailah. (2005). Motion Resolved Acceleration and
Knowledge Based Fuzzy Active Force Control for MobileManipulator. Proc.
Int’1 Conf. on Robotics, Vision, Informations and signal Processing
(ROVISP 2005), Penang, Malaysia.
j. Pitowarno, E., Musa MailahdanHishamuddinJamaluddin. (2001). Trajectory
Error Pattern Refinement of A Robot Control Scheme Using A Knowledge-
Based Method.Proc. IEEE Int’1 Conf. on Information, Communications &
Signal Processing (ICICS 2001), Singapore, P0301.
k. Pitowarno, E Musa MailahdanHishamuddinJamaluddin.(2005). Motion
Control for Mobile Manipulator Using Resolved Acceleration and Iterative-
Learning Active Force Control.Proc. Int’1 Conf. on Mechatronics (ICOM
2005) Kuala Lumpur, p542-549.
l. Uchiyama, M. (1989).Control of Robot Arms.Trans. Japan Society of
Mechanical Engineers. III. 32(1). 1-9.

Hal. 4 - 89

Anda mungkin juga menyukai