Professional Documents
Culture Documents
LUN VN TT NGHIP
B GIO DC V O TO
TRNG H BCH KHOA
Thnh ph H Ch Minh
S:______/BKT
Khoa: in in t
B Mn: Vin Thng
NGUYN HNG C
NGUYN VN C
VIN THNG
MSSV: 40700566
MSSV: 40700577
LP: DD07DV4
Phn hng dn
................................................
Ni dung v yu cu LVTN c thng qua B Mn.
Ngy . ........ thng ........... nm 2012
CH NHIM B MN
NGI HNG DN CHNH
(K v ghi r h tn)
(K v ghi r h tn)
7. ngh: c bo v ,
B sung thm bo v ,
Khng c bo v .
8. 3 cu hi sinh vin tr li trc Hi ng:
a)
b)
c)
9. nh gi chung (bng ch: gii, kh, TB): im .
K tn (ghi r h tn)
16. ngh: c bo v ,
B sung thm bo v ,
Khng c bo v .
17. 3 cu hi sinh vin tr li trc Hi ng:
a)
b)
c)
18. nh gi chung (bng ch: gii, kh, TB): im .
K tn (ghi r h tn)
LI CM N
TM TT LUN VN
Theo d on trong tng lai, robot s l tm im ca mt cuc cch mng
ln sau Internet. Con ngi s c nhu cu s hu mt robot c nhn nh nhu cu
mt my tnh PC by gi. Vi xu hng ny, cng cc ng dng truyn thng khc
ca robot trong cng nghip, y t, gio dc o to, gii tr v c bit l trong an
ninh quc phng th th trng robot s v cng to ln. ti lun vn hng ti
vic ng dng cng ngh x l nh mi cho robot t hnh, to tin cho vic xy
dng mt robot dch v hon chnh, c kh nng phc v cho i sng con ngi.
Trong khun kh ca lun vn, nhm s tp trung xy dng mt m hnh
mobile robot hon chnh c kh nng tm ng n ch v trnh chng ngi vt
trn qung ng di chuyn. Mt im mi c nhn mnh l khi th gic my
tnh cho mobile robot,vi s h tr ca thit b chi game Kinect c kh nng khi
phc mi trng pha trc robot di dng 3D, p ng c s chnh xc cn
thit khi phi hp vi cc gii thut iu khin truyn thng cho robot.
Nhm sinh vin thc hin
NGUYN HNG C
NGUYN VN C
ii
mc
Trang
Li cm n........................................................................................................................ i
Tm tt lun vn .............................................................................................................. ii
Mc lc ........................................................................................................................... iii
Danh mc t vit tt ........................................................................................................ v
Danh mc hnh ............................................................................................................. viii
Danh mc bng ............................................................................................................... xi
Mc lc
Chng 1: Gii thiu .................................................................................................... 1
1.1 Xu hng pht trin ca robot hin i ................................................................. 2
1.2 Nhng vn ca robot di ng ............................................................................ 2
1.3 Mc tiu lun vn v phng php thc hin ........................................................ 3
1.4 S lc v ni dung lun vn ................................................................................ 4
Chng 2: Tm hiu v Kinect ..................................................................................... 5
2.1 Gii thiu chung ..................................................................................................... 6
2.2 Nhng thnh phn chnh ca Kinect ...................................................................... 7
2.3 Tnh ton su ..................................................................................................... 8
2.4 Mt s c tnh khc ............................................................................................ 12
Chng 3: Th vin x l nh ................................................................................... 15
3.1 Th vin h tr Kinect ......................................................................................... 16
3.2 So snh Kinect SDK beta v OpenNI .................................................................. 17
3.3 Point Cloud Library ............................................................................................. 20
Chng 4: Pht hin vt cn ...................................................................................... 22
4.1 Cc phng php pht hin vt cn khng s dng camera ................................ 23
4.1.1 Dng cng tc hnh trnh............................................................................... 23
4.1.2 Dng cm bin siu m [13] .......................................................................... 23
4.2 Cc phng php pht hin vt cn s dng camera ........................................... 26
iii
4.2.1
4.2.2
iv
Danh mc t vit tt
A
ADC
AGV
API
AUV
AUX
C
CCP
CL
CMOS
CNC
CPU
Capture/Compare/PWM
Code Laboratories
Complementary Metal Oxide Semiconductor
Computerized Numerical Control
Central Processing Unit
E
Enhanced Capture/Compare/PWM
ECCP
EEPROM Electrically Erasable Programmable Read Only Memory
EUSART Enhanced Universal Synchronous Asynchronous Receiver Transmitter
F
FLANN
G
GPIO
H
HDD
I
ICD
ICSP
IR
In Circuit Debugger
In Circuit Serial Programming
Infrared
J
JNA
JNI
M
MFC
MSSP
MUX
N
NI
NUI
Natural Interaction
Natural User Interface
Q
QVGA
R
RAM
RANSAC
RGB
S
SDK
SSP
SXGA
T
TOF
TTL
Time Of Flight
Transistor Transistor Logic
U
UAV
USART
USB
V
VGA
VTK
vii
Danh mc hnh
Hnh 2.1: Thit b Kinect ............................................................................................... 6
Hnh 2.2: Nhng thnh phn chnh ca Kinect ............................................................. 7
Hnh 2.3: ng c iu khin gc ngng Kinect .......................................................... 8
Hnh 2.4: Bn trong Kinect: RGB, IR camera v IR projector ..................................... 8
Hnh 2.5: Qu trnh thu v bn su nh ............................................................... 9
Hnh 2.6: Mu hnh c chiu bi projector v chp li bng IR camera ................ 10
Hnh 2.7: Tnh ton khong cch ti mt im chiu t Projector ............................. 11
Hnh 2.8: Kinect adapter ............................................................................................. 14
Hnh 3.1: Th vin OpenNI phi hp gia phn cng v ng dng u cui............ 19
Hnh 3.2: Point cloud library logo ............................................................................... 20
Hnh 4.1: M hnh robot dng cng tc hnh trnh ..................................................... 23
Hnh 4.2: Cm bin siu m ........................................................................................ 24
Hnh 4.3: Hin tng Forecasting ............................................................................... 25
Hnh 4.4: Hin tng Crosstalk................................................................................... 25
Hnh 4.5: Th trng ca robot vi optical flow ......................................................... 26
Hnh 4.6: nh gc v nh sau khi tch bin................................................................ 27
Hnh 4.7: Hn ch ca phng php d bin .............................................................. 28
Hnh 4.8: Phng php d nn .................................................................................... 28
Hnh 4.9: Phng php Stereo Vision ......................................................................... 29
Hnh 4.10: S x l: pht hin v tch vt cn ...................................................... 31
Hnh 4.11: nh RGB v bn su ....................................................................... 32
Hnh 4.12: RGB point cloud........................................................................................ 33
Hnh 4.13: Voxel grid .................................................................................................. 34
Hnh 4.14: Pass through khng c v c voxel grid.................................................... 35
Hnh 4.15: Tm m hnh ng thng bng thut ton RANSAC .............................. 36
Hnh 4.16: Point cloud sau khi thc hin xong bc lc v phn on ...................... 37
viii
Hnh 7.7: Ta Kinect trc (tri) v sau (phi) khi chuyn trc ............................ 75
Hnh 8.1: Ni dung chng trnh iu khin .............................................................. 77
Hnh 8.2: X l a tin trnh ....................................................................................... 78
Hnh 8.3: Giao din chng trnh iu khin .............................................................. 78
Hnh 8.4: S gii thut iu khin robot do my tnh x l ................................... 80
Hnh 8.5: Tnh gc quay v ch ................................................................................. 81
Hnh 8.6: Vt cn bn tri robot .................................................................................. 83
Hnh 8.7: Vt cn bn phi robot ................................................................................ 84
Hnh 8.8: Vt cn nm gia ng di chuyn ca robot ......................................... 85
Hnh 8.9: i mt on an ton v pha phi vt cn ................................................... 86
Hnh 8.10: C bo c vt cn v ng trng ............................................................ 87
Hnh 8.11: Khng gian cho robot lch qua ................................................................. 88
Hnh 8.12: S gii thut trn vi iu khin ............................................................ 89
Danh mc bng
Bng 2.1: Gc m v tiu c RGB v IR camera ....................................................... 13
Bng 2.2: Cng sut tiu th trn Kinect .................................................................... 14
Bng 5.1: Bng m t cc chc nng tng chn ca PIC18F4550 ............................. 42
Bng 6.1: nh hng ca cc thnh phn Kp, Ki, Kd i vi h kn ......................... 64
xi
Ni dung chnh
1.1 Xu hng pht trin ca robot hin i
1.2 Nhng vn ca robot di ng
1.3 Mc tiu lun vn v phng php thc hin
1.4 S lc v ni dung lun vn
Trang 1
Trang 2
Trang 3
Trang 4
Ni dung chnh
2.1 Gii thiu chung
2.2 Nhng thnh phn chnh ca Kinect
2.3 Tnh ton su
2.4 Mt s c tnh khc
Trang 5
Trang 7
Trang 8
Trang 10
1
-0.0030711016 d + 3.3309495161
Trang 12
RGB
camera
~62o
~48o
~72o
IR
camera
~58o
~44o
~69o
Horizontal
Field of View
Vertical
(degrees)
Diagonal
525
580
Focal length (pixels)
Bng 2.1: Gc m v tiu c ca RGB v IR camera [3]
Ngun cung cp v cng sut tiu th:
V Kinect cn nhiu in nng hot ng nn cng USB ca Xbox-360 khng
th p ng m phi qua mt cng chia chia thnh 2 kt ni ring l USB v kt ni
ngun, gip cho thit b kt ni vi Xbox-360 bng cng USB trong khi ngun in
cn cho Kinect l 12VDC c ly t adapter. Phin bn Xbox-360 mi s khng cn
adapter v n c cc AUX port c bit cung cp cho cng kt ni. Vi kt ni USB
ta hon ton c th cho Kinect giao tip vi my tnh. Cch thay adapter bng ngun
pin 12V dng trn mobile robot c ni thm phn ph lc 2.
Trang 13
Trang 14
Chng 3: Th vin x l nh
Ni dung chnh
3.1 Th vin h tr Kinect
3.2 So snh Kinect SDK beta v OpenNI
3.3 Point Cloud Library
Trang 15
Chng 3: Th vin x l nh
3.1 Th vin h tr Kinect
Ngay khi mi ra i, Kinect c quan tm bi rt nhiu nh pht trin phn
mm, khng ch trn mng pht trin game cho Xbox m cn trn mng x l nh ng
dng trong y hc, robot, mapping Do m nhiu th vin c vit cho Kinect ra
i. Cho n thi im hin ti, cc th vin ng ch l Libfreenect, Code
Laboratories Kinect, OpenNI v Kinect SDK beta.
Libfreenect:
Libfreenect [7] l th vin c pht trin bi OpenKinect, do mt cng ng
nhng ngi quan tm n phn cng Kinect vit ra v chia s. Cng ng
OpenKinect lm vic hon ton t nguyn v khng v mc ch li nhun, h pht
trin Libfreenect thnh mt m ngun m cho cc h iu hnh khc nhau Windows,
Linux v OS X. Hin ti, Libfreenect c ng gi cho vic s dng trn Python, C,
C++, C#, Java JNI, Java JNA, Javascript.
Code Laboratories Kinect:
Code Laboratories (CL) [8] l mt cng ty v phn mm chuyn h tr cc nh
pht trin, lp trnh vin khai thc cc tnh nng ca cc thit b x l nh. Trong s
Kinect khng phi l ngoi l, CL cung cp cho ngi s dng nhng tnh nng c bn
nht ca Kinect v camera, audio v motor.
OpenNI:
Th vin OpenNI [9] c xem l th vin mnh nht trc s c mt ca Kinect
SDK beta, th vin ny h tr a ngn ng trn nhiu platform khc nhau, gip cho
cc lp trnh vin c th vit cc ng dng trn Kinect rt d dng vi tng tc t
nhin Natural Interaction (NI). Mc ch chnh ca OpenNI l xy dng cc hm API
chun, cho php th vin c kh nng kt hp vi cc middleware nhm lm tng sc
mnh cho Kinect.
Kinect SDK beta:
Kinect SDK [10] beta c Microsoft a ra vo ngy 16 thng 6 nm 2011, l
mt cng c lp trnh mnh cho cc nh pht trin. N cho php lp trnh vin truy
xut ton b tnh nng ca thit b Kinect. Mt iu bt tin l th vin ny ch h tr
Trang 16
Chng 3: Th vin x l nh
trn cng c lp trnh ca Microsoft l Visual Studio 2010 vi cc ngn ng l C++,
C# v Visual Basic. Cc tnh nng ni bt nh: thu nh t cc sensor, skeleton tracking
v iu khin bng ging ni thng qua cng c nhn bit ging ni, Windows Speech
Recognition API. Phin bn beta hin ti ch cho php s dng vo nhng mc ch
phi li nhun, phin bn thng mi ha hn s sm ra mt trong nm 2012. Phin bn
beta mi nht c cp nht vo ngy 1 thng 11 nm 2011 vi nhiu li c sa v
chy tt trn Windows 8 Developer Preview.
Ti thi im hin ti, hai th vin OpenNI v Kinect SDK beta l la chn sng
sut cho vic lp trnh trn Kinect bi tnh nng h tr mnh m ca hai th vin ny.
Mc 3.2 s phn tch v so snh hai th vin ny v chn la th vin ph hp cho
ti lun vn.
3.2 So snh Kinect SDK beta v OpenNI
Sau y l nhn nh v u, khuyt im ca hai th vin trn [11] (lu l
Kinect SDK ang trong giai on beta nn s c vi im thay i ti bn chnh thc
cui cng)
Kinect SDK beta:
u im:
+ H tr x l m thanh.
+ H tr ng c iu khin gc ngng.
+ Skeleton tracking (bm c tnh c th ngi): khng cn hiu chnh trc
khi bm, vn bm tt trong trng hp c th ngi quay theo nhiu
hng.
+ H tr truy xut cc sensor ca Kinect ng thi.
+ Vic ci t n gin.
Khuyt im:
+ Ch dng cho mc ch phi thng mi.
+ Ch h tr bm ton th c tnh c th ngi (khng c ch hand
tracking hay bm tng phn c th nh trn OpenNI).
Trang 17
Chng 3: Th vin x l nh
+ Khng h tr nhn bit c ch.
+ Ch h tr trn Win7 (x86 v x64) vi i hi kh cao:
Chng 3: Th vin x l nh
Kt lun: Sinh vin cng c thi gian lm vic trn c hai th vin, nn c
nhng kt lun sau:
Kinect SDK beta mnh hn OpenNI c tnh bm c th ngi n nh hn, do
s p ng chnh xc vi cc c ch c th ngi; tuy nhin pht hin c ch ta
phi t vit gii thut trong khi trn OpenNI h tr sn. Ngoi ra, Kinect SDK hn
OpenNI phn h tr cho x l m thanh, cho php xy dng cc ng dng iu
khin bng ging ni d dng hn.
Hnh 3.1: Th vin OpenNI phi hp gia phn cng v ng dng u cui
OpenNI cho php thu bn su trong gii hn t 0.5 mt tr v pha trc
Kinect trong khi Kinect SDK th gii hn ny l 0.8 mt v pha trc, cht lng bn
su thu v trn hai th vin l nh nhau. Kinect SDK l th vin mi ra i ang
trong giai on beta v cng cha c s h tr ca cc th vin x l nh khc nh
Point Cloud. Trong khi OpenNI ra i trc v gn nh c tch hp vi th vin
x l nh Point Cloud. Do , vi ng dng Kinect trong ti robot t hnh trnh vt
Trang 19
Chng 3: Th vin x l nh
cn th OpenNI l la chn ti u hn. cng chnh l l do sinh vin chn th vin
OpenNI kt hp vi Point Cloud cho ti lun vn ny.
Ni n tm nhn xa hn th ta thy: v tnh ph bin, OpenNI c th pht trin
trn cc nn tng h iu hnh khc nhau v nhn c s ng gp ca cng ng
xy dng m ngun m rng ln; v chuyn kinh doanh, ta c th pht trin thnh cc
sn phm thng mi ha trn th trng trong rt nhiu lnh vc nh robot, y t, gio
dc, gii tr
Th vin h tr Kinect gip ta ly v chiu su nh v mt s c tnh c bit
khc (nh skeleton tracking, hand tracking, gesture recognition trn OpenNI); tn
dng ti u sc mnh ca n ta kt hp cng th vin x l nh trong khng gian 3D
l Point Cloud m s c cp trong mc 3.3.
3.3 Point Cloud Library
Trang 20
Chng 3: Th vin x l nh
C th ni PCL l s kt hp ca nhiu module nh. Nhng module ny thc
cht cng l cc th vin thc hin cc chc nng ring l trc khi c PCL ng
gi. Cc th vin c bn ny l:
Eigen: mt th vin m h tr cho cc php ton tuyn tnh, c dng trong hu
ht cc tnh ton ton hc ca PCL.
FLANN: (Fast Library for Approximate Nearest Neighbors) h tr cho vic tm
kim nhanh cc im ln cn trong khng gian 3D.
Boost: gip cho vic chia s con tr trn tt c cc module v thut ton trong
PCL trnh vic sao chp trng lp d liu c ly v trong h thng.
VTK: (Visualization Toolkit) h tr cho nhiu platform trong vic thu v d liu
3D, h tr vic hin th, c lng th tch vt th.
CMinPack: mt th vin m gip cho vic gii quyt cc php ton tuyn tnh v
khng tuyn tnh.
Trang 21
Ni dung chnh
4.1 Cc phng php pht hin vt cn khng s dng camera
4.1.1 Dng cng tc hnh trnh
4.1.2 Dng cm bin siu m
4.2 Cc phng php pht hin vt cn s dng camera
4.2.1 X l nh vi mt camera (Monocular vision)
4.2.2 X l nh vi hai camera (Stereo vision)
4.3 Pht hin vt cn s dng Kinect
Trang 22
Trang 23
Trang 25
Trang 26
Trang 27
Trang 28
Nhn xt:
Vi s pht trin ca cng ngh hin nay th tc x l khng cn l vn kh
khn na; vi mc ch trnh vt cn mt cch tt nht th phng php cui cng,
Stereo Vision ni tri hn c.
Sinh vin c thi gian thc hin v hon thnh vic pht hin vt cn bng
phng php stereo vision trn hai camera. Kt qu ph thuc khu hiu chnh ban
u rt nhiu. V th, sinh vin tm n thit b c kh nng h tr vic ly bn
su trc tip, m khng bn tm nhiu n vic hiu chnh cho camera, l thit b
chi game Kinect.
Kinect cng mc ch vi phng php stereo vision l thu v bn su
nhng cch thc hin li c cht khc bit, d s dng gii thut tnh ton tng t
nhau. iu ny c trnh by mc 2.3. Cng ngh m Kinect s dng c xem
nh s giao thoa gia stereo vision v range finder (phng php o c khong cch
bng sng nh laser, hng ngoi hay sng siu m). Kt qu thu v trn Kinect chnh
xc hn, n nh hn, tiu tn ti nguyn my tnh t hn nhiu so vi vic s dng hai
camera trong phng php stereo vision. Do y l mt cng ngh mi nn sinh vin
gi l phng php x l nh trn Kinect v c trnh by chi tit trong mc 4.3.
Trang 30
Trang 31
Vic la chn phn gii cng nh th tc x l khi qua th vin Point Cloud
cng c tng ln.
Trang 32
Point cloud:
RAM: 4 GB
Trang 34
Pass through:
setFilterFieldName ("z");
setFilterLimits(0.5, 1.4);
Plannar segmentation:
Plannar segmentation s tch cc point cloud c cu trc phng, sau tch ra
point cloud c tng s im ln nht, bng gii thut RANSAC (RANdom SAmple
Consensus). y l gii thut c lng mt m hnh ton hc t mt tp hp cc
im c cha nhiu (outliers). Gii thut ny ln u c cng b vo nm 1981 bi
Fischler v Bolles [16].
Hnh 4.15 cho ta thy ng dng thut ton RANSAC tm m hnh ng thng
(c dng ax + by + c = 0) trong mt tp hp cc im c cha nhiu.
Trang 35
u vo:
data
- tp hp cc im
k
- s ln lp
t
- ngng (threshold) sai s xc nh im no c khp m hnh khng
u ra:
best_model
- m hnh tt nht
best_consensus_set
- tp hp cc im khp vi best_model
best_model
= null
best_consensus_set
= null
best_num_points
= 0
Lp k ln:
consensus_set
= tp hp 2 im ngu nhin thuc data
model
= m hnh ng thng suy ra t 2 im trn
Vi mi im thuc data nhng khng thuc consensus_set, ta xt:
distance = khong cch t im n ng thng;
if distance < t (im thuc m hnh nu sai s nh hn mc ngng t trc)
thm im vo consensus_set
Trang 36
setModelType(pcl::SACMODEL_PLANE);
setMethodType(pcl::SAC_RANSAC);
setDistanceThreshold(0.02);//threshold = 2cm
setInputCloud(cloud_filtered);
setIndices(inliers);
filter(*cloud_cluster);
Object clusters:
Trang 38
Ni dung chnh
5.1 PIC 18F4550
5.1.1 Gii thiu chung
5.1.2 Nhng module chnh s dng trong lun vn
5.2 Mch cng sut (mch cu H)
Trang 39
Chn
AN0-AN12
Hng
I
Avdd
Avss
CLKI
CLKO
CN0 - CN7
CN17 - CN18
COFS
I/O
CSCK
I/O
CSDI
Li vo d liu ni tip
CSDO
Li ra d liu ni tip
C1RX
C1TX
EMUD
I/O
EMUC
I/O
EMUD1
I/O
Vo ra d liu knh th cp
EMUC1
I/O
Vo ra d liu knh th cp
EMUD2
EMUC2
EMUD3
EMUC3
IC1 - IC8
I/O
I/O
I/O
I/O
I
Vo ra d liu knh th cp
Vo ra d liu knh th cp
Vo ra d liu knh th cp
Vo ra d liu knh th cp
Cc cng vo ca module Capture
INT0 - INT2
Cc ngt ngoi
LVDIN
/MCLR
OSC1
OSC2
Li ra b dao ng tinh th
PGD
I/O
Vo ra d liu ca ICSP
PGC
Li vo Clock ca ICSP
RA0 - RA6
I/O
Port A
RB0 - RB7
RC0 - RC7
RD0 - RD7
I/O
I/O
I/O
Port B
Port C
Port D
RE0 - RE3
I/O
Port E
SCK1
I/O
SDI1
SDO1
Li ra d liu ca SPI1
SS1
Slaver ng b
SCL
I/O
SDA
I/O
SOSCO
SOSCI
Li vo b dao ng 32Khz
T1CK
T2CK
U1RX
U1TX
U1ARX
U1ATX
VDD
VSS
Chn GND
Vref+
Vref-
Trang 44
XT: Crystal/Resonator
ECPLL: External Clock with PLL enabled and FOSC/4 output on RA6
Trang 47
Trang 48
Trang 49
Trang 50
Trang 51
Trang 53
Trang 54
Trang 55
Ni dung chnh
6.1 ng c Servo DC
6.1.1 ng c DC
6.1.2 Encoder
6.2 Gii thut PID v tr
Trang 56
Trang 58
6.1.2 Encoder
Encoder l dng c dng xc nh v tr gc ca a quay hoc xc nh qung
ng di chuyn cho bnh xe, trc ng c hay bt k thit b no c c cu quay v
cn xc nh dch chuyn.
C hai loi encoder l encoder tuyt i (absolute encoder) v encoder tng i
(incremental encoder). Encoder tuyt i cung cp cho ta chnh xc v tr encoder m
khng cn qua x l, trong khi encoder tng i th i hi thm khu x l t tn
hiu encoder trc khi xc nh c v tr quay ca ng c. Vi gi thnh r hn v
vic x l cng khng qu phc tp nn encoder tng i c chn trong ti ny.
y, ta tp trung ni v incremental optical encoder l loi encoder tng i
s dng cm bin quang. H thng optical encoder bao gm mt ngun pht quang
(thng l hng ngoi infrared), mt cm bin quang v mt a c chia rnh.
Trang 59
Trang 60
Trang 61
Trang 62
Trang 64
u n K p e n Ki e k K d ( y n y n 1)
k 0
Trang 65
KI
KD s
s
Bin i Z ca n nh sau:
G( z ) K P
KI T z 1 KD z 1
(
)
(
)
2
z 1
T
z
(KP KI
K
K
T KD
T
) ( K P K I 2 D ) z 1 D z 2
2 T
2
T
T
1
1 z
t:
T KD
2 T
K
T
a1 K P K I 2 D
2
T
K
a2 D
T
a0 K P K I
Suy ra:
Trang 66
a0 a1 z 1 a2 z 2
e(k )
1 z 1
Suy ra:
u(k ) u(k 1) a0 e(k ) a1 e(k 1) a2 e(k 2)
Trang 67
Ni dung chnh
7.1 Cc php chuyn i h trc ta c bn
7.2 Tnh ton ta robot
7.3 Tnh ton ta Kinect
Trang 68
dx dy dz
0
0
0
Trang 69
dx dy dz
0
0
, Q = [x y z 1] = P.M = [x+dx y+dy z+dz 1].
0
Php quay:
Ta kho st php quay quanh mt trc ta . Khc vi php quay trong hai chiu
quanh mt im bt k, trong ba chiu ta c php quay quanh mt trc ta . Ta c
cc ma trn biu din cc php quay quanh trc x, y, z ngc chiu kim ng h vi
gc tng ng , , ln lt l Rx(), Ry(), Rz():
Rx ( ) 0 cos
0 sin
cos
Rz ( ) sin
0
0
sin
cos
sin
cos
0
cos 0 sin
R y ( ) 0
1
0
sin 0 cos
0
0
1
Trang 70
Trang 71
0
1
Z 0 cos
0 sin
0
X
Trang 74
Y Y 60 Y cos Z sin 60
2 1
Z 2 Z1 9 Y sin Z cos 9
o chiu Y.
X
X3 X2
Y Y Y cos Z sin 60
3 2
Z3 Z 2 Y sin Z cos 9
Hnh 7.7 cho ta thy h trc Kinect sau khi thc hin cc php chuyn i. H
trc c cc chiu X, Y, Z tng ng vi cc mu , xanh l, xanh dng.
Hnh 7.7: Ta Kinect trc (tri) v sau (phi) khi chuyn trc
Trang 75
Ni dung chnh
8.1 Ni dung chng trnh iu khin
8.2 Gii thut chng trnh do my tnh x l
8.3 Gii thut chng trnh do vi iu khin x l
Trang 76
Trang 77
X, Y, A: ln lt l k t bt u cho cc gi tr i din ta X, Y, gc
hin ti ca robot. N l k t kt thc chui.
Trang 79
Khi to cc gi tr
u
Tnh gc quay
v ch
Gi lnh quay
Tnh gc quay
ti u trnh vt
Gi lnh quay
Robot thc
hin xong?
No
i mt on an ton
Yes
No ng trng?
No
Robot thc
hin xong?
No
Robot thc
hin xong?
Yes
Yes
Yes
No
Gi lnh di chuyn
v ch
ng trng? Yes
Robot thc
hin xong?
No
i mt on an ton
khng
gian cho robot
lch qua?
Yes
Yes
No
Yes
No
Tnh gc quay
ngc li trnh vt
Gi lnh quay
C vt cn? Yes
No
No
No
End
Robot thc
hin xong?
Yes
No
Yes
Robot thc
hin xong?
ng trng? Yes
Robot thc
hin xong?
Yes
Robot thc
hin xong?
i mt on an ton
No
Tnh khong cch di chuyn
sao cho cch vt 55 cm
Gi lnh di chuyn
No
Robot thc
hin xong?
Yes
Yes
No
Robot thc
hin xong?
Trang 80
gamma = arctan(
y_target - y_cur
)
x_target - x_cur
Trang 82
Vt cn nm bn tri robot
cos1(
x _ max
) , hng quay v pha bn phi robot.
O'L
Trang 83
Vt cn nm bn phi robot
Trang 84
Vt cn nm gia ng robot
sin 1 (
x _ min
)
O'L
Quay phi:
sin 1 (
x _ max
)
O'L
Trang 85
Trang 86
OH ' OM cos( )
1
( x _ max x _ cur)2 ( y _ max y _ cur)2 cos( tan 1(
x _ max
))
y _ max
i bn tri vt cn:
OH ' OM cos( )
1
x _ min
( x _ min x _ cur)2 ( y _ max y _ cur)2 cos( tan 1(
))
y _ max
C bo c vt cn (Obstacle_flag) v ng trng (freePath_flag):
Trang 87
x4
y4
))
H H O'H O'H
1 2
2
1
8.3 Gii thut chng trnh do vi iu khin x l
Cng vic iu khin ng c v tnh ton ta , thc hin giao tip vi my
tnh s c PIC 18F4550 x l. thc hin cc cng vic ny, PIC18F4550 kt hp
thng tin lnh t my tnh v tn hiu hi tip v t encoder thng qua cc ngt ngoi.
Sau y l s khi m t hot ng ca chng trnh chnh x l bi PIC18F4550:
Trang 88
Khi to cc module:
Khi to cc module s dng trn PIC: cc
port I/O, timer, ngt ngoi, PWM v giao
tip RS232.
No
Timer1_flag = 1
Timer1_flag:
C bo bng 1 khi timer1 trn sau 5 ms,
Yes
No
InitPID_flag = 1
Yes
Khi to cc gi tr u
cho PID
InitPID_flag = 0
donePID_flag = 0
No
Target_flag = 1
Yes
Tnh ton ta robot
Gi thng tin ln my tnh
Target_flag = 0
Target_flag:
C bo ln 1 khi robot ang di chuyn v
ch v gp vt cn.
Tnh ton ta robot:
Tnh ton ta robot, c trnh by
No
donePID_flag = 1
Yes
ti mc 7.2.
Gi thng tin ln my tnh:
Thng tin v ta v gc hin ti ca
robot: (x_cur, y_cur, angle_cur).
Thc hin PID trn hai bnh xe:
Trang 89
Chng trnh x l nh khi phc c khng gian pha trc robot di dng
3D, cung cp y thng tin v mi trng cho robot.
Mt s im cn khc phc:
Phn th gic robot ch quan st c khng gian pha trc robot nn robot c
th s ng vt cn bn hng hay pha sau khi di chuyn li. Vn ny c th
c gii quyt bng bic trang b thm cc cm bin pht hin vt cn xung
quanh robot; hoc thit k thm h thng xoay cho phn th gic, th gic s xoay
mt gc xc nh trc khi quyt nh di chuyn.
Trang 91
Trang 92
Ph lc 1
CL c th ti v ti: http://codelaboratories.com/nui
Bc 2:
M ca s Computer Management, v chn Uninstall cc mc di CL devices:
NUI audio, NUI camera, NUI Motor.
Trang 93
Ph lc 1
Bc 3:
Ci t OpenNI v cc chng trnh km theo.
Bc 4:
Vo li ca s nh bc 1, lc ny Kinect c nhn bi PrimeSense. Ta nhp
phi chut trn Kinect Motor v chn Update Driver Software
Trang 94
Ph lc 1
Lc ny ta c th s dng chc nng iu khin ng c Kinect trn th vin
OpenNI kt hp vi CL.
Trang 95
Ph lc 2
Trang 96
Ph lc 2
Trang 97
Ph lc 2
Sau khi tho:
V kt qu cui cng:
Trang 98
Ph lc 3
Trang 99