Tải bản đầy đủ (.docx) (18 trang)

Chương 2 Thuật toán tránh vật cản.docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (515.19 KB, 18 trang )

Hình 2.3 robot đi vào góc nhỏ và có những khe hở nhỏ giữa các bức tường, robot tìm được đường đi ngược lại.Hình 2.4 Robot gặp vật cản khi bám tường, khi đó robot thay đổi quỹ đạo vòng qua vật cản (B-C) rồi trở lại nhiệm vụ bám tường ( C-D)
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
Chương 2
THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO
ROBOT TỰ HÀNH
1. GIỚI THIỆU
Bài toán lập quỹ đạo di chuyển cho robot tự hành có thể chia làm hai dạng : bài toán
toàn cục (global) và bài toán cục bộ (local). Ở bài toán toàn cục, môi trường làm việc của
robot được biết trước và từ đó đường đi tránh vật cản được tính toán từ lúc bắt đầu di
chuyển. Trong bài toán cục bộ, môi trường làm việc của robot hoàn toàn chưa bíết hoặc chỉ
biết một phần. Đối với bài toán này, các cảm biến gắn trên robot sẽ phát hiện vật cản để điều
khiển hệ thống dẫn hướng robot từ điểm đầu đến điểm đích mà không chạm vật cản.
Bài toán toàn cục tỏ rõ lợi thế là ta đã biết trước có đường đi (tối ưu ) tới đích hay không
trước khi robot khởi hành. Tuy vậy nó có hạn chế là đòi hỏi nhiều lệnh tính toán và bộ nhớ
và trong thực tế, yêu cầu biết trước tòan bộ môi trường khó khả thi. Trong khi đó, robot tìm
đường cục bộ chỉ biết được môi trường xung quanh qua sensor cảm nhận môi trường. Vì thế
robot tìm đường cục bộ có thể không hoàn thành việc đến đích (mặc dù thực tế có đường
đến đích )trong trường hợp đặc biệt. Tuy nhiên, yêu cầu tính toán, dung lượng nhớ thấp cùng
tính linh họat cao như tránh được vật cản ngay khi vật cản di chuyển động. Hiện nay cách
kết hợp toàn cục và cục bộ đang ngày càng phổ biến giúp robot có tính linh hoạt cao.
Nội dung của luận văn tập trung giải bài toán cục bộ, với robot omni di chuyển trong
mặt phẳng với các vật cản tĩnh, đích của robot là khuôn mặt người được bắt bằng một
webcam. Robot sẽ di chuyển tới vị trí người đang đứng và tránh các vật cản gặp phải trên
đượng đi. Việc phát hiện vật cản được thực hiện bởi 3 cảm biến siêu âm. Phần 2.2 dưới đây
sẽ trình bày các phương pháp xác định vật cản bằng cảm biến siêu âm hoặc camera, và sẽ
trình bày chi tiết thuật tóan sinh viên lựa chọn để thực hiện đề tài trong phần 2.3.
2. CÁC PHƯƠNG PHÁP TRÁNH VẬT CẢN
2.2.1 Phương pháp bám tường ( wall-following method)
Ở phương pháp này, robot di chuyển dọc theo vật cản với một khoảng cách định
trước. Phương pháp này thích hợp khi chúng ta không có một bản đồ cụ thể môi


