GN Intro to Robotics Vision Control - Gunadarma...
Transcript of GN Intro to Robotics Vision Control - Gunadarma...
1
Robotic Control:Introduction to Robotic Vision
Dr. Ir. Endra Pitowarno, M.EngPENS-ITS
Seminar “New Concept Robotics: Robot Vision”
22 Februari 2007Universitas Gunadarma - Jakarta
Endra Pitowarno ©2007
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, menghindari obyek/halangan) berbasis vision, proximity, dll.
• Berdasarkan urutan perintah (referensi trajektori)
Ujung tangan (posisi TIP): • Mengikuti referensi trajektori • Mengikuti obyek (berbasis vision,
proximity, dll.) • Memegang, mengambil,
mengangkat, memindah atau mengolah obyek
Sensor Aktuator
Real world
Mata Kamera
Mata Kamera
Sistem Robot
vision
Endra Pitowarno ©2007
2
Sistem Robot dengan kontroler berbasis prosesor
Rangkaian prosesor
(CPU)
Robot Sensor Aktuator
Analog dan atau Digital
Analog dan atau Digital
Endra Pitowarno ©2007
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
Serial commcamera
3
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
Endra Pitowarno ©2007
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)
Gerak aktual
+
-
Error = Gerak referensi – Gerak aktual
Endra Pitowarno ©2007
kontrol robot loop terbuka
kontrol robot loop tertutup
4
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
Endra Pitowarno ©2007
Close Loop ON/OFF Controlsederhana
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
5
High-Low Level of Control
PerintahGerak Aktuator
LingkunganRobot
Sensor Internal
Sensor Eksternal
Low-level Control
High-level Control
Endra Pitowarno ©2007
Low Level Control
Motor DC
Kp (y)
actθ& (rpm)
+
-
e
u Sensor
kecepatan
Poros motor
Sinyal aktuasi
(r)
refθ& (rpm)
error
sKi
+
+
∫ −+−⋅=t
actrefactref dtttKittKptu0
))()(())()(()( θθθθ &&&&
Endra Pitowarno ©2007
6
Low Level Control:Motor DC Servo
Motor DC-MP
Kecepatan
Referensi, refθ&
Kontrol PID +
-
Kecepatan
aktual, actθ&
Motor DC Servo dengan kontrol kecepatan
Skema ekivalen Motor DC Servo dengan kontrol kecepatan
Endra Pitowarno ©2007
High Level Control(classic sensor: proximity)
Robot
ReferensiGerak
KontrolerON/OFF
Roda kiri-kanan
TRACK
Sistem Robot
Sensor infra-merah ON/OFF
Motor DC Servo kiri-kanan
Servo(kontrol
Kecepatan)
Low Level ControlHigh Level Control
Endra Pitowarno ©2007
7
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
Endra Pitowarno ©2007
Keterangan: * = 0 atau 1 INPUT: 1 = PUTIH0 = HITAM
11111
10011
01101
00001
00**0
PA0PA1PB0PB1PB7
OUTPUTyang dikehendaki
INPUTReferensi
Motor DC Servo (low level control)
High Level Control(visual sensor: camera)
Robot
ReferensiGerak
ImageProcessing
(visual-basedControl)
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
8
Penggunaan Transformasi Laplace dlm model kontrol:Fenomena posisi, kecepatan, dan percepatan
∫∞ −=0
)()}({ dtetftfL st
jika )()}({ sXtxL =maka )()}({ ssXtxL =& ))(()}({ ssXstxL =&&
percepatan/akselerasi
s1
s1
kecepatan posisi
)(tx&& )(tx& )(tx
s(s X(s)) s X(s) X(s)
Endra Pitowarno ©2007
Dasar Low Level ControlContoh: Robot Tangan Satu Sendi
Robot (lengan tunggal)
Aktuator (Motor DC)
Sensor posisi (potensiometer)
θ
X
Y
+
-
Error = refθ – actθ
Amplifier s1
s1 Sendi
Robot Motor DC actθ&& actθ& actθrefθ
Sistem Robot
τIKtn
Kontrol
Sistem Kontroler
tact ∆∆
=θθ&
tact ∆∆
=θθ&
&&
Endra Pitowarno ©2007
9
Low Level ControlMetoda Kontrol Klasik (P)
H(s) r Kp y +
-
e u
eKpu ⋅=
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (I)
H(s) r
sKi
y +
-
e u
KidTTetut
⎥⎦⎤
⎢⎣⎡= ∫0 )()(
Endra Pitowarno ©2007
10
Low Level Control
Metoda Kontrol Klasik (P-I)
H(s) r
sKi
y +
-
e u
Kp +
+
sKiKpsG +=)(
Endra Pitowarno ©2007
Low Level Control
Metoda Kontrol Klasik (D)
H(s) r Kds ⋅
y +
-
e u
eKdu &⋅= teKdu
∆∆⋅=
Endra Pitowarno ©2007
11
Low Level Control
Metoda Kontrol Klasik (P-I-D)
H(s) r
Kds ⋅
y +
-
e u +
+
Kp
sKi +
Endra Pitowarno ©2007
Penggunaan Kontrol Cerdaspada 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• Konsep GA dalam Evolutionary Computation (EC): Holland (1975)
Endra Pitowarno ©2007
Posisi, kecepatan atau akselerasi
12
Contoh: Kontrol Fuzzypada Low Level Control
Sistem Robot
r y +
-
e u
Kontrol Fuzzy
Endra Pitowarno ©2007
Posisi, kecepatan atau akselerasi
ne INPUTS
mu OUTPUTS
Penggunaan Kontrol Cerdaspada High Level Control
Endra Pitowarno ©2007
• Pendekatan Model-Plan-Act (MPA),• Pendekatan Behavior-based, dan• Pendekatan Finite State Machine (FSM).
13
Metode: Model-Plan-Act
Pemodelan
Action (aktuasi)
Baca Sensor
Lingkungan/ Environment (Medan Kerja
Robot)
Perencanaan Gerak
Model
Plan
Act
Gerak Aktuator
camera
Endra Pitowarno ©2007
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
GOAL
START
Endra Pitowarno ©2007
camera
14
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
GOAL
START
PMID1 PC1
Endra Pitowarno ©2007
camera
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
GOAL
PC1
START PMID2
PMID3
PMID1
PC2
PC3
Endra Pitowarno ©2007
camera
15
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
GOAL
PC1
START PMID2
PMID3
PMID1
PC2
PC3
PMID4 PC4
Endra Pitowarno ©2007
camera
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
PC1
START PMID2
PMID3
PMID1
PC2
PC3
GOAL
PC4 PMID4
PC5
Endra Pitowarno ©2007
camera
16
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
GOAL
PC1
START PMID2
PMID3
PMID1
PC2
PC3
PMID4
PC3
Endra Pitowarno ©2007
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
PC1
START PMID2
PMID3
PMID1
PC2
PC3
GOAL
PC4A PMID4A PC5
PMID4B
Endra Pitowarno ©2007
17
Metode: Model-Plan-Act(Kasus: Robot Vision pada Micromouse)
PC1
START PMID2
PMID3
PMID1
PC2
PC3
GOAL
PC4A PMID4A PC5
PMID4B
Endra Pitowarno ©2007
Metode: Behavior Based
Behavior
Spesifikasi BEHAVIOR: • Tanpa memori • Tanpa initial condition • Tanpa pemodelan internal sistem • Tanpa perlu memberikan
pengetahuan secara simbolik • Tanpa perlu reasoning dalam
melakukan aksi
Stimuli Respon
Endra Pitowarno ©2007
18
Metode: Behavior Based
Lingkungan/Environment (Medan Kerja Robot)
Behavior-N
Behavior-2
Behavior-1
Endra Pitowarno ©2007
Metode: Behavior Based
Memungut batu & melempar
Lari
berjalan
BEHAVIOR
KAKI KITA
Melihat batu
Melihat anjing mengejar S2
S1
Endra Pitowarno ©2007
19
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
Endra Pitowarno ©2007
Metode: Behavior Based(Kasus: Robot Penangkap Bola)
Mencari GOAL
Memegang Bola
Mencari Bola
BEHAVIOR
Motor Kiri/Kanan
Kamera (K)
Detektor Sentuh Bola (DB) S5
Mundur & Belok
Menghindar
Jelajah S3 S2
S4
S1
Bemper (SBL & SBR)
Infrared (PSDL & PSDR)
Pintu Bola
Endra Pitowarno ©2007
20
Metode: Finite State Machine
MAJU 10cm
BELOK KANAN
45˚
halangan dalam jarak
≤20cm halangan
dalam jarak ≤20cm
tidak ada halangan
tidak ada halangan
Endra Pitowarno ©2007
Neural Network Controluntuk Line-Tracer/Route Runner Robot
PB0
Motor Kanan
Motor Kiri DAC1
Jalur PUTIH di lantai GELAP
Robot Neural Network
ROUTE RUNNERPB1
PB2PB3
DAC0
Endra Pitowarno ©2007
21
Korelasi fungsi I/O pada robot Route Runner
00111116
4.50011115
4.53.0101114
4.52.7001113
3.04.5110112
4.51.2010111
3.03.0100110
4.5000019
4.54.611108
4.64.601107
4.01.210106
4.51.200105
2.74.511004
1.24.501003
04.510002
1.01.000001
MRMLPB0PB1PB2PB3
Motor (0÷5)VSensor (1:gelap 0:putih)No
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2
Hidden layer
Output layer
Input layer
i = 3
i = 1
i = 2
i = 4
j = 1
j = 2
j = 3
j = 4
k = 1
k = 2
PB1
PB3
PB2
PB0
ML
wij wjk
j = 5
MR
Sensor
Motor
Endra Pitowarno ©2007
22
Disain BP-NN dengan Struktur 4-5-2
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
1010101010101010110011001100110011110000111100001111111100000000
PB
⎥⎦
⎤⎢⎣
⎡=
0.05.45.45.40.35.40.35.45.46.40.45.47.22.10.00.10.00.00.37.25.42.10.30.06.46.42.12.15.45.45.40.1
M
Endra Pitowarno ©2007
Disain BP-NN dengan Struktur 4-5-2Endra Pitowarno ©2007
23
Disain BP-NN dengan Struktur 4-5-2
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−−−
−
=
15491.044677.065177.012292.05697.77116.103039.163449.240928.6018374.09029.719508.0
7325.063.64435.78533.830463.031589.01446.1067357.0
Hw
⎥⎦
⎤⎢⎣
⎡−−−−−−−
=4454.93478.1366.39181.62514.64279.1026415.25084.821555.00012.62
outw
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−−
=
79925.01907.1746388.0
6095.2333687.0
Hb [ ]3654.70134.46 −−=outb
Endra Pitowarno ©2007
Evaluasi fungsi I/O pada robot NN Route Runner
9.6619e-0071.6049e-006001111
4.51.1123e-0064.500111
4.49352.99674.53.01011
4.52722.7014.52.70011
2.99124.50143.04.51101
4.51511.19774.51.20101
3.00942.99823.03.01001
4.48520.00324614.500001
4.39224.61044.54.61110
4.6844.59174.64.60110
4.10731.1934.01.21010
4.39581.20724.51.20010
2.69934.49972.74.51100
1.21384.49941.24.50100
0.0010664.500804.51000
0.985060.99981.01.00000
MRMLMRML
Output NNTargetPB0PB1PB2PB3
Motor (0÷5)VSensor (1:gelap 0:putih]
Endra Pitowarno ©2007
24
END
Endra Pitowarno ©2007