Endra Pitowarno ©2007
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
Endra Pitowarno ©2007
Sistem Robot dan orientasi fungsi
Sistem Robot
Sistem Kontroler
Aktuator
Mekanik Robot
Sensor
Sistem Aktuator Mata Kamera
Real world
Sistem Roda
Sistem Kaki
Sistem Tangan
Untuk Navigasi (gerak berpindah)
• Mengikuti jalur • Berdasarkan obyek statik atau bergerak (menuju obyek, menghindari obyek/halangan) berbasis vision, proximity, dll. • Berdasarkan urutan perintah (referensi trajektori)
Mata Kamera
Untuk Manipulasi (gerak penanganan) Ujung tangan (posisi TIP): • Mengikuti referensi trajektori • Mengikuti obyek (berbasis vision, proximity, dll.) • Memegang, mengambil, mengangkat, memindah atau mengolah obyek
vision
1
Endra Pitowarno ©2007
Sistem Robot dengan kontroler berbasis prosesor
Analog dan atau Digital
Aktuator
Rangkaian prosesor (CPU)
Analog dan atau Digital
Robot
Sensor
Endra Pitowarno ©2007
Kontroler berbasis prosesor dengan user interface Keypad/ keyboard
Monitor (LCD, CRT, etc.)
1/0
1/0 analog
Rangkaian prosesor (CPU)
analog
sistem bus (shaft encoder, vision) Wireless communications (blue tooth, Wi-Fi, etc.)
camera
Serial comm
2
Endra Pitowarno ©2007
Instalasi Kontroler: PC or Embedded Controller Kontroler
(or) Embedded Controller
Komputer
Data Acquisition Card
Analog Digital
SLOT EISA atau PCI
Analog Digital
Kabel panjang via konektor
Proximity sensor, camera, etc.
Sensor
Aktuator
ROBOT Environment, Workspace, Object, Obstacle, etc.
Endra Pitowarno ©2007
Diagram Sistem Kontrol Robotik Referensi Gerak
Kontroler
Robot
kontrol robot loop terbuka Hasil Gerak sesungguhnya (dibaca oleh sensor)
Error = Gerak referensi – Gerak aktual Referensi Gerak
+
Kontroler
Robot
-
kontrol robot loop tertutup Gerak aktual
3
Endra Pitowarno ©2007
Klasifisaksi Kontrol berbasis Sensor: Low-level & High Level Control Low-level control
Sensor Internal: sensor posisi, sensor kecepatan, dan sensor percepatan,
High-level control
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.
Endra Pitowarno ©2007
Close Loop ON/OFF Control sederhana 1/0
1/0
+
1/0
Kontroler ON/OFF
1/0
Robot
-
Motor DC kiri-kanan ON/OFF Sistem Robot
Kontroler ON/OFF
Robot
Sensor infra-merah ON/OFF Referensi Gerak
Roda kiri-kanan TRACK
4
Endra Pitowarno ©2007
High-Low Level of Control Low-level Control Perintah Gerak
Lingkungan Robot
Aktuator
Sensor Internal
Sensor Eksternal High-level Control
Endra Pitowarno ©2007
Low Level Control Sinyal aktuasi
error
(r)
θ&ref
Poros motor
Motor DC
(rpm) +
e
Kp
Sensor kecepatan
u
+ +
-
(y)
θ&act (rpm)
Ki s
t
u (t ) = Kp ⋅ (θ&ref (t ) − θ&act (t )) + Ki ∫ (θ&ref (t ) − θ&act (t ))dt 0
5
Endra Pitowarno ©2007
Low Level Control: Motor DC Servo Motor DC Servo dengan kontrol kecepatan Kecepatan Referensi,
Kecepatan
θ&ref +
Kontrol PID
aktual,
Motor DC-MP
θ&act
-
Skema ekivalen Motor DC Servo dengan kontrol kecepatan
Endra Pitowarno ©2007
High Level Control (classic sensor: proximity) Motor DC Servo kiri-kanan
Kontroler ON/OFF
Servo (kontrol Kecepatan)
Sistem Robot
Robot
Sensor infra-merah ON/OFF Roda kiri-kanan
Referensi Gerak
TRACK
High Level Control
Low Level Control
6
Endra Pitowarno ©2007
Contoh: Robot Route Runner Limit Switch parallel PB7
INPUT Referensi Jalur PUTIH di lantai GELAP
PB0
PB1
Motor Kiri
Motor Kanan
PA1
PA0
Robot ROUTE RUNNER
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
Keterangan: * = 0 atau 1 INPUT: 1 = PUTIH 0 = HITAM
Keterangan : PA1 dan PA0 adalah motor Kiri & Kanan PB1 dan PB0 adalah sensor Kiri & Kanan
Motor DC Servo (low level control)
Endra Pitowarno ©2007
High Level Control (visual sensor: camera) Motor DC Servo kiri-kanan Sistem Robot Image Processing (visual-based Control)
Servo (kontrol Kecepatan)
Robot
Sensor kamera Roda kiri-kanan
Referensi Gerak
TRACK
Low Level Control
High Level Control
7
Endra Pitowarno ©2007
Penggunaan Transformasi Laplace dlm model kontrol: Fenomena posisi, kecepatan, dan percepatan
∞
L{ f (t )} = ∫ f (t )e − st dt 0
jika
L{x(t )} = X ( s )
maka
L{x& (t )} = sX ( s )
L{&x&(t )} = s( sX ( s))
kecepatan
percepatan/akselerasi
&x&(t ) s(s X(s))
posisi
x& (t )
1 s
1 s
s X(s)
x(t ) X(s)
Dasar Low Level Control
Endra Pitowarno ©2007
Contoh: Robot Tangan Satu Sendi Sensor posisi (potensiometer)
Y
θ&act =
∆θ ∆t
θ&&act =
∆θ& ∆t
Robot (lengan tunggal)
θ Aktuator (Motor DC)
Error =
X
θ ref – θ act
Sistem Robot
Sistem Kontroler
θ ref
+
Kontrol -
Amplifier
Ktn
I
Motor DC
τ
Sendi Robot
θ&&act
1 s
θ&act
1 s
θ act
8
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (P)
r
e
+
Kp
u
H(s)
y
-
u = Kp ⋅ e
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (I) r
e
+ -
Ki s
u
H(s)
y
t u (t ) = ⎡ ∫ e(T )dT ⎤ Ki ⎢⎣ 0 ⎥⎦
9
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (P-I) Kp r
+
e
+ -
Ki s
u
y
H(s)
+
G ( s ) = Kp +
Ki s
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (D) r
e
+
s ⋅ Kd
u
y
H(s)
-
u = Kd ⋅ e&
u = Kd ⋅
∆e ∆t
10
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (P-I-D)
Kp r
+
e
+
Ki s
-
+
u
y
H(s)
+
s ⋅ Kd
Endra Pitowarno ©2007
Penggunaan Kontrol Cerdas pada Low Level Control r
e
+ -
Kontroler berbasis AI
u
Sistem Robot
y
Posisi, kecepatan atau akselerasi
• • • • • •
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 Konsep GA dalam Evolutionary Computation (EC): Holland (1975)
11
Endra Pitowarno ©2007
Contoh: Kontrol Fuzzy pada Low Level Control r
u
e
+ -
Sistem Robot
y
Kontrol Fuzzy Posisi, kecepatan atau akselerasi
e INPUTS mu OUTPUTS n
Endra Pitowarno ©2007
Penggunaan Kontrol Cerdas pada High Level Control • Pendekatan Model-Plan-Act (MPA), • Pendekatan Behavior-based, dan • Pendekatan Finite State Machine (FSM).
12
Endra Pitowarno ©2007
Metode: Model-Plan-Act camera Baca Sensor
Lingkungan/ Environment (Medan Kerja Robot)
Model
Pemodelan
Plan
Perencanaan Gerak
Act
Action (aktuasi)
Gerak Aktuator
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse)
camera
START GOAL
13
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse)
PMID1 PC1
camera
START GOAL
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse) camera PC3 PMID1 PMID3
PC1
PC2 START
PMID2 GOAL
14
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse) camera PC3 PMID1 PMID3
PC1
PC2 PMID2
START
PC4
PMID4 GOAL
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse)
PC3 PMID1 PMID3
PC1
PC2 START
PC5 PMID2
PC4 PMID4
GOAL
camera
15
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse)
PC3 PMID1 PMID3
PC1
PMID4 PC2 PC3
PMID2
START
GOAL
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse)
PC3 PMID1 PMID3
PC1
PC2 START
PC5 PMID2
PMID4A PMID4B
PC4A
GOAL
16
Endra Pitowarno ©2007
Metode: Model-Plan-Act (Kasus: Robot Vision pada Micromouse)
PC3 PMID1 PMID3
PC1
PC2 START
PC5 PMID2
PMID4A PMID4B
PC4A
GOAL
Endra Pitowarno ©2007
Metode: Behavior Based Stimuli
Respon
Behavior
Spesifikasi BEHAVIOR: • Tanpa memori • Tanpa initial condition • Tanpa pemodelan internal sistem • Tanpa perlu memberikan pengetahuan secara simbolik • Tanpa perlu reasoning dalam melakukan aksi
17
Endra Pitowarno ©2007
Metode: Behavior Based Behavior-N
Behavior-2 Behavior-1
Lingkungan/Environment (Medan Kerja Robot)
Endra Pitowarno ©2007
Metode: Behavior Based
BEHAVIOR Melihat batu Memungut batu & melempar Melihat anjing mengejar
Lari
berjalan
S2
S1
KAKI KITA
18
Endra Pitowarno ©2007
Metode: Behavior Based (Kasus: Robot Penangkap Bola)
solenoid pintu bola SOL
bola Switch bemper kanan SBR
Switch bemper kiri SBL
Infrared range-finder Kanan: PSDR
Infrared range-finder Kiri: PSDL
Motor + roda kanan
Motor + roda kiri
Switch detektor bola DB roda bebas
Kamera (K)
Endra Pitowarno ©2007
Metode: Behavior Based (Kasus: Robot Penangkap Bola) BEHAVIOR Mencari GOAL
Detektor Sentuh Bola (DB)
Kamera (K)
Bemper (SBL & SBR) Infrared (PSDL & PSDR)
Memegang Bola
S5
Pintu Bola
Mencari Bola
Mundur & Belok
S4
Menghindar
Jelajah
S3
S2
S1
Motor Kiri/Kanan
19
Endra Pitowarno ©2007
Metode: Finite State Machine
halangan dalam jarak ≤20cm
tidak ada halangan
halangan dalam jarak ≤20cm
BELOK KANAN 45˚
MAJU 10cm tidak ada halangan
Endra Pitowarno ©2007
Neural Network Control untuk Line-Tracer/Route Runner Robot
Jalur PUTIH di lantai GELAP
Robot Neural Network ROUTE RUNNER
PB3 PB2 PB1 PB0 Motor Kiri DAC1
Motor Kanan DAC0
20
Endra Pitowarno ©2007
Korelasi fungsi I/O pada robot Route Runner Sensor (1:gelap 0:putih)
No
Motor (0÷5)V
PB3
PB2
PB1
PB0
ML
1
0
0
0
0
1.0
MR
2
0
0
0
1
4.5
0
3
0
0
1
0
4.5
1.2
4
0
0
1
1
4.5
2.7
5
0
1
0
0
1.2
4.5
6
0
1
0
1
1.2
4.0
7
0
1
1
0
4.6
4.6
8
0
1
1
1
4.6
4.5
9
1
0
0
0
0
4.5
10
1
0
0
1
3.0
3.0
11
1
0
1
0
1.2
4.5
12
1
0
1
1
4.5
3.0
13
1
1
0
0
2.7
4.5
14
1
1
0
1
3.0
4.5
15
1
1
1
0
0
4.5
16
1
1
1
1
0
0
1.0
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2
wij
Sensor
PB3
PB2 PB1
j=1
wjk i=1
i=2
Motor
j=2 k=1
ML
k=2
MR
j=3
i=3 j=4
PB0
Output layer
i=4 Input layer
j=5 Hidden layer
21
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2 ⎡0 ⎢ 0 PB = ⎢ ⎢0 ⎢ ⎣0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1⎤ ⎥ 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1⎥ 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1⎥ ⎥ 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1⎦
⎡1.0 4.5 4.5 4.5 1.2 1.2 4.6 4.6 0.0 3.0 1.2 4.5 2.7 3.0 0.0 0.0⎤ M=⎢ ⎥ ⎣1.0 0.0 1.2 2.7 4.5 4.0 4.6 4.5 4.5 3.0 4.5 3.0 4.5 4.5 4.5 0.0⎦
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2
22
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2
wH
1.1446 0.31589 − 0.30463⎤ ⎡ 0.067357 ⎢ ⎥ 8 . 8533 7 . 4435 6.63 0.7325 ⎥ ⎢ = ⎢ 0.19508 7.9029 0.018374 − 6.0928 ⎥ ⎢ ⎥ ⎢− 24.3449 16.3039 − 10.7116 − 7.5697 ⎥ ⎢ − 0.12292 − 0.65177 − 0.44677 0.15491 ⎥ ⎣ ⎦
⎡− 62.0012 − 0.21555 8.5084 2.6415 − 102.4279 ⎤ w out = ⎢ ⎥ − 6.9181 3.366 − 1.3478 − 9.4454 ⎦ ⎣ − 6.2514
⎡ 0.33687 ⎤ ⎢ ⎥ ⎢− 23.6095⎥ b H = ⎢− 0.46388⎥ ⎢ ⎥ ⎢ 17.1907 ⎥ ⎢− 0.79925⎥ ⎣ ⎦
bout = [− 46.0134 − 7.3654]
Endra Pitowarno ©2007
Evaluasi fungsi I/O pada robot NN Route Runner Sensor (1:gelap 0:putih]
Motor (0÷5)V Target
Output NN
PB3
PB2
PB1
PB0
0
0
0
0
1.0
1.0
0.9998
0.98506
0
0
0
1
4.5
0
4.5008
0.001066
ML
MR
ML
MR
0
0
1
0
4.5
1.2
4.4994
1.2138
0
0
1
1
4.5
2.7
4.4997
2.6993
0
1
0
0
1.2
4.5
1.2072
4.3958
0
1
0
1
1.2
4.0
1.193
4.1073
0
1
1
0
4.6
4.6
4.5917
4.684
0
1
1
1
4.6
4.5
4.6104
4.3922
1
0
0
0
0
4.5
0.0032461
4.4852
1
0
0
1
3.0
3.0
2.9982
3.0094
1
0
1
0
1.2
4.5
1.1977
4.5151
1
0
1
1
4.5
3.0
4.5014
2.9912
1
1
0
0
2.7
4.5
2.701
4.5272
1
1
0
1
3.0
4.5
2.9967
4.4935
1
1
1
0
0
4.5
1.1123e-006
4.5
1
1
1
1
0
0
1.6049e-006
9.6619e-007
23
Endra Pitowarno ©2007
END
24