trường hay một sự định vị rõ ràng. Phương pháp này còn được áp dụng khi chỉ có
những thông tin không đầy đủ, đại loại như “hành lang này sẽ dẫn đến cánh cửa kia
”, robot có thể sử dụng tường để định hướng quỹ đạo hoàn tất nhiệm vụ.
Thuật toán sử dụng trong phương pháp bám tường dựa trên sự biểu diễn “nhận thức”
(tri giác). Khái niệm này sử dụng thông tin từ các cảm biến siêu âm để thu nhận nhận
thức tổng quát về môi trường lân cận. Các thông tin này không có nghĩa là vị trí
chính xác của vật cản và hướng của tường. Ngược lại, các nhận thức tổng quát này
giúp robot nhận biết chính nó trên một hướng hợp lý hơn là một vị trí chính xác. Các
hướng này có thể được mô tả bằng các giá trị ngôn ngữ như là phía trước bên trái, ở
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 1
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
đằng xa hoặc rất chậm. Việc mô tả này được thực hiện bằng logic mờ và do đó,
logic mờ sẽ là chìa khóa của vấn đề.
Một đề tài về robot bám tường đã được tiến hành ở trung tâm nghiên cứu robotic
IKERLAN ở Tây Ban Nha đã cho thấy robot có thể tránh được tất cả chướng ngại
vật trong nhiều trường hợp thử nghiệm. Với một khoảng cách với tường cho trước là
0.6 m và vận tốc robot đạt được 0.45m/s dưới hai điều kiện : trước tiên robot không
bị “mù” theo bất cứ hướng nào, tức là bất kì vật cản nào cũng sẽ bị phát hiện bởi ít
nhất một cảm biến và thứ hai, tường và các vật cản phải tĩnh. Vật cản được robot
hiểu là một phần của tường và nếu khoảng cách giữa vật cản và tường quá lớn thì nó
sẽ bỏ qua.
a. Khái niệm nhận thức tổng quát :
Nhược điểm của cảm biến siêu âm là độ phân giải về hướng rất kém. Mặc dù
những cảm biến này rất chính xác phản ánh khoảng cách đến vật cản gần nhất bằng
tính phản xạ, nhưng vật cản lại có thể nằm bất cứ đâu trong một góc quét của cảm
biến. Hơn nữa khoảng cách này lại phụ thuộc vào bề mặt của vật cản, khoảng cách
và độ nghiêng của bề mặt so với trục cảm biến. Vì vậy rất khó để ngay lập tức mô tả
môi trường xung quanh từ dữ liệu cảm biến đưa về, chẳng hạn như độ cong của bức
tường. Khái niệm về nhận thức tổng quát tránh những khó khăn này bởi vì nó không

bảo đảm điều gì về việc phác thảo môi trường xung quanh. Thay vào đó, nó hướng
tới việc tạo ra một nhận thức chung chung về môi trường xung quanh từ dữ liệu từ
cảm biến và biểu diễn lại bằng vector, gọi là vector nhận thức tổng quát.
Để đáp ứng yêu cầu thì mỗi cảm biến siêu âm i được gán cho một vector nhận
thức , hướng của nó trùng với trục của cảm biến và độ dài là một hàm của khoảng
cách đo được theo công thức:
(2.1)
với và là khỏang cách xa nhất và gần nhất mà một vật cản được phát hiện, thì
được giới hạn với các cận 0 và 1 theo công thức:
(2.2)
Vector tổng quát p thì bao gồm các vectơ thành phần . Hướng của p là hướng của
tổng các vector thành phần và chiều dài bằng vector thành phần dài nhất
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 2
Obj100Obj101
Obj102
Obj103Obj104Obj105
Obj106Obj107Obj108
Obj109
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
Độ biến thiên vector tổng quát theo thời gian là đại lượng vô hướng tính theo
công thức:
= = ( - )pi dpidt di t dmax dmin∆ ∆
(2.3)
= -pmax vmaxdmax dmin
với là biến thiên nhận thức khi robot di chuyển trực diện tới vật cản với vận tốc
lớn nhất . Hơn nữa, chỉ có giá trị dương của là được xem xét, do đó biến thiên nhận
thức tương đối của cảm biến được tính :
(2.4)
Giá trị lớn nhất của biến thiên tương đối của các cảm biến kí hiệu là:

Hình 2.1 Robot tự hành trong 3 tình huống bám biên
Hình trên minh họa khái niệm nhận thức tổng quát trong 3 tình huống bám biên
của robot. Nhận thức tổng quát khi đối với góc tường (trường hợp a ) thể hiện bởi 3
vector. Một cạnh tường gần hơn được nhận thức bằng một cảm biến, cạnh còn lại
được nhận thức bằng hai cảm biến. Nhận thức sau thì không mạnh bằng nhận thức
đầu do khoảng cách xa hơn. Mô tả về tình huống này dạng ngôn ngữ như sau: nhận
thức tổng quát thì mạnh và liên quan đến phương pháp tuyến về bên phải và nơi nào
đó phía trước. Một tình huống hay gặp là robot ở vào vị trí “dead-end” (hình b) khi
robot dang di chuyển dọc theo tường bên phải. Khi robot đến cuối đường, vector
nhận thức biến thiên nhanh hơn về phía trước. Sự biến thiên nhanh hay chậm tùy
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 3
Obj110
Obj111Obj112Obj113
Obj114Obj115Obj116
Obj117
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
thuộc vào vận tốc của robot. Trong trường hợp góc tường mở (hình c), sự biến thiên
mạnh hơn ở phía sau bên phải.
Khái niệm về nhận thức tổng quát thì hoàn toàn phù hợp với việc mô tả bằng
ngôn ngữ với vô số tình huống của robot. Sự mô tả này thì đơn giản, được thực hiện
cùng với chuyển động của robot và được dùng như là ngõ vào của bộ luật trong giải
thuật dùng logic mờ. Lúc này thì hướng của chính xác của cảm biến không còn quan
trong nữa. Với giải thuật này robot có thể dễ dàng bám theo tường ngay cả khi chỉ có
một cảm biến phát hiện tường.
Một điều cần lưu ý rằng khái niệm nhận thức tổng quát là sự tổng hợp nhận thức
các cảm biến, do đó nó có tên là “tổng quát”. Ngay cả những cảm biến theo hướng
chuyển động là hướng về phía sau và nhận thức của chúng có vẻ không có giá trị
nhưng sự đóng góp của chúng vào nhận thức tổng quát là như nhau. Sử dụng ví dụ ở
hình dưới, nếu bỏ qua các cảm biến mà ta cho rằng không đóng góp vào chuyển

động của robot thì sẽ dẫn robot theo một hướng sai lầm. Nếu dữ liệu của cảm biến 1
và 8 không được quan tâm thì góc giữa vector và vận tốc v sẽ nhỏ hơn . Theo giá trị
ngôn ngữ có thể hiểu rằng: vector nhận thức tổng quát nằm đâu đó ở giữa phía trước
và bên trái. Kết quả là robot sẽ di chuyển sang bên phải xa dần bức tường. Nhưng
khi nó tiến gần bức tường đối diện thì vector sẽ hướng sang bên phải do thì giảm
còn thì tăng. Cứ thế robot sẽ di chuyển qua lại giữa hai bức tường do bức tường mà
robot bám theo dường như lúc nào cũng nằm phía sau robot do ta đã bỏ qua các cảm
biến cần thiết.
Hình 2.2 Robot sẽ di chuyển qua lại hai bức tường nếu ta không xét đến các cảm
biến và
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 4
Obj118Obj119Obj120Obj121Obj122Obj123
Obj124Obj125
Obj126
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
c. Kết quả thực nghiệm :
2.2. Phương phát phát hiện cạnh ( edge-detection)
Một phương pháp cũng khá phổ biến là dựa trên việc phát hiện cạnh (edge-
detection). Thuật toán đưa ra trong phương pháp này tìm cách phát hiện vị trí các
cạnh đứng và lái robot vòng qua các cạnh “thấy được” đó. Đường nối hai cạnh “thấy
được” xem như là biên của vật cản. Phương pháp này cũng có thể dùng cảm biến
siêu âm để phát hiện vật cản. Điểm bất lợi của phương pháp này là robot phải dừng
lại trước vật cản để thu thập thông tin. Tuy nhiên đây không phải điều khó khắc phục
với những máy tính xử lý nhanh trong tương lai.
Trong phương pháp dùng cảm biến siêu âm, robot đứng yên khi đang khi thực
hiện việc quét toàn cảnh môi trường làm việc. Sau khi áp dụng một số giải thuật
line-fitting , một kế họach chuyển động toàn cục được thiết lập cho quỹ đạo kế tiếp
của robot.
Hạn chế thường gặp của phương pháp này là độ chính xác của cảm biến siêu âm,

thường rơi vào các nguyên nhân sau :
 Khả năng định hướng kém : hạn chế việc xác định vị trí cạnh trong không gian, phụ
thuộc vào khỏang cách tới vật cản, và góc giữa bề mặt và trục phát sóng.
 Hiện tượng đọc chéo : gây ra bởi nhiễu sóng siêu âm từ các nguồn ngoài hay các cảm
biến gây nhiễu lẫn nhau. Các nhiễu này thường khó để lọc bỏ và gây khó khăn cho việc
tiến hành giải thuật.
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 5
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
 Sự phản xạ đều : khi góc của mặt phản xạ và trục cảm biến quá lớn, sóng phản xạ sẽ
không trở về nơi phát và coi như vật cản không được phát hiện, hoặc nhận biết vật cản
nhỏ hơn thực tế.
Bất cứ các nguyên nhân nào trên đây cũng đều ảnh hưởng đến thuật toán phát
hiện cạnh của vật cản ở một vị trí sai, hậu quả là quỹ đạo đưa ra không phù hợp.
2.2.3 Phương pháp biểu diễn vật cản bằng sơ đồ lưới xác định
Một phương pháp biểu diễn xác suất của vật cản trong một mô hình môi trường dạng
lưới ( grid-type world model) được phát triển tại đại học Carnegie-Mellon ở
Pennsylvania, Mỹ. Mô hình luới xác định này thì đặc biệt phù hợp với điều kiện các
dữ liệu thu từ cảm biến thì không chắc chắn, trong trường hợp này là cảm biến siêu
âm.
Trong lưới xác định ( certainty grid), vùng hoạt động của robot được biểu diễn bằng
một mảng hai chiều các phần tử hình vuông, gọi là các cell. Mỗi cell chứa một giá trị
xác định ( certainty value) gọi là CV thể hiện mức độ đáng tin cậy rằng có vật cản
xuất hiện trong cell đó. Với phương pháp này, CV sẽ được cập nhật bằng một hàm
xác suất có xét đến đặc điểm của cảm biến. Với cảm biến siêu âm có một tầm quan
sát hình nón sẽ trả về một giá trị đo hướng tâm khoảng cách đến vật cản gần nhất
nằm trong vùng hình nón, do đó không xác định cụ thể vị trí góc của vật thể. ( hình
dưới thể hiện vùng A trong đó một vật thể phải được định vị để cho ra kết quả đo là
d). Nếu một vật thể được phát hiện bởi cảm biến, nhiều khả năng vật thể này gần
trục cảm biến hơn là phần biên của hình nón. Trong phương pháp này hàm xác suất

sẽ tăng CV của các cell gần trục hơn là CV của các cell ở biên.
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 6
Obj127
Chương 2 Thuật toán tránh chướng ngại vật cho robot tự hành
——————————————————————————————————————
Hình 2.5 Sơ đồ lưới: một giá trị d đo được chứng tỏ sự tồn tại của
vật cản đâu đó trong vùng màu đen
Trong thí nghiệm, robot tự hành đứng yên khi thực hiện việc quét toàn cảnh môi
trường với 24 cảm biến. Kế tiếp, hàm xác suất được áp dụng với mọi giá trị khoảng
cách đo được để cập nhật lưới xác định. Cuối cùng, robot di chuyển đến vị trí mới
rồi dừng lại và lặp lại quá trình trên. Khi robot di chuyển hết căn phòng theo cách
này thì lưới xác định có thể xem như bản đồ tương đối chính xác của căn phòng.
Một quỹ đạo tổng quát có thể được tính toán off-line cho những lần hoạt động về
sau.
2.4. Phương pháp trường thế ( Potential Field Method)
Trong phương pháp này, vật cản gây ra một lực đẩy, khi mà mục tiêu lại áp dụng
một lực kéo với robot. Vector lực tổng hợp R bao gồm tổng của lực kéo từ mục tiêu
và lực đẩy từ vật cản được dùng để tính toán cho một vị trí của robot. Với R là lực
gây nên gia tốc trên robot, vị trí mới cho robot được tính toán bằng các thuật toán.
Phương pháp Virtual Force Field do Borenstein đưa ra sử dụng luới hai chiều theo hệ
tọa độ De-cac, gọi là luới biểu đồ ( histogram grid) C để biễu diễn vật cản. Mỗi ô
(i,j) trong lưới được gán một giá trị xác định (certainty value, CV ) kí hiệu là thể
hiện độ tin cậy việc tồn tại vật cản tại ô đó. Việc biểu diễn này khá giống với
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 7
Obj128
Obj129

×