http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
1
Lờ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.
Hà Nội, ngày 30/10/2005
Sinh viên:
Nguyễn Vũ Quang
Đoàn Nam Thái
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
2
c phục .......................................................... 36
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
3
PHẦ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)
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
4
I. 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 đó
Nguyễn Vũ Quang - Đoàn Nam Thái
5
a) b) c)
d) e)
f) g)
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
1
s∆
,
2
s∆
là
đoạn dịch chuyển
của 2 bánh chủ
động. Ta có
rs
rs
.
.
22
11
ϕ
ϕ
∆=∆
∆=
∆
với
1
12
12
ss
ssT
R
D
∆−∆
∆+∆
=
,
T
ss
12
∆−∆
=∆Ψ
Trong tiểu luận này, ta chỉ xét 2 trường hợp đặc biệt của chuyển động:
Khi
12
ss ∆=∆
:
∞=
D
R
,
0=∆Ψ
, robot đi theo quỹ đạo là đường thẳng (tiến hoặc lùi)
Khi
12
ss ∆−=∆
: 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
D
Ψ
, tọa
độ tại thời điểm thứ (i) được xác định như sau:
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
∆
∆
∆Ψ
+
⎥
⎥
⎥
⎦
)(
iD
iD
iD
iD
iD
iD
iD
iD
iD
Y
X
Y
X
Y
XIII. Giải bài toán tìm đường cho robot tự hành
1. Đặt vấn đề
Dò đường (navigation) là một khoa học (hay nghệ thuật) dẫn hướng robot tự hành di
chuyển trong không gian làm việc của nó (đất, nước, không khí...). Trong vấn đề dò
đường, bài toán được quan tâm nhiều nhất có lẽ là tìm đường về đích mà không chạm vật
cản trên đường đi. Có hai loại bài toán tìm đường cho robot: bài toán cục bộ (local) và bài
toán toàn cục (global). Trong bài toán toàn cục, bản đồ môi trường làm việc của robot
hoàn toàn được biết trước, vấn đề chính phải giải quyết là tìm được
đường đi cho robot
trước khi nó xuất phát. Ở bài toán cục bộ, môi trường làm việc của robot hoàn toàn không
được biết trước hoặc chỉ biết được một phần, robot hoàn toàn phải nhờ vào sự cảm nhận
môi trường thông qua cảm biến gắn trên nó để dò đường.
⎦
⎤
⎢
⎣
⎡
∆∆
∆−∆
=
⎥
⎦
⎤
⎢
⎣
⎡
∆
∆
)sin(
)cos(
xy
yx
Y
X
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
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
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
Đích )(t
ϕ
X
Hình 1.5. Không gian làm việc của robot trong mặt phẳng 2 chiều
Gọi:
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
9
)(t
θ
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:
),( OxBA
a
=
θ
+ Nếu dl<=dr thì robot quay sang phải:
),( OxBC
a
=
θ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:
),( OxCB
a
=
θ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:
),( OxAB
a
a
θ
=
°
− 25
a
θ
, sau đó hiệu chỉnh
)360,0[ °∈
a
θ
)
9
TH6: Chỉ có cảm biến bên phải phát hiện vật cản
Robot quay sang trái một góc
°25
(gán
a
θ
=
°
+ 25
a
θ
, sau đó hiệu chỉnh
)360,0[ °∈
a
θ
)
9
a
θ
=
°
− 45
a
θ
, hiệu chỉnh
)360,0[
°∈
a
θ
), 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
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
11
đ
S
đ
đ
S
S
đ
S
S
Hình 1.8. Sơ đồ quá trình tìm đường của robot dùng 3 cảm biến
http://www.ebook.edu.vn
Robot tự hành
Nguyễn Vũ Quang - Đoàn Nam Thái
12
Kế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)
Hỏi:
Robot 3 cảm biến có khả năng chạm vật cản không?
Trả lời:
Robot 3 cảm biến vẫn có khả năng chạm vật cản. Tuy nhiên khả nă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.
Hỏi:
Robot có thể về tới đích không?
Trả lời:
Không phải lúc nào robot cũng về được tới đích, dù trên lý thuyết có
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. http://www.ebook.edu.vn
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).