CẤU TẠO PHẦN CỨNG VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TRONG ROBOT TỰ HÀNH
Trang 1Lời nói đầu
Robot tự hành (Mobile Robot) là một thành phần có vai trò quan trọng trong ngành Robot học Cũng với sự phát triển mạnh mẽ của các hệ thống Cơ - Điện tử, robot tự hành ngày một được hoàn thiện và càng cho thấy lợi ích của nó trong công nghiệp và sinh hoạt
Một vấn đề rất được quan tâm khi nghiên cứu về robot tự hành là làm thế nào để robot
có thể di chuyển tới một vị trí xác định mà có thể tự động tránh được các chướng ngại vật trên đường đi Tiểu luận này có mục đích đưa ra các phương pháp để giải quyết vấn
đề trên Trong phần một, chúng tôi xét 2 cách giải bài toán tìm đường cục bộ và toàn cục đối với một robot có mô hình động học cho trước, sau đó tiến hành mô phỏng thử nghiệm trên máy tính Phần hai của tiểu luận tập trung vào giới thiệu các cảm biến, các mạch phần cứng điều khiển một robot tự hành cụ thể đã cho chạy thử
Chúng em xin chân thành cảm ơn những gợi ý, chỉ dẫn rất quan trọng cho đề tài này của PGS.TS Tạ Duy Liêm Thầy cũng đã cũng cấp cho chúng em những kiến thức và tài liệu Robotics cần thiết trong học kỳ vừa qua Chúng em hy vọng đây sẽ là một tiểu luận
có ích cho những ai yêu thích đề tài này
Trang 2MỤC LỤC
PHẦN 1
GIẢI BÀI TOÁN TÌM ĐƯỜNG TRÁNH VẬT CẢN CHO ROBOT TỰ HÀNH 3
I Giới thiệu về robot tự hành 4
II Mô hình động học robot tự hành 6
III Giải bài toán tìm đường cho robot tự hành 7
1 Đặt vấn đề 7
2 Bài toán tìm đường cục bộ 8
3 Bài toán tìm đường toàn cục 13
PHẦN 2 CẤU TẠO PHẦN CỨNG VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TRONG ROBOT TỰ HÀNH 19
I Các loại cảm biến 20
1 Sensor quang (Optical Sensor) 20
2 Đĩa encoder 20
3 Công tắc hành trình 21
II Mạch điều khiển Robot 21
1 Khối nguồn 21
2 Khối điều khiển 22
3 Khối sensor 24
4 Khối hiển thị 25
5 Khối công suất điều khiển động cơ 27
III Các phương pháp điều khiển trong Robot tự hành 28
1 Phương pháp tạo encoder từ chuột máy tính 28
2 Phương pháp quét đèn led 7 thanh 30
3 Phương pháp tạo xung PWM để điều khiển tốc độ cho robot 33
IV Xây dựng một bài toán cho Robot tự hành 34
V Hạn chế Robot và phương pháp khắc phục 36
Trang 3PHẦN 1 GIẢI BÀI TOÁN TÌM ĐƯỜNG TRÁNH VẬT CẢN CHO ROBOT
TỰ HÀNH
¾ Giới thiệu về robot tự hành
¾ Mô hình động học của robot tự hành
¾ Giải bài toán tìm đường cho robot tự hành
9 Đặt vấn đề
9 Bài toán tìm đường cục bộ (local navigation)
9 Bài toán tìm đường toàn cục (global navigation)
Trang 4I Giới thiệu về robot tự hành
Robot tự hành hay robot di động (mobile robots, thường được gọi tắt là mobots) được
định nghĩa là một loại xe robot có khả năng tự dịch chuyển, tự vận động (có thể lập trình lại được) dưới sự điền khiển tự động để thực hiện thành công công việc được giao
Theo lý thuyết, môi trường hoạt động của robot tự hành có thể là đất, nước, không khí, không gian vũ trụ hay sự tổ hợp giữa chúng Địa hình bề mặt mà robot di chuyển trên đó
có thể bằng phẳng hoặc thay đổi, lồi lõm
Theo bộ phận thực hiện chuyển động, ta có thể chia robot tự hành làm 2 lớp: chuyển động bằng chân (legged) và bằng bánh (wheeled) Trong lớp đầu tiên, chuyển động có
được nhờ các chân cơ khí bắt chước chuyển động của con người và động vật (hình 1.1g,
h) Robot loại này có thể di chuyển rất tốt trên các định hình lồi lõm, phức tạp Tuy nhiên, cách phối hợp các chân cũng như vấn đề giữ vững tư thế là công việc cực kỳ khó khăn
Lớp còn lại (di chuyển bằng bánh) tỏ ra thực tế hơn, chúng có thể làm việc tốt trên hầu hết các địa hình do con người tạo ra Điều khiển robot di chuyển bằng bánh cũng đơn giản hơn nhiều, gần như luôn đảm bảo tính ổn định cho robot Lớp này có thể chia làm 3 loại robot: Loại chuyển động bằng bánh xe (phổ biến) (hình 1.1a, b, c, f, i), loại chuyển động bằng vòng xích (khi cần mô men phát động lớn hay khi cần di chuyển trên vùng đầm lầy, cát và băng tuyết) (hình 1.1d, e), và loại hỗn hợp bánh xe và xích (ít gặp)
Tiềm năng ứng dụng của robot tự hành hết sức rộng lớn Có thể kể đến robot vận chuyển vật liệu, hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay và thư viện;
robot phục vụ quét dọn đường phố, khoang chân không; robot kiểm tra trong môi trường nguy hiểm; robot canh gác, do thám; robot khám phá không gian, di chuyển trên hành tinh; robot hàn, sơn trong nhà máy; robot xe lăn phục vụ người khuyết tật; robot phục vụ sinh hoạt gia đình v.v
Mặc dù nhu cầu ứng dụng cao, nhưng những hạn chế chưa giải quyết được của robot tự hành, như chi phí chế tạo cao, đã không cho phép chúng được sử dụng rộng rãi Một nhược điểm khác của robot tự hành phải kể đến là còn thiếu tính linh hoạt và thích ứng khi làm việc ở những vị trí khác nhau Bài toán tìm đường (navigation problem) của robot
tự hành cũng không phải là loại bài toán đơn giản như nhiều người nghĩ lúc ban đầu
Trong tiểu luận này, bài toán tìm đường sẽ được giải quyết ở mức độ không quá phức tạp
Trang 5robot PUMA 560 c) Robot “con rùa” d) Robot Houdini di chuyển bằng bánh xích e) Robot bán tự động nghiên cứu ở vùng cực bắc f) Robot SRR và FIDO của NASA g) Robot tự hành bằng chân Spiderbot di chuyển trên sao Hỏa h)Robot sáu chân Genghis i) Robot Meet Timbot dùng test các phần mềm hệ thống nhúng trong phòng thí nghiệm
Trang 6II Mô hình động học robot tự hành
Mô hình kết cấu
Hình 1.2 Mô hình kết cấu của robot
Kết cấu robot lựa chọn gồm 4 bánh trong đó có 2 bánh chủ động (phía sau) và 2 bánh tùy động có khả năng quay tuỳ ý Với kết cấu cơ khí này robot có khả năng di chuyển rất linh hoạt: tiến, lùi và quay một góc bất kỳ
Động học của robot
Gọi ∆ , s1 ∆ là s2
đoạn dịch chuyển của 2 bánh chủ động Ta có
r s
r s
.2 2
1 1
và bán kính của 2 bánh chủ động
Hình 1.3 Động học của robot
T là khoảng cách giữa 2 bánh R D , ∆Ψ là bán kính quay và góc dịch chuyển của robot trong mặt phẳng nằm ngang Khi đó:
)( s2 s1
T
Trang 7∆ , y∆ : lượng dịch chuyển theo 2 phương của hệ tọa độ gắn với robot:
)sin(∆Ψ
=
∆x R D , ∆y=R D(1−cos(∆Ψ))
X
∆ , Y∆ : lượng dịch chuyển của robot theo 2 phương gắn với hệ tọa độ gốc:
Vị trí của robot được xác định bởi tọa độ gốc của D (X D và Y D) + góc định hướng Ψ , tọa D
độ tại thời điểm thứ (i) được xác định như sau:
) 1 (
) 1 (
) 1 (
) ) )
i D
i D
i D
i D
i D
i D
i D
i D
i D
Y
X Y
X Y
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 cho 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à đặc biệt tình huống xấu có thể xảy ra nếu bản đồ môi trường làm việc không được khai báo chính xác, yêu cầu biết trước hoàn toàn môi trường hoạt động cũng là một nhược điểm của nó Trong khi đó, robot tìm đường cục bộ chỉ biết được thông tin xung quanh qua sensor cảm nhận môi trường gắn cùng Vì thế, robot tìm đường cục bộ có thể không hoàn thành việc tới đích (mặc dù thực tế có đường đi tới đích), khái niệm tối ưu không có ý nghĩa trong bài toán này Tuy nhiên, yêu cầu tính toán, dung lượng nhớ thấp cùng tính linh hoạt cao (như tránh được vật cản ngay cả khi vật đó di động) khiến tìm đường cục bộ trở thành một công cụ mạnh của robot tự hành Hiện nay, cách tiếp cận kết hợp giữa cục bộ và toàn cục đang ở ngày càng phổ biến, giúp robot tự hành tăng tính linh hoạt và hiệu quả
Trong tiểu luận, chúng tôi tập trung vào giải quyết cả hai bài toán nhưng ở mức độ đơn giản Môi trường hoạt động của robot là một mặt phẳng, được giới hạn bởi các bức tường
Các vật cản được xem là vật cản hai chiều, tĩnh hoàn toàn Trong bài toán cục bộ, robot
)cos(
x y
y x Y
X
Trang 8đích cuối cùng là robot tự về được tới đích không chạm vật cản mà không cần bất cứ sự trợ giúp nào từ bên ngoài
2 Bài toán tìm đường cục bộ
Giải quyết hoàn toàn bài toán này khó khăn hơn nhiều so với giải quyết bài toàn toàn
cục Một cách tìm đường cục bộ khá hoàn hảo là phương pháp bản đồ nơron cực (Polar Neurol Map) của Michail G Lagoudakis (1998) dùng 16-32 cảm biến gắn trên con robot Normad (hình 1.1a, b) tạo trường cảm biến bao phủ vùng xung quanh robot, thuật toán sử dụng là thuật toán ánh xạ nơron tương đối phức tạp Do giới hạn của tiểu luận, phương pháp này không được đề cập đến
Phương pháp được đề cập đến ở đây sử dụng 3 cảm biến dò đường xác định khoảng cách
từ trung điểm hai bánh xe tới vật cản Tùy vào khoảng cách tới vật cản ứng với từng cảm
biến, ta xác định được phương hướng di chuyển robot phù hợp
Ý tưởng của phương pháp xuất phát từ một bài báo Cơ điện tử [1] Tuy nhiên luật dẫn hướng robot trong bài báo còn khá đơn giản, điều kiện yêu cầu hơi thô (như khoảng cách các vật cản phải lớn hơn kích thước robot), kết quả mô phỏng cho thấy thuật toán của bài báo tỏ ra nhiều bất cập: robot nhiều lúc chạm vật cản, lặp đi lặp lại một đoạn đường và khó thoát ra được Dựa theo nguyên lý của thuật toán đó, chúng tôi đã có những thay đổi và bổ sung để đem lại kết quả tìm đường hiệu quả hơn
Hình 1.4 Ba cảm biến của robot
Các cảm biến được đặt lệch một góc α (trong phần mô phỏng, chọn α = 25°) Khoảng cách lớn nhất (tính từ D) mà các cảm biến có thể nhận diện được vật cản là dmax; dmax
và αphải đảm bảo sao cho cảm biến có vùng kiểm tra đủ rộng để khi tiến thẳng, robot có thể nhận diện được vật cản
Y
Trang 9θ : góc dẫn hướng điều khiển chuyển động cho robot
Khi sensor không phát hiện vật cản thì θ∗(t)=ϕ(t), ngược lại thì θ∗(t)=θa(t)
Cách ứng xử của robot khi sensor phát hiện vật cản:
Có 7 tình huống khác nhau khi sensor phát hiện vật cản, mỗi tình huống cần có cách ứng
xử riêng
Hình 1.6 Các tình huống phát hiện vật cản
9 Tình huống 1 (TH1): cả 3 cảm biến đều phát hiện vật cản (Hình 1.6a) + Nếu dl>dr thì robot quay sang trái:θa =(BA,Ox)
+ Nếu dl<=dr thì robot quay sang phải: θa =(BC,Ox)
9 TH2: Chỉ có cảm biến bên trái không phát hiện vật cản (Hình 1.6b) Robot quay sang trái: θa =(CB,Ox)
9 TH3: Chỉ có cảm biến bên phải không phát hiện vật cản (Hình 1.6c) Robot quay sang phải: θa =(AB,Ox)
Trang 109 TH4: Chỉ có cảm biến ở giữa không phát hiện vật cản (Hình 1.6d) Robot quay sang phải một góc 90° (gán θa=θa− 90°, sau đó hiệu chỉnh
)360,0
∈
a
Khi robot đang quay hướng về đích, nếu phát hiện vật cản nó sẽ tiến hành chuyển hướng
quay luôn Để đảm bảo điều này, trong quá trính quay hướng về đích, mỗi lần robot quay một góc đơn vị (đv) nhỏ, ta phải cập nhật cảm biến
Sau khi robot chuyển hướng rồi tiến thẳng một đoạn, vẫn có khả năng robot chạm vật cản (nhất là ở những ngõ cụt), vì vậy khi robot quá gần vật ta tiến hành lùi lại 1 đoạn, quay một góc 45 sang phải (gán ° θa=θa − 45°, hiệu chỉnh θa∈[0,360°)), sau đó
cập nhật cảm biến
Hình 1.7 Khi khoảng cách nhỏ hơn hoặc bằng DI, DJ,
DK tức là robot quá gần vật
Trang 11Quay một góc đv hướng tới đích
Đã tiến đủ
Trang 12Kết quả mô phỏng cho thấy >90% các trường hợp robot có thể về đến đích mà không chạm vật cản
Hình 1.9 Một quá trình tránh vật cản của robot (mô phỏng)
đó ít xảy ra do robot có thêm thủ tục lùi lại khi cảm biến phát hiện vật cản quá gần robot Muốn robot hoàn toàn không chạm vật , ta cần có một hệ cảm biến bao phủ toàn bộ một vùng xung quanh robot cùng một thuật toán phức tạp hơn
đường đi tới đích, đó là một nhược điểm của các thuật toán đơn giản khi giải bài toán cục bộ
Hỏi: Ưu, nhược điểm của phương pháp này là gì?
đo khoảng cách cùng một thuật toán đơn giản, mà hiệu quả quá trình tìm đường của robot khá cao
Nhược điểm chính là robot không thể xác định đầy đủ biên của vật cản do chỉ có
3 cảm biến, vì vậy dẫn đến chuyện robot vẫn có thể chạm vật hoặc không về tới được đích
Trang 133 Bài toán tìm đường toàn cục
Khác với tìm đường cục bộ, tìm đường toàn cục giải quyết đường đi cho robot khi ta biết trước bản đồ của môi trường hoạt động, tức ngoài điểm khởi đầu và điểm đích ta còn biết được vị trí và hình dạng của các vật cản Tìm đường toàn cục tối ưu (quãng đường ngắn nhất) đem lại những kết quả thú vị như ở hình dưới
Hình 1.10 Đường đi ngắn nhất trong mê
cung xoắn
Có nhiều cách mô hình hóa môi trường làm việc của robot, ta xét một mô hình hay được
sử dụng là mô hình bản đồ không gian kết hợp (composite-space maps)
Trong bản đồ không gian kết hợp, môi trường làm việc của robot (2D) được chia làm các hình vuông nhỏ bằng cách kẻ lưới (grid) Thông tin được lưu trữ ứng với mỗi ô là vật cản
có nằm trên ô hay không, thông tin này được cho bởi một mảng 2 chiều mà mỗi chiều theo phương x hay phương y xác định vị trí mỗi ô vuông trên bản đồ Để tăng hiệu quả của bài toán, mô hình cần phải gần sát thực tế, tức ta phải thu nhỏ kích thước của ô vuông lưới để nó đánh giá chính xác vị trí vật cản ở mức độ cho phép
Biên của robot là đường tròn bảo vệ robot, tâm đường tròn là trung điểm của 2 bánh chủ động Tâm đường tròn, bán kính đường tròn được coi là tâm và bán kính robot.Yêu cầu đường tròn này không được giao với vùng vật cản Khác bài toán cục bộ (khi mà ta không có thông tin nào trước về vật cản), vật cản ở đây đã được xác định, tức là có thể xử
lý thông tin vật cản trước khi cho robot chạy Nhằm đơn giản hóa bài toán, các vật cản
được kéo giãn (expanded) theo mọi phía một lượng bằng đúng bán kính của robot, đồng
thời robot được rút lại còn đúng một điểm, điểm này chính là tâm robot Như vậy thay vì tìm đường cho robot tránh vật cản ta chỉ cần tìm đường cho điểm tâm robot tránh các vật cản đã được kéo giãn Vật cản được kéo giãn sẽ được mô hình hóa bằng các ô lưới như
đã nói ở trên
Trang 14Hình 1.11 Vật cản bên trong được “giãn ra” một khoảng bằng bán kính robot, các
ô lưới màu trắng là các ô lưới không chứa vật cản (đã được kéo giãn)
Mỗi ô lưới có 8 ô liền kề Chuyển động của điểm tâm robot được thực hiện giữa các ô lưới Điểm tâm robot được xác định là ở tâm ô vuông lưới Điểm tâm có thể chuyển động theo 8 hướng để đến được tâm của các ô liền kề
Hình 1.12 Chuyển động của tâm robot giữa các ô lưới
Nhiệm vụ dẫn đường cho robot do bộ xác định đường đi (path planner) đảm nhiệm Công
việc của bộ xác định bao gồm:
+ Sử dụng một thuật toán nhằm mã hóa một cấu trúc dữ liệu tương ứng với các ô lưới
vuông (thường dưới dạng mảng 2 chiều)
+ Từ kết quả mã hóa, thực hiện thuật toán lập đường đi cho robot
Ta sử dụng một thuật toán mã hóa rất hiệu quả dựa trên phương pháp biến đổi khoảng cách (distance transform method) của Kang và Jarvis (1986) Mục đích của thuật toán là
tạo ra 1 mảng 2 chiều lưu giữ giá trị quãng đường ngắn nhất để tới đích của mỗi ô lưới
Bằng cách này, ta sẽ giải được bài toán yêu cầu quãng đường di chuyển từ điểm xuất phất đến điểm đích là ngắn nhất Trong phương pháp của Kang và Jarvis, bộ xác định khởi
đầu ở ô đích và lan truyền (propagate) các khoảng cách (hay quãng đường) qua không
gian trống Một cách hình tượng giống như khi ta ném một hòn đá xuống ao, sóng nước lan ra, chúng bị triệt tiêu khi gặp vật cản, chỗ nào sóng nước loang càng thưa thì quãng đường tới đích (vị trí ném) càng lớn (hình 1.13)
Trang 15Hình 1.13 Hiện tượng lan truyền sóng nước Quãng đường đi được của sóng tương đương với độ thưa của sóng Thuật toán sử dụng một mảng hai chiều đại diện cho mỗi ô lưới, giá trị của mảng là khoảng cách ngắn nhất mà ô lưới đó đến ô đích
Ta khởi đầu cho mảng các giá trị khoảng cách tương đối lớn ứng với mỗi ô lưới, cụ thể bằng xmax.ymax trong đó xmaxlà số ô lưới trong một hàng, ymaxlà số ô lưới trong một cột, ngoại trừ ô đích được đặt bằng 0 (vì 0 là khoảng cách từ ô đích đến chính nó) Thuật toán
sẽ kiểm tra sự tồn tại của vật cản, và không tính toán cho các phần tử mảng ứng với ô lưới có vật cản Vì vậy thuật toán lập đường đi sau này không cần phải kiểm tra ô vuông lưới có vật cản hay không, vật cản được đặt giá trị khoảng cách lớn nên đường đi tự nhiên
sẽ không qua chúng
Thuật toán lan truyền
1 Bản đồ môi trường được kẻ lưới thành một ma trận 1 xmax,1 ymax
2 Cấp phát một mảng 2 chiều 0 xmax+1, 0 ymax+1 để lưu giữ các giá trị khoảng cách
Các hàng và cột ngoài cùng tạo thành một đường chữ nhật bao (gọi là hình chữ nhật canh giữ) nhằm đơn giản tính toán không phải xét các trường hợp đặc biệt khi ô lưới ở biên không có đủ 8 ô kề
3 Khởi tạo cho mảng khoảng cách bằng cách đặt ô đích =0 và tất cả các ô khác một giá trị khá lớn= (xmax.ymax)
4 Tính toán khoảng cách bằng phép lặp repeat , thực hiện quét thuận và quét ngược qua
mảng
Repeat { quét thuận}
// quét thuận từ trên xuống dưới
For các hàng của bản đồ (1 ymax) do
For các cột của bản đồ (1 xmax) do
If ô lưới không có vật cản Then
Trang 16If khoảng cách này < giá trị khoảng cách hiện tại của ô đang xét Then
Gán giá trị khoảng cách của ô đang xét bằng khoảng cách mới // quét thuận từ dưới lên trên
For các hàng của bản đồ (ymax 1) do
For các cột của bản đồ (1 xmax) do {Làm tương tự trên}
{Quét ngược}
// quét ngược từ dưới lên trên
For các hàng của bản đồ (ymax 1) do
For các cột của bản đồ (xmax 1) do {Làm tương tự trên}
// quét ngược từ trên xuống dưới
For các hàng của bản đồ (1 ymax) do
For các cột của bản đồ (xmax 1) do {Làm tương tự trên}
Until Mảng khoảng cách hội tụ
Sử dụng phương pháp quét thuận và ngược (hình 1.15) giúp giá trị khoảng cách của các ô lưới đạt nhỏ nhất, mỗi lẫn quét (duyệt) một ô, giá trị của khoảng cách hiện tại của ô đó được so sánh với tổng giá trị khoảng cách mỗi ô liền kề + khoảng cách ô liền kề tới nó (khoảng cách giữa 2 ô nằm ngang hoặc dọc so với nhau là 1, giữa 2 ô chéo nhau là
2 (hình 1.14)) Giá trị khoảng cách nào nhỏ nhất sẽ được gán lại cho ô đang xét Quá trình quét sẽ hoàn tất (hội tụ) khi mảng không thay đổi giá trị khoảng cách nữa
Trang 1710.6 55 55 55 5 4 3 2 1 0 1 10.2 9.2 8.2 55 5.4 4.4 3.4 2.4 1.4 1 1.4
9.8 8.8 7.8 6.8 5.8 4.8 3.8 2.8 2.4 2 2.4 10.2 9.2 8.2 7.2 6.2 5.2 4.2 3.8 3.4 3 3.4
d)Quét ngược 1 9.4 8.4 7.4 6.4 5.4 4.4 3.4 2.4 1.4 1 1.4
9.8 55 55 55 5 4 3 2 1 0 1 10.2 9.2 8.2 55 5.4 4.4 3.4 2.4 1.4 1 1.4
9.8 8.8 7.8 6.8 5.8 4.8 3.8 2.8 2.4 2 2.4 10.2 9.2 8.2 7.2 6.2 5.2 4.2 3.8 3.4 3 3.4
e) Quét ngược 2 (đã hội tụ) 9.4 8.4 7.4 6.4 5.4 4.4 3.4 2.4 1.4 1 1.4
10.2 9.2 8.2 55 5.4 4.4 3.4 2.4 1.4 1 1.4
9.8 8.8 7.8 6.8 5.8 4.8 3.8 2.8 2.4 2 2.4 10.2 9.2 8.2 7.2 6.2 5.2 4.2 3.8 3.4 3 3.4
Trang 18Hình 1.16 mô tả một ví dụ tìm đường đi cho một bản đô 5×11 Các ô gạch đen là các ô có
vật cản Chỉ sau một lần lặp repeat, các giá trị khoảng cách đã hội tụ Sau khi tạo giá trị khoảng cách cho mỗi ô, đường đi được xác định bằng thuật toán đơn giản sau
Thuật toán lập đường đi
Bắt đầu ở ô xuất phát Xét các ô liền kề xem ô nào có giá trị khoảng cách < giá trị khoảng cách của ô xuất phát hay không
If không có Then kết thúc, không tìm được đường đi Else {Có đường đi}
Đưa ô xuất phát vào đường đi
Repeat Xét các ô liền kề để tìm ô có giá trị khoảng cách thấp nhất
Chuyển tới ô liền kề
Đưa ô đó vào đường đi
Until tới ô đích End
Hình 1.16f) cho thấy một đường đi từ ô tọa độ (1, 3) để tới đích có tọa độ (10,2)
Dưới đây là hình ảnh mô phỏng robot tìm đường toàn cục
Hình 1.17 Mô phỏng robot tìm đường toàn cục
quả của phương pháp chỉ tốt khi các ô lưới có kích thước đủ nhỏ để xác định đúng biên của vật cản Nếu kích thước ô lưới quá lớn, phương pháp trên sẽ không còn ý nghĩa tối ưu