Robotic Control:
Introduction to Robotic Vision
Dr. Ir. Endra Pitowarno, M.Eng PENS-ITS
Seminar
“New Concept Robotics: Robot Vision”
22 Februari 2007
Universitas Gunadarma - Jakarta
Sistem Robot dan orientasi fungsi
Sistem Kontroler
Sistem Aktuator Mekanik
Robot
Sistem
Roda Sistem
Kaki Sistem
Tangan
Untuk Navigasi
(gerak berpindah) Untuk Manipulasi (gerak penanganan)
• Mengikuti jalur
• Berdasarkan obyek statik atau bergerak (menuju obyek,
Ujung tangan (posisi TIP):
• Mengikuti referensi trajektori
• Mengikuti obyek (berbasis vision, Sensor
Aktuator
Real world
Mata Kamera Mata
Kamera
Sistem Robot Endra Pitowarno ©2007
Sistem Robot dengan kontroler berbasis prosesor
Rangkaian prosesor
(CPU)
Robot Sensor
Aktuator Analog dan atau Digital
Analog dan atau Digital
Kontroler berbasis prosesor dengan user interface
Rangkaian prosesor
(CPU) 1/0
analog
sistem bus (shaft encoder,
vision)
1/0
analog Keypad/
keyboard
Monitor (LCD, CRT, etc.)
Wireless communications (blue tooth, Wi-Fi, etc.) Endra Pitowarno ©2007
Instalasi Kontroler: PC or Embedded Controller
SLOT EISA atau PCI
ROBOT
Analog Analog
Digital Digital
Sensor Aktuator
Komputer
Data Acquisition
Card
Kabel panjang via konektor
Kontroler
Proximity sensor, camera, etc.
Environment, Workspace, Object, Obstacle, etc.
(or) Embedded Controller
Diagram Sistem Kontrol Robotik
Kontroler Robot
Referensi Gerak
Robot Referensi
Gerak
Kontroler
Hasil Gerak sesungguhnya
(dibaca oleh sensor) +
-
Error = Gerak referensi – Gerak aktual Endra Pitowarno ©2007
kontrol robot loop terbuka
kontrol robot loop tertutup
Klasifisaksi Kontrol berbasis Sensor:
Low-level & High Level Control
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, detektor api, dan sebagainya.
Low-level control
High-level control
Close Loop ON/OFF Control sederhana
Robot Kontroler
ON/OFF 1/0 1/0 1/0 1/0
+ -
Robot
Referensi Gerak
Kontroler ON/OFF
Roda kiri-kanan TRACK Sistem Robot
Sensor infra-merah ON/OFF
Motor DC kiri-kanan ON/OFF Endra Pitowarno ©2007
High-Low Level of Control
Perintah
Gerak
Aktuator Lingkungan
Robot
Sensor Internal
Sensor Eksternal Low-level Control
High-level Control
Low Level Control
Motor DC
Kp
(y)
θ&
act(rpm) +-
e u kecepatan Sensor
Poros motor Sinyal
aktuasi
(r)
θ&
ref(rpm)error
s Ki
+ +
∫ −
+
−
⋅
= Kp ref t act t Ki t ref t act t dt t
u ( ) ( θ & ( ) θ & ( )) ( θ & ( ) θ & ( ))
Endra Pitowarno ©2007
Low Level Control:
Motor DC Servo
Motor DC-MP Kecepatan
Referensi,
θ &
refKontrol PID +
-
Kecepatan aktual,
θ &
act Motor DC Servo dengan kontrol kecepatanSkema ekivalen Motor DC Servo dengan kontrol kecepatan
High Level Control
(classic sensor: proximity)
Robot
Referensi Gerak
Kontroler ON/OFF
Roda kiri-kanan TRACK
Sistem Robot
Sensor infra-merah ON/OFF
Motor DC Servo kiri-kanan
Servo (kontrol Kecepatan)
Low Level Control
High Level Control
Endra Pitowarno ©2007
Contoh: Robot Route Runner
PB1 PB0
Motor Kanan PA0 Motor
Kiri PA1
Jalur PUTIH di lantai GELAP
Robot ROUTE RUNNER
Keterangan :
PA1 dan PA0 adalah motor Kiri & Kanan Limit Switch
parallel PB7
PB1 dan PB0 adalah sensor Kiri & Kanan
Keterangan: * = 0 atau 1 INPUT: 1 = PUTIH 0 = HITAM
1 1 1 1 1
1 0 0 1 1
0 1 1 0 1
0 0 0 0 1
0 0
*
* 0
PA0 PA1 PB0 PB1 PB7
OUTPUT yang dikehendaki INPUT
Referensi
Motor DC Servo (low level control)
High Level Control
(visual sensor: camera)
Robot
Referensi Gerak
Image Processing (visual-based
Control)
Roda kiri-kanan TRACK
Sistem Robot
Sensor kamera-
Motor DC Servo kiri-kanan
Servo (kontrol Kecepatan)
Low Level Control
High Level Control
Endra Pitowarno ©2007
Penggunaan Transformasi Laplace dlm model kontrol:
Fenomena posisi, kecepatan, dan percepatan
∫ ∞ −
= 0 ( )
)}
(
{ f t f t e dt
L st
jika
L { x ( t )} = X ( s )
maka
L { x & ( t )} = sX ( s ) L { x && ( t )} = s ( sX ( s ))
percepatan/akselerasi
s
1
s1
kecepatan posisi
) (t
x && x & (t ) x (t )
s(s X(s)) s X(s) X(s)
Dasar Low Level Control
Contoh: Robot Tangan Satu Sendi
Robot (lengan tunggal)
Aktuator (Motor DC) Sensor posisi (potensiometer)
θ
X Y
+ - Error =
θ
ref–θ
actAmplifier
s 1 s
Sendi 1 Robot
Motor DC
θ &&
actθ &
actθ
actθ
refSistem Robot
τ
IKtn Kontrol
Sistem Kontroler
act ∆ t
= ∆ θ θ &
act ∆ t
= ∆ θ
θ && &
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (P)
H(s)
r
+Kp y
-
e u
e Kp u = ⋅
Low Level Control
Metoda Kontrol Klasik (I)
H(s) r
s
Ki y
+ -
e u
Ki dT T e t
u t ⎥⎦ ⎤
⎢⎣ ⎡
= ∫ 0 ( ) )
(
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (P-I)
H(s) r
s Ki
+
y
-
e u
Kp
+
+
s Kp Ki s
G ( ) = +
Low Level Control
Metoda Kontrol Klasik (D)
H(s)
r
+s ⋅ Kd y
-
e u
e Kd
u = ⋅ &
t Kd e
u ∆
⋅ ∆
=
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (P-I-D)
H(s) r
Kd s ⋅
+
y
-
e
+u
+
Kp
Ki s
+Penggunaan Kontrol Cerdas pada Low Level Control
Sistem Robot
r Kontroler
berbasis AI
+ y
-
e u
• AI & Terminologi:orang pertama > Alan Turing (1937)
• Neural Network: Warren McCulloch (1943)
• Teori Fuzzy: Lukacewick (1930an)
• Fuzzy Sets: Lotfi Zadeh (1965)
• Genetic Algorithm: Teori Darwin
Endra Pitowarno ©2007
Posisi, kecepatan atau akselerasi
Contoh: Kontrol Fuzzy pada Low Level Control
Sistem Robot
r + y
-
e u
Kontrol Fuzzy
Posisi, kecepatan atau akselerasi
n e INPUTS
m u OUTPUTS
Penggunaan Kontrol Cerdas pada High Level Control
Endra Pitowarno ©2007
• Pendekatan Model-Plan-Act (MPA),
• Pendekatan Behavior-based, dan
• Pendekatan Finite State Machine (FSM).
Metode: Model-Plan-Act
Pemodelan
Action (aktuasi) Baca Sensor
Lingkungan/
Environment (Medan Kerja
Robot)
Perencanaan Gerak
Model Plan
Act
Gerak Aktuator
camera
Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
START
Endra Pitowarno ©2007
camera
Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
GOAL START
P
MID1P
C1camera
Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
GOAL P
C1START P
MID2P
MID3P
MID1P
C2P
C3 Endra Pitowarno ©2007camera
Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
GOAL P
C1START P
MID2P
MID3P
MID1P
C2P
C3P
MID4P
C4camera
Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
P
C1START P
MID2P
MID3P
MID1P
C2P
C3P
C4P
MID4P
C5 Endra Pitowarno ©2007Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
GOAL P
C1START P
MID2P
MID3P
MID1P
C2P
C3P
MID4P
C3Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
P
C1START P
MID2P
MID3P
MID1P
C2P
C3GOAL
P
C4AP
MID4AP
C5P
MID4B Endra Pitowarno ©2007Metode: Model-Plan-Act
(Kasus: Robot Vision pada Micromouse)
P
C1START P
MID2P
MID3P
MID1P
C2P
C3GOAL
P
C4AP
MID4AP
C5P
MID4BMetode: Behavior Based
Behavior
Spesifikasi BEHAVIOR:
• Tanpa memori
• Tanpa initial condition
• Tanpa pemodelan internal sistem
• Tanpa perlu memberikan pengetahuan secara simbolik
Stimuli Respon
Endra Pitowarno ©2007
Metode: Behavior Based
Lingkungan/Environment (Medan Kerja Robot)
Behavior-N
Behavior-2 Behavior-1
Metode: Behavior Based
Memungut batu &
melempar
Lari
berjalan
BEHAVIOR
KAKI KITA Melihat batu
Melihat anjing mengejar
S2
S1
Endra Pitowarno ©2007
Metode: Behavior Based
(Kasus: Robot Penangkap Bola)
bola Switch bemper kiri
SBL
Motor + roda kanan Infrared range-finder
Kiri: PSDL
Kamera (K) solenoid pintu bola
SOL
Switch detektor bola DB Motor + roda kiri
Switch bemper kanan SBR
roda bebas
Infrared range-finder Kanan: PSDR
Metode: Behavior Based
(Kasus: Robot Penangkap Bola)
Mencari GOAL
Memegang Bola
Mencari Bola
BEHAVIOR
Kamera (K) Detektor Sentuh
Bola (DB) S5
Mundur & Belok
Menghindar S4
Bemper (SBL & SBR)
Infrared (PSDL & PSDR)
Pintu Bola Endra Pitowarno ©2007
Metode: Finite State Machine
MAJU 10cm
BELOK KANAN 45˚
halangan dalam jarak
≤20cm
halangan dalam jarak
≤20cm tidak ada
halangan
tidak ada halangan
Neural Network Control
untuk Line-Tracer/Route Runner Robot
PB0 Motor Kanan Motor
Kiri DAC1
Jalur PUTIH di lantai GELAP
Robot Neural Network ROUTE RUNNER
PB1 PB2 PB3
DAC0
Endra Pitowarno ©2007
Korelasi fungsi I/O pada robot Route Runner
0 0
1 1
1 1
16
4.5 0
0 1
1 1
15
4.5 3.0
1 0
1 1
14
4.5 2.7
0 0
1 1
13
3.0 4.5
1 1
0 1
12
4.5 1.2
0 1
0 1
11
3.0 3.0
1 0
0 1
10
4.5 0
0 0
0 1
9
4.5 4.6
1 1
1 0
8
4.6 4.6
0 1
1 0
7
4.0 1.2
1 0
1 0
6
4.5 1.2
0 0
1 0
5
2.7 4.5
1 1
0 0
4
1.2 4.5
0 1
0 0
3
0 4.5
1 0
0 0
2
1.0 1.0
0 0
0 0
1
MR ML
PB0 PB1
PB2 PB3
Motor (0÷5)V Sensor (1:gelap 0:putih)
No
Disain BP-NN dengan Struktur 4-5-2
Output layer
Input layer i = 3 i = 1
i = 2
i = 4
j = 1
j = 2
j = 3
j = 4
k = 1
k = 2
PB
1PB
3PB
2PB
0M L
wijwjk
j = 5
M R
Sensor
Motor Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2
⎥ ⎥
⎥ ⎥
⎦
⎤
⎢ ⎢
⎢ ⎢
⎣
⎡
=
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 PB
⎥ ⎦
⎢ ⎤
⎣
= ⎡
0 . 0 5 . 4 5 . 4 5 . 4 0 . 3 5 . 4 0 . 3 5 . 4 5 . 4 6 . 4 0 . 4 5 . 4 7 . 2 2 . 1 0 . 0 0 . 1
0 . 0 0 . 0 0 . 3 7 . 2 5 . 4 2 . 1 0 . 3 0 . 0 6 . 4 6 . 4 2 . 1 2 . 1 5 . 4 5 . 4 5 . 4 0 . M 1
Disain BP-NN dengan Struktur 4-5-2
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2
⎥ ⎥
⎥ ⎥
⎥ ⎥
⎦
⎤
⎢ ⎢
⎢ ⎢
⎢ ⎢
⎣
⎡
−
−
−
−
−
−
−
−
=
15491 . 0 44677 . 0 65177 . 0 12292 . 0
5697 . 7 7116 . 10 3039 . 16 3449 . 24
0928 . 6 018374 . 0 9029 . 7 19508 . 0
7325 . 0 63 . 6 4435 . 7 8533 . 8
30463 . 0 31589 . 0 1446 . 1 067357 . 0
w
H⎥ ⎦
⎢ ⎤
⎣
⎡
−
−
−
−
−
−
= −
4454 . 9 3478 . 1 366 . 3 9181 . 6 2514 . 6
4279 . 102 6415 . 2 5084 . 8 21555 . 0 0012 . 62 w
out⎥ ⎥
⎥ ⎥
⎥ ⎥
⎦
⎤
⎢ ⎢
⎢ ⎢
⎢ ⎢
⎣
⎡
−
−
−
=
79925 . 0
1907 . 17
46388 . 0
6095 . 23
33687 . 0
b
Hb
out= [ − 46 . 0134 − 7 . 3654 ]
Evaluasi fungsi I/O pada robot NN Route Runner
4.5272 2.701
4.5 2.7 0
0 1 1
2.9912 4.5014
3.0 4.5 1
1 0 1
4.5151 1.1977
4.5 1.2 0
1 0 1
3.0094 2.9982
3.0 3.0 1
0 0 1
4.4852 0.0032461
4.5 0 0
0 0 1
4.3922 4.6104
4.5 4.6 1
1 1 0
4.684 4.5917
4.6 4.6 0
1 1 0
4.1073 1.193
4.0 1.2 1
0 1 0
4.3958 1.2072
4.5 1.2 0
0 1 0
2.6993 4.4997
2.7 4.5 1
1 0 0
1.2138 4.4994
1.2 4.5 0
1 0 0
0.001066 4.5008
0 4.5 1
0 0 0
0.98506 0.9998
1.0 1.0 0
0 0 0
MR ML
MR ML
Output NN Target
PB0 PB1 PB2 PB3
Motor (0÷5)V Sensor (1:gelap 0:putih]
Endra Pitowarno ©2007