Các phương pháp thông thường để điều khiển robot thường không đủ nhanh khi môi trường
và vị trí đích bị thay đổi. Khó khăn chủ yếu khi điều khiển robot là môi trường thường không
biết trước, tại thời điểm lập trình khó xác định đâu là hành động tốt nhất do các kích thích mà
robot thu được tại thời điểm hiện tại lại dựa vào các tư thế trước đó của robot.
Trong bài này, chúng tôi đưa ra một phương pháp mới để điều khiển robot, đó là dựa vào hệ
thống mờ với cấu trúc ghi nhớ đường đi. Ưu điểm của phương pháp này là hệ thống mờ có thể
"nhớ được quá khứ". Mặc dù không thể biết trước kết quả của mọi hành động, cấu trúc ghi
nhớ đường đi có thể loại bỏ những hành động tạo nên tình huống không thuận lợi trước đó, do
đó tối ưu hoá được quá trình hoạt động của robot tại từng thời điểm.
6 trang |
Chia sẻ: hoang10 | Lượt xem: 511 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Điều khiển robot bằng logic mờ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
LĨNH VỰC NGHIÊN CỨU CƠ BẢN
ĐIỀU KHIỂN ROBOT BẰNG LOGIC MỜ
ThS. Vũ Anh Đào
Khoa Kỹ thuật Điện tử 1
Tóm tắt: Trong bài này, chúng tôi sử dụng logic mờ để điều khiển một đối tượng di động -
robot. Mỗi chuyển động được định nghĩa bằng một tập mờ dựa vào vị trí robot, giá trị của
sensor, khoảng cách và góc so với vị trí đích. Để robot tránh chướng ngại vật, một bộ ghi nhớ
đường đi được tạo ra để robot có thể tìm được đường đi mới khi nó gặp chướng ngại vật. Bài
báo này bao gồm phần 1 giới thiệu chung về phương pháp này. Phần 2 giới thiệu qua về các
hệ thống mờ. Phần 3 giới thiệu bộ mô phỏng robot Khepera và các phép biến đổi biến cần
thiết cho các hệ thống điều khiển. Phần 4 giới thiệu mô hình bộ điều khiển và phần 5 chỉ ra
các kết quả đạt được.
1. Giới thiệu
Các phương pháp thông thường để điều khiển robot thường không đủ nhanh khi môi trường
và vị trí đích bị thay đổi. Khó khăn chủ yếu khi điều khiển robot là môi trường thường không
biết trước, tại thời điểm lập trình khó xác định đâu là hành động tốt nhất do các kích thích mà
robot thu được tại thời điểm hiện tại lại dựa vào các tư thế trước đó của robot.
Trong bài này, chúng tôi đưa ra một phương pháp mới để điều khiển robot, đó là dựa vào hệ
thống mờ với cấu trúc ghi nhớ đường đi. Ưu điểm của phương pháp này là hệ thống mờ có thể
"nhớ được quá khứ". Mặc dù không thể biết trước kết quả của mọi hành động, cấu trúc ghi
nhớ đường đi có thể loại bỏ những hành động tạo nên tình huống không thuận lợi trước đó, do
đó tối ưu hoá được quá trình hoạt động của robot tại từng thời điểm.
2. Các hệ thống mờ
Một hệ thống mờ điển hình được chỉ ra trên hình 1. Đầu vào của hệ thống là các giá trị rõ (ví
dụ: giá trị sensor). Khối mờ hoá biến đổi chúng thành các giá trị mờ. Khối hợp thành mờ sử
dụng các luật mờ, kết hợp với các đầu vào mờ để tạo nên đầu ra mờ. Cuối cùng, khối giải mờ
sẽ biến đổi chúng, tạo thành các đầu ra rõ, được sử dụng để điều khiển hệ thống.
Hình 1. Sơ đồ khối của một hệ thống mờ
Luật mờ được xây dựng dựa trên ngôn ngữ tự nhiên, sử dụng các biến ngôn ngữ (distance,
angle, công suất motor) kết hợp với các tập mờ (near, far...)
Ví dụ:
Nếu khoảng cách là gần và góc là dương thì công suất motor là dương và bé
3. Môi trường mô phỏng
Bộ mô phỏng robot Khepera được sử dụng để kiểm tra hệ thống điều khiển có cấu trúc ghi
nhớ đường đi. Robot có 8 sensor ( đến ), mỗi hướng có 2 sensor. Để đơn giản, mỗi 0S 7S
Bộ mờ hoá Bộ giải mờ
Các luật mờ
Khối
hợp thành mờ
Đầu vào rõ Đầu ra rõ
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN
nhóm 2 sensor được chuyển đổi thành một giá trị bằng cách lấy trung bình các giá trị đọc
được. Do đó, các sensor được sắp xếp để tạo nên 4 giá trị tương ứng với các vị trí ahead,
behind, left và right.
Hình 2. Cấu tạo đơn giản hoá của sensor
Môi trường mô phỏng Khepera tạo nên tại mỗi vị trí của Khepera một góc α giữa robot và
trục x. Tuy nhiên, góc cần quan tâm là góc giữa vị trí của robot và đích (β ).
Hình 3. Tính toán góc giữa robot và các vị trí đích
Gọi là khoảng cách giữa robot và đích , d ( ),r rx y là toạ độ của robot và ( )', 'x y là toạ độ
của đích, là góc giữa đường đường nối robot-đích và trục x, ta có: γ
( ) ( )2 2' 'r rd x x y y= − + −
( )( )arcsin ' /ry y dγ = −
Ta có thể tính được β theo cách:
Nếu α + và γ > π 0α > thì ( )β = π − α − γ
Nếu α + và γ ≤ π 0α ≥ thì ( )β = π − α + γ
Nếu thì 0α < ( )β = −π + α + γ
Hướng của robot được xác định theo góc β−α và được mô phỏng trên hình 4.
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN
left
aheadbehin
right
0
π/43π/4
π
-3π/4
-π/2
-π/4 < β - α ≤ π/4 → ahead
π/4 < β - α ≤ 3π/4 → left
-3π/4 < β - α ≤ -π/4 → right
3π/4 < β - α ≤ -3π/4 → behin
Hình 4. Hướng chuyển động của robot
4. Mô hình bộ điều khiển
4.1 Các biến ngôn ngữ
Đầu vào bộ điều khiển mờ có 6 biến ngôn ngữ:
+ 4 biến đọc từ sensor: ahead, behin, left, right.
+ angle (góc) giữa robot và đích ( )β (theo radian)
+ distance (khoảng cách tới đích) ( )d .
Đầu ra bộ điều khiển mờ là hai biến ngôn ngữ, đó là công suất cấp cho mỗi động cơ bước:
động cơ left và right.
0100=β
đích
Path[ 'β ]
Hình 5. Cơ cấu ghi nhớ đường
Ngoài ra, còn một số biến vào khác trong cơ cấu ghi nhớ đường đi để tránh cho robot khỏi các
vật cản. Cơ cấu ghi nhớ đường đi Path[ 'β ] bao gồm một vector 360 vị trí tương ứng với góc
(theo độ). Path[ ] có giá trị bằng 0, có nghĩa là đường đi chưa đúng (gặp va chạm), khi đó
robot sẽ bị ngăn lại bằng một hành động của cơ cấu ghi nhớ đường đi. Path[ 'β ] có giá trị bằng
1, có nghĩa là robot được phép đi đường đó.
β 'β
Do vector nhớ đường được biểu thị bằng góc β với kβ = + γ , là hằng số (giả sử k α là
hằng số, chỉ biến đổi theo x và ), khi đó, y β sẽ biến đổi theo khi γ x và thay đổi. y
Như trên ta đã tính được ( ) ( ) ( )( )2arcsin ' / ' 'r r ry y x x y yγ = − − + − 2 . Để tính β khi x
và thay đổi, ta sẽ cộng hoặc trừ đi mức biến đổi của , đó là y γ
( ) ( ) ( )( )2arcsin /r r ry y x x y y+ ∆ + ∆ + + ∆ 2 , trong đó ,x y∆ ∆ là các mức biến đổi theo
trục x và trục . Nếu thay đổi thì ta sẽ lấy y α β cộng hoặc trừ đi sự thay đổi đó, phụ thuộc
vào phương trình được sử dụng để tính β .
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN
4.2 Tập mờ
6 biến ngôn ngữ trên được chia thành các tập mờ sau:
Công suất động cơ (các biến ra) được chia thành 5 tập mờ: negative_high, negative_medium,
zero, positive_medium, positive_high.
angle ( )β được chia thành 5 tập mờ: negative_big, negative_medium, zero, positive_medium,
positive_big.
distance ( )d được chia thành 4 tập mờ: very_far, far, near, very_near.
(a) Góc (b) Khoảng cách
(c) Công suất
Hình 6. Các tập mờ
4.3 Luật mờ
Do số biến vào lớn (mỗi biến có ít nhất 4 tập mờ) nên để đơn giản, ta sẽ loại bỏ các luật ít có
hoặc không có khả năng xảy ra, các luật tạo ra những ảnh hưởng giống nhau đối với việc di
chuyển robot. Các luật cơ bản sẽ được chia làm 3 nhóm theo hướng di chuyển của robot: đi
thẳng (khi không có vật cản hoặc khi vật cản ở xa), rẽ (để về đích) và đi vòng (để tránh vật
cản)
STT góc β ahead left right behind distance left motor right
motor
1 Z VF VF PH PH
2 Z VF F PH PH
3 Z F VF PH PH
4 Z F F PH PH
5 VN Z Z
6 PM VF PM PH
7 PM F PM PH
8 NM VF PH PM
9 NM F PH PM
10 PB VF NH PH
11 PB F NM PH
12 NB VF PH NH
13 NB F PH PM
14 Z N VF PM PH
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN
15 Z N F PM PH
16 Z VN VF NM PH
17 Z VN F NM PH
18 Z N N PH PM
19 Z N VN PH NM
20 Z VN N PH NM
21 Z VN VN PH NH
22 N N PM NM
23 VN N PH NH
24 N VN PH NH
25 VN VN PH NH
26 N N NM PM
27 VN N NH PH
28 N VN NH NH
29 VN VN NH NH
Bảng 1: Luật mờ (VF: very_far, F: far, VN: very_near, N: near, Z: zero, PM:
positive_medium, PG: positive_big, NM: negative_medium, NB: negative_big, PH:
positive_high, NH: negative_high, 1-5: đi thẳng, 6-13: rẽ, 14-29: đi vòng)
Do tồn tại mệnh đề kết quả kép trong các luật nên nó được chia làm hai luật với cùng một
mệnh đề điều kiện, mỗi luật tương ứng với một motor. Ví dụ:
IF angle là NB AND distance là VF AND Path[ 'β ] THEN righ motor là PH và left motor là
NH
Mệnh đề này sẽ được chuyển thành hai mệnh đề sau:
IF angle là NB AND distance là VF AND Path[ 'β ] THEN righ motor là PH
IF angle là NB AND distance là VF AND Path[ 'β ] THEN left motor là NH
Chỉ số của vector ghi nhớ đường đi là góc giữa robot và đích (theo độ). 'β
Hình 7. Surface của bộ điều khiển mờ
4.4. Hợp thành mờ và giải mờ
Trong hệ thống này, ta sử dụng phương pháp hợp thành mờ MAX-MIN và phương pháp giải
mờ trung bình trọng số cực đại.
4.5. Kết quả
Một số thí nghiệm đã được thực hiện trong các môi trường khác nhau và dưới đây là một số
kết quả đạt được. Giả sử các đầu đọc của 4 sensor nhận giá trị trong khoảng từ 0 (không có
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN
vật cản) đến 1024 (chạm vật cản). khoảng cách nhận giá trị từ 0 đến 100. Công suất mỗi động
cơ trong khoảng từ -10 (công suất lùi cực đại) đến 10 (công suất tiến cực đại).
Với môi trường lý tưởng, như hình 8, cần 522 bước để tới đích dù có hay không có cơ cấu ghi
nhớ đường đi do thiếu các vật cản có thể chặn robot.
Hình 8. Ví dụ đường đi số 1
Với môi trường như trong hình 9 thì cần 754 bước để đi tới đích với cơ cấu ghi nhớ đường.
Nếu không có cơ cấu ghi nhớ đường, robot sẽ bị chặn lại khi nó hết đường do các cản gây ra.
Hình 9. Ví dụ đường đi số 2
5. Kết luận
Các kết quả đạt được đã được mô phỏng bằng hệ thống logic mờ với số bước thực hiện ít hơn
khoảng 40% so với việc sử dụng các luật rõ. Do có cơ cấu ghi nhớ đường, robot sẽ không bị
dừng lại trong các tình huống khó khăn.
Hiệu quả của cơ cấu ghi nhớ đường đã được chứng minh. Trong nhiều trường hợp, robot
không thể tới đích nếu không có nó.
Trong trường hợp không biết rõ vị trí của robot (vị trí x và y) do chúng được sử dụng để tính
, góc sai trong cơ cấu ghi nhớ đường sẽ được phân tích. Nếu có mẫu trong phép chia x cho y
thì trong phần mềm sẽ có sự điều chỉnh. Nếu không có mẫu trong phép chia thì phương pháp
này không thích hợp để sử dụng.
β
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI