$$GPRMC,161028.478,A,1064.0978,N,1051.5689,W,0.12,309.68,120813,,*10
Tên Ví d Đơn v Mô t
Đa ch tin nh n $GPRMC Tiêu đề giao th c RMC
Th i gian thực 161028.478 hhmmss.ssss
Tình tr ng A Tr A là data có giá tr V là data không có giá tr
Vĩ đ 1064.0978 ddmm.mmmm
Ch số N/s, E/W N N: h ớng b c, S: h ớng nam,
E: h ớng đông, W: h ớng tây
Kinh đ 1051.5689 ddmm.mmmm
Tốc đ trên mặt đất 0.12 Knots
Quá trình trên mặt đất 309.68 degrees Đúng
Ngày 120813 Ngày tháng năm
Từ tr ng bi n đổi degrees E: h ớng đông, W: h ớng tây
Ch đ A A: tựđ ng, D = DPGS
Ki m tra *10
34
2.7 Phần m n LabVIEW 2.7.1 LabVIEW 2.7.1 LabVIEW
LabVIEW [19] (vi t t t c a Laboratory Virtual Instrumentation Engineering Workbench) là môi tr ng ngôn ng đồ h a hiệu qu trong việc giao ti p đa kênh gi a con ng i, thu t toán và các thi t b .
G i LabVIEW là ngôn ng đồ h a hiệu qu vì về cách th c l p trình LabVIEW khác với các ngôn ng C (hay Python, Basic, v.v.) đi m thay vì s d ng các từ vựng (từ khóa) cố đnh thì LabVIEW s d ng các khối hình nh sinh đ ng và các dây nối đ t o ra các lệnh và các hàm nh trong hình 2.21. Cũng chính vì sự khác biệt này mà LabVIEW đư giúp cho việc l p trình tr nên đơn gi n hơn bao gi h t, đặc biệt, LabVIEW rất phù h p với kỹs , nhà khoa h c, hay gi ng viên. Chính sự đơn gi n, d h c, d nhớ đư giúp cho LabVIEW tr thành m t trong nh ng công c phổ bi n trong các ng d ng thu th p d liệu từ các c m bi n, phát tri n các thu t toán, và điều khi n thi t b t i các phòng thí nghiệm trên th giới.
Vềý nghĩa kỹ thu t, LabVIEW cũng đ c dùng đ l p trình ra các ch ơng trình (source code: mã nguồn) trên máy tính t ơng tự các ngôn ng l p trình dựa trên ch (text-based language) nh C, Python, Java, Basic, v.v..
Đồng th i, LabVIEW h tr các kỹ s , nhà khoa h c và sinh viên, v.v., xây dựng (thực thi) các thu t toán m t cách nhanh, g n, sáng t o và d hi u nh các khối hình nh có tính g i nhớ và cách th c ho t đ ng theo ki u dòng d liệu (dât flow) lần l t từ trái qua ph i. Các thu t toán này sau đó đ c áp d ng lên các m ch điện và cơ cấu chấp hành thực nh vào việc k t nối hệ thống th t với LabVIEW thông qua nhiều chuẩn giao ti p m ng TCP/IP, chuẩn GPIB, v.v. Vì v y LabVIEW là m t ngôn ng giao ti p đa kênh.
LabVIEW h tr hầu h t các hệ điều hành Windows (2000, XP, Vista, 7, 8), Linux, MacOS, Window Mobile, Window Embedded. Hiện t i, LabVIEW 2012 là phiên b n mới nhất. M t số phiên b n cũ c a LabVIEW bao gồm 2010, 2009, 8.6, 8.5, 7.1, 6i.
35
2.7.2 ng d ng LabVIEW trong th c t
LabVIEW đ c s d ng trong các lĩnh vực đo l ng, tự đ ng hóa, cơ điện t , robotics, v t lý, sinh h c, v t liệu, ô tô, v.v.
Hình 2.20: Các lĩnh vực ng d ng c a LabVIEW Nhìn chung:
- LabVIEW giúp kỹs k t nối bất kỳ c m bi n và bất kỳcơ cấu chấp hành nào với máy tính.
- LabVIEW có th đ c s d ng đ x lý các ki u s liệu nh tín hiệu t ơng tự (analog), tín hiệu số ( digital), hình nh (vision), âm thanh (audio), v.v.
- LabVIEW h tr các giao th c giao ti p khác nhau nh RS232, RS485, TCP/IP, PCI, PXL.
- Chúng ta có th t o ra các thực thi đ c l p và các th viện chia sẻ (ví d th viện liên k t đ ng DLL), b i vì LabVIEW là m t trình biên d ch 32 bit.
LabVIEW Y h c Hàng không vũătr Ô tô, Mobile robot Công nghi p Nghiên c u, thí nghi m
36
2.7.3ăăL pătr̀nhăv iăLabVIEW
Đ làm việc với phần mềm LabVIEW ta thao tác trên 2 c a sổ là Front Panel và Block Diagram. Hai c a sổ này s xuất hiện sau khi ta kh i đ ng phần mềm LabVIEW.
Hình 2.21: Mã nguồn vi t bằng LabVIEW
C a sổ Front Panel hay còn g i là giao diện ng i dùng. C a sổ này dùng đ kh i t o các Control (Input) và các Indicator (ouput). Nghĩa là trên c a sổ này ta có th thi t l p các thông số đầu vào c a m t ng d ng nào đó và có th thấy đ c k t qu kh o sát hay tính toán c a ng d ng đó.
C a sổ Block Diagram là c a sổdùng đ ng i l p trình kh i t o, vi t các thu t toán cho ng d ng c a mình. Đó bao gồm các hàm toán h c (c ng, trừ, nhân, chia, đ o hàm, tích phân, ma tr n, v.v.), các hàm lặp (while loop), các hàm t o tr , v.v. Nghĩa là trên c a sổ Block Diagram ch a nh ng thu t toán gi i quy t các bài toán ng d ng mà ng i l p trình kh i t o và có th điều khi n và hi n th k t qu trên c a sổ Front Panel.
Các hàm tính toán có liên quan trong c a sổBlock Diagram đ c nối với nhau bằng dây dẫn theo ki u truyền tín hiệu. Đây cũng là m t l i đi m c a LabVIEW so với các phần mềm khác tính trực quan và d làm việc.
C a sổ Block Diagram C a sổ Front Panel
37
2.8 Thu t toán PID và PWM
B PID là b điều khi n vi tích phân tỷ lệ làm việc trong m t hệ kín có sơ đồ khối hình 2.22:
H̀nhă2.22: Sơ đô điêu khiển thuâ ̣t toan PID
- Bi n e là thành phần sai lệch, là hiệu gi a giá tr tín hiệu vào mong muốn và tín hiệu ra thực t .
- Tín hiệu sai lệch (e) s đ a tới b PID, và b điều khi n tính toán c thành phần tích phân lẫn vi phân c a (e). Tín hiệu ra (u) c a b điều khi n bằng công th c sau: dt de K e(T)dt K e K U(t) d t 0 I P (2.41) Trong đó:
Kp: Hệ số t lệ, KI: hệ số tích phân, Kd: hệ số vi phân, e: Sai số, T: m t bi n tích phân trung gian, t: th i gian t c th i
- Thành phần t lệ (Kp) có tác d ng làm tăng tốc đ đáp ng c a hệ, và làm gi m, ch không triệt tiêu sai số xác l p c a hệ
- Thành phần tích phân (KI) có tác d ng triệt tiêu sai số xác l p nh ng có th làm gi m tốc đ đáp ng c a hệ.
- Thành phần vi phân (Kd) làm tăng đ ổn đ nh hệ thống, gi m đ v t lố và c i thiện tốc đ đáp ng c a hệ.
Để ta ̣o ra l ̣c co cảm giac lai b lệch h ớng trên vô lăng , chúng ta dùng thu t toán PID đ gi i quy t.
Motor − + e s I �� 0 (�) ( ) D � ( ) P � AMP + + +
38
Thu t toán PWM là gi i thu t điều ch nh điện áp ra cấp cho t i theo nguyên t c điều ch nh chu kỳ th i gian đóng ng t nh hình 2.23.
Hình 2.23: Sơ đồ xung điện áp thu t toán PWM Trong sơ đồ hình 2.23, Hi là các hệ sốđiều ch nh với i = 1, 2, 3
Hi = Ti/T (%) (2.43) Trong đó:
T là chu kỳ xung
Ti là các chu kỳ xung m c cao với i = 1, 2, 3. Điện áp trung bình cấp cho Vibrator, Utb = Umax Hi
Đ t o ra c m giác xe gần v t c n, xe đi ra xa m c tiêu và xe đư đ n m c tiêu chúng ta dùng thu t toán PWM đ gi i quy t.
0 0 0 T t t t 5v 5v 5v T1 T2 T3 H1 = 80% H2 = 50% H3 = 20%
39
Ch ngă3
Đ XU T GI IăPHỄPăĐI U KHI N XE T XA
B NG CÔNG NGH HAPTICS
TRONGăTR NG H P KHÔNG PH N H I HÌNH NH
3.1 T ng quan v các gi i pháp đi u khi n xe t xa không ph n h i hình nh
Trong điều kiện môi tr ng làm việc c a xe khi không có ánh sáng hay không có tín hiệu ph n hồi hình nh thì việc điều khi n xe từ xa tr nên rất khó khăn. Hiện nay có hai gi i pháp đ gi i quy t vấn đề trên. Gi i pháp th nhất là n i dung chính c a đề tài (xem Mục 3.2) và gi i pháp th hai là chuy n ch đ điều khi n xe từ xa bằng tay sang ch đ xe tự hành. ch đ xe tựhành có hai ph ơng pháp đnh v cho xe tự hành là dùng mốc đ nh h ớng (hay ph ơng pháp tìm đ ng toàn c c) và xác suất dựa trên b n đồ (hay ph ơng pháp tìm đ ng c c b ):
- Ph ơng pháp th nhất s d ng các mốc đ nh h ớng trong môi tr ng giúp cho việc đ nh v đ c liên t c và nh đó gi m đ c các l i đo hành trình. Gi i pháp phổ bi n là ch n m t t p h p các mốc đ nh h ớng t i nh ng v trí cho tr ớc đ h ớng dẫn xe đi đ n m c tiêu nh ph ơng pháp đnh v GPS [20], ph ơng pháp tr ng th năng [21].
- Ph ơng pháp đnh v theo cách th hai nh hiện nay hầu h t đều dựa trên cơ s các b l c Bayesian [22]. Ph ơng pháp này dựa trên sự trùng khớp gi d liệu c m bi n thu th p đ c t i m t v trí t c th i với m t mô hình đư cho tr ớc c a môi tr ng. Các kỹ thu t đnh v phổ bi n dựa trên ph ơng pháp này nh Markov Localization, Kalman filter và Monte Carlo Localization.
40
3.1.1ăPh ngăphápăb năđ ăđ ngăđi
Ph ơng pháp b n đồ đ ng đi k t nối với vùng không gian trống c a xe trong m t m ng l ới các đ ng thẳng hoặc đ ng cong 1D g i là các b n đồ đ ng đi. Có hai ph ơng pháp b n đồđ ng đi đ c chấp nh n với nh ng ki u đ ng đi thay đổi đ t ng t: Đồ th trực quan và bi u đồ Voronoi (xem Hình 3.1). Trong ph ơng pháp đồ th trực quan, các đ ng đi s bám sát theo v t c n và đ ng đi cuối cùng là k t qu có đ dài ng n nhất. Còn ph ơng pháp bi u đồ Voronoi thì các đo n đ ng càng cách xa v t c n càng tốt.
Hình 3.1: Ph ơng pháp đồ th trực quan (a) và ph ơng pháp sơ đồ Voronoi (b) (Nguồn: Theo www-cs-faculty.stanford.edu)
Ph ơng pháp đồ th trực quan có hai nh c đi m. Th nhất, nó cực kì nhanh và hiệu qu cho các môi tr ng th a thớt v t c n, nh ng có th ch m và không hiệu qu bằng các ph ơng pháp khác đối với môi tr ng có m t đ v t c n cao. Th hai là có nhiều thi u sót tiềm ẩn, k t qu đ ng đi tìm đ c b i đồ th trực quan có th làm cho xe b ch m vào v t c n trên đ ng đi đ n đích. Gi i pháp chung là tăng kích th ớc v t c n lên bằng với bán kính c a xe, hoặc là điều ch nh k t qu đ ng đi sau khi đư có k ho ch đ ng đi cách xa v t c n ra m t kho ng cách cho phép. Dĩ nhiên điều này s hi sinh sự tối u vềđ dài c a ph ơng pháp đồ th trực quan.
Ph ơng pháp sơ đồ Voronoi là ph ơng pháp v đ ng đi hoàn ch nh dựa trên kho ng cách tối đa gi a xe và v t c n trong b n đồ. Tất nhiên, đ ng đi tìm đ c
(b) M c tiêu B t đầu M c tiêu B t đầu V t c n V t c n V t c n V t c n V t c n Đ ng di chuy n Đ ng di chuy n (a)
41
trong Voronoi th ng xa hơn đ ng tối u về tổng đ dài. Voronoi có m t h n ch là sự giới h n về kho ng cách c a các c m bi n v trí. Vì thu t toán tìm đ ng đi ch n kho ng cách tối đa gi a xe và v t c n trong môi tr ng nên các c m bi n có tầm ho t đ ng ng n c a xe s sai khi c m nh n vềmôi tr ng xung quanh.
Tuy nhiên, m t l i đi m quan tr ng c a ph ơng pháp Voronoi so với hầu h t các kỹ thu t tránh v t c n khác là kh năng thực thi. Cho m t k ho ch đ ng đi đư đ c l p bằng ph ơng pháp Voronoi, m t xe với các c m bi n kho ng cách nh laser hoặc siêu âm, có th đi theo đ ng Voronoi trong môi tr ng thực bằng cách s d ng thu t toán đơn gi n c a Voronoi, làm tăng tối đa các giá tr cực ti u c c b mà c m bi n c a nó đ c đ c. Hệ thống điều khi n này s gi cho xe đi đúng trên đ ng Voronoi, điều này s gi m thi u kh năng sai sót.
3.1.2ăPh ngăphápăchiaăô
ụ t ng c a ph ơng pháp chia ô là phân biệt rõ gi a khu vực hình h c, hoặc các ô là nh ng vùng trống và vùng b chi m gi b i v t c n. Có hai ph ơng pháp chia ô là chia ô chính xác và chia ô gần đúng.
Hình 3.2: Ph ơng pháp chia ô chính xác (a) và ph ơng pháp chia ô gần đúng (b) (Nguồn: Theo www-cs-faculty.stanford.edu)
Trong hình 3.2a mô t ph ơng pháp chia ô chính xác, trong đó đ ng biên c a các ô đ c xác đnh dựa trên giới h n hình h c c a v t c n. Các ô k t qu có th là nh ng ô hoàn toàn trống hoặc hoàn toàn b chi m gi , và vì v y k ho ch k ho ch đ ng đi trong m ng đ c thực hiện giống nh các ph ơng pháp trên.
M c tiêu M c tiêu V t c n V t c n V t c n B t đầu M c tiêu Đ ng di chuy n V t c n V t c n B t đầu M c tiêu (a) Đ ng di chuy n (b)
42
Nh c đi m chính c a chia ô chính xác là số l ng các ô, do sự tính toán khi lặp k ho ch đ ng đi ph thu c vào m t đ và đ ph c t p c a các v t c n trong môi tr ng. Do sự ph c t p khi thực hiện nên kỹ thu t chia ô chính xác ít khi đ c s d ng trong các ng d ng xe ch y tựđ ng mặc dù nó là sự lựa ch n đáng mơ ớc vì vẫn gi đ c nguyên tr ng môi tr ng.
Trong hình 3.2b mô t ph ơng pháp chia ô gần đúng là m t trong nh ng kỹ thu t phổ bi n nhất đ c s d ng cho việc l p k ho ch đ ng đi. D ng phổ bi n nhất c a ph ơng pháp này là chia ô kích th ớc cố đ nh. Kích th ớc c a ô không ph thu c vào đặc đi m c a v t c n trong môi tr ng, và các lối đi hẹp có th b mất do sự không chính xác tự nhiên c a m ng ghép. u đi m lớn nhất c a ph ơng pháp chia ô chính xác là tính toán rất đơn gi n khi lặp k ho ch đ ng đi.
3.1.3ăPh ngăphápătr ng th nĕng
Ph ơng pháp tr ng th năng t o ra m t tr ng hoặc m t đ chênh lệch ngang qua b n đồ th năng c a xe, đ h ớng dẫn xe đi đ n v trí m c tiêu từ nhiều v trí cho tr ớc. Ph ơng pháp tr ng th năng xem xe nh là m t chất đi m d ới tác d ng c a tr ng th năng nhân t o. Đi m m c tiêu tác đ ng m t lực hút lên xe và v t c n tác đ ng m t lực đẩy. Tổng h p c a các lực này s tác đ ng lên xe, lúc này đ c xem nh m t đi m trong không gian cấu hình. Giống nh m t tr ng th năng phẳng đ h ớng xe về phía m c tiêu đồng th i tránh va ch m với các v t c n đư đ c bi t tr ớc. Ph ơng pháp tr ng th năng cũng đ c s d ng trong các thu t toán tránh v t c n.
Hình 3.3: Tr ng th năng và tr ng lực đẩy bi u di n d ới d ng bi u đồđi m (Nguồn: Theo http://www.emeraldinsight.com)
43
Tr ng lực hút th hiện qua sựt ơng quan v trí đích và các đi m v trí xe trong môi tr ng. V trí càng xa thì véctơ lực càng hút càng lớn và ng c l i. Hàm th