Điều khiển robot bằng logic mờ

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

pdf6 trang | Chia sẻ: oanhnt | Lượt xem: 1362 | Lượt tải: 1download
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
Tài liệu liên quan