Đề tài Nghiên cứu xây dựng phương pháp điều khiển Robot tự hành dựa trên Logic mờ

LỜI NÓI ĐẦU 4

CHƯƠNG I

TỔNG QUAN VỀ ROBOT TỰ HÀNH 6

1.1.Giới thiệu chung 6

1.2.Phân loại robot tự hành 8

1.2.1.Robot tự hành di chuyển bằng chân(Legged Robot) 8

1.2.2.Robot tự hành di chuyển bằng bánh(Wheel Robot tự hành) 9

1.3.Phương pháp điều hướng cho robot tự hành 14

1.3.1.Phương pháp điều hướng có tính toán 15

1.3.2.Phương pháp điều hướng robot theo phản ứng 16

1.3.3.Phương pháp điều khiển lai ghép 18

CHƯƠNG II

MÔ HÌNH ĐỘNG HỌC VÀ KỸ THUẬT ĐỊNH VỊ CHO ROBOT TỰ HÀNH 19

2.1.Mô hình động học cho robot 19

2.1.1.Mô hình bánh xe robot 20

2.1.2.Phương trình động học robot 21

2.2.Kỹ thuật định vị cho robot tự hành 24

Chương III

CƠ SỞ VỀ LOGIC MỜ VÀ ĐIỀU KHIỂN MỜ 26

3.1.Giới thiệu về logic Mờ (Fuzzy Logic) 26

3.2.Một số khái niệm cơ bản 30

3.2.1.Định nghĩa tập mờ và các thuật ngữ liên quan 30

3.2.2.Bộ điều khiển Mờ 37

CHƯƠNG IV

XÂY DỰNG THUẬT TOÁN VỀ ỨNG DỤNG LOGIC MỜ TRONG KỸ THUẬT DẪN HƯỚNG CHO ROBOT TỰ HÀNH VÀ MÔ PHỎNG TRÊN MATLAB – SIMULATINK 39

4.1. Giới thiệu về Matlab Simulink và Fuzzy Logic Toolbox 39

4.1.1.Matlab Simulink 39

4.1.2.Fuzzy Logic Toolbox 42

4.2.Xây dựng bộ điều khiển Fuzzy Logic Controller (FLC) trên Fuzzy Logic Toolbox 43

4.2.1.Thuật toán điều khiển Mobile robot, định nghĩa các biến vào ra 43

4.2.2.Xác định tập mờ 45

4.3.Xây dựng và mô phỏng Mobile robot trên Matlab Simulink 53

4.3.1.Xây dựng mô hình Mobile robot 53

4.3.2.Xây dựng sơ đồ khối toàn bộ của Mobile robot 54

4.3.4.Kết quả mô phỏng quá trình 55

CHƯƠNG V

XÂY DỰNG MÔ HÌNH ROBOT TỰ HÀNH 58

5.1. Xây dựng sơ đồ khối hoạt động của robot 58

5.2. Xây dựng khối điều khiển cho Mobile robot 60

5.2.1. Khối xử lý tín hiệu 60

5.2.2. Khối mạch công suất 64

5.2.3.Gia công các khối mạch 70

5.2.3.Cảm biến 72

5.4.Thiết kế cơ khí 72

5.5.Kết quả thực nghiệm 72

PHỤ LỤC 76

 

doc97 trang | Chia sẻ: lethao | Lượt xem: 4722 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu xây dựng phương pháp điều khiển Robot tự hành dựa trên Logic mờ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
người lái xe ô tô là một ví dụ, khi anh ta lái xe chạy trên đường, trong đó ngưới lái xe được coi là thiết bị điều khiển và chiếc xe được coi là đối tượng điều khiển. Biết rằng người đó, hay thiết bị điều khiển có nhiệm vụ trọng tâm là điều khiển chiếc xe ô tô tới đích, song để hiểu rõ được phương thức thực hiện nhiệm vụ đó cũng cần xem xét anh ta phải xử lý những thông tin gì và xử lý chúng ra sao. Đại lượng điều khiển thứ nhất là là con đường trước mặt. Anh ta có nhiệm vụ điều khiển chiếc xe đi đúng làn đường quy định, tức là phải luôn giữ cho xe nằm trong phần đường bên phải kể từ vạch phân cách, trừ những trường hợp phải vượt xe khác. Để làm được công việc đó, thậm chí anh ta không cần biết chính xác rằng xe của anh ta hiện thời cách vạch phân cách bao nhiêu mét, chỉ cần nhìn vào con đường trước mặt, anh ta cũng có thể suy ra được rằng xe hiện đang cách vạch phân cách nhiều hay ít và từ đó đưa ra quyết định phải đánh tay lái sang phải mạnh hay nhẹ. Đại lượng điều khiển thứ 2 là tốc độ xe. Với nguyên tắc, để chuyến đi được thoải mái, xe tiết kiệm nhiên liệu, anh ta có nhiệm vụ giữ cho tốc độ xe được ổn định, tránh không phanh hoặc tăng tốc khi không cần thiết. Giá trị về tốc độ của xe mà người đó giữ cũng phải phụ thuộc nhiều vào môi trường xung quanh như thời tiết, cảnh quan, mật độ xe trên đường…và cũng phụ thuộc thêm anh ta có quen con đường đó hay không. Tuy nhiên quy nhiên luật điều khiển này cũng không phải là cố định. Giả sử phía trước có xe đi chậm hơn, vậy thì thay vì giữ nguyên tốc độ, anh ta phải tạm thời thực hiện một nhiệm vụ khác là giảm tốc độ xe và tự điều khiển cho xe chạy theo một tốc độ mới, phù hợp với sự phản ứng của xe trước mặt cho tới khi anh ta cho xe vượt được xe đó. Ngoài những đại lượng điều khiển trên mà người đàn ông phải đưa ra, anh ta có nhiệm vụ theo dõi tình trạng của xe như phải tìm hiểu xem trước làm mát của máy có tốt không? Áp suất dầu cao hay thấp, lượng nhiên liệu còn đủ hay không? Từ đó để có thể phân tích, nhận định kịp thời các lỗi của xe. Đối tượng điều khiển là chiếc xe o tô phải có những tham số thay đổi cần phải được theo dõi và thu thập thường xuyên cho công việc đưa ra các quyế định về đại lượng điều khiển. Các tham số đó là áp suất hơi trong nốp, nhiệt độ máy… Sự thay đổi các tham số đó, anh ta nhận biết được có thể trực tiếp qua đèn tín hiệu trong xe, song cũng có thể gián tiếp qua phản ứng của xe với các đại lượng điều khiển. Người đàn ông trong quá trình lái xe đã thực hiện tuyệt vời chức năng của một bộ điều khiển, từ thu thập thông tin, thực hiện thuật toán điều khiển (trong đầu ) cho đến khi đưa ra tín hiều điều khiển kịp thời mà không cần phải biết một cách chính xác về vị trí, tốc độ, tình trạng của xe. Hoàn toàn ngược lại với khái niệm điều khiển chính xác, người đàn ông chỉ cần đưa ra những đại lượng điều khiển theo nguyên tăc xử lý ”mờ” như : + Nếu xe hướng nhẹ ra vạch phân cách thì đánh tay lái nhẹ sang phải. + Nếu xe hướng đột ngột ra ngoài vạch thì đánh mạnh tay lái sang phải. + Nếu đường có đồ dốc lớn thì về số. + Nếu đường thẳng, khô, tầm nhìn không hạn chế và tốc độ chỉ hơi cao hơn binh thường một chút thì không cần giảm tốc độ. Các nguyên lý điều khiển “mờ” như vậy, tuy chúng có thể khác nhau về số các mệnh đề điều kiện, song có chung một cấu trúc: “ NẾU điều kiện 1 VÀ…VÀ điều kiện n THÌ quyết định 1 VÀ … quyết định m”. Vậy bản chất nguyên lý điều khiển như người đàn ông đã làm thể hiện bằng thuật toán xử lý xe của anh ta như thế nào? Có những hình thức nào để xây dựng lại mô hình điều khiển theo nguyên lý mờ của người lái xe?, làm cách nào để có thể tổng quát hóa chúng thành một nguyên lý điều khiển mờ chung và từ đó áp dụng cho các quá trình tương tự? Đó chính là vấn đề của Lý thuyết điều khiển mờ. Đặc điểm cũng là ưu điểm của điều khiển mờ là xử lí những thông tin không chính xác hoặc không đầy đủ, đó là cách thức xử lí của bộ não con người được áp dụng đưa vào ngành kỹ thuật điều khiển. Đó cũng là điều không có trong hệ thống lý thuyết cổ điển. Trong lý thuyết cổ điển, một phần tử chỉ có thể có hoặc không thuộc vào một tập hợp đang xét hay nói cách khác độ phụ thuộc của nó chỉ là 0 hoặc 1. Một tập hợp mờ trong lý thuyết mờ, độ phụ thuộc của một phần tử có thể là giá trị bất kỳ nằm trong khoảng đơn vị [0,1]. Như vậy ta thấy rằng tập hợp mờ là một khái niệm suy rộng của tập hợp kinh điển, điều đó có ý nghĩa rất lớn trong kỹ thuật điều khiển. Chúng ta vẫn quen với việc khảo sát một hàm với một tập xác định và một tập giá trị kinh điển, nhưng một hàm phụ thuộc thì không thể ánh xạ tất cả các phần tử trong tập hợp Mờ, hay trong thực tế không thể giải quyết tất cả các trường hợp của một vấn đề. Cho nên đối với một tập hợp Mờ thì số lượng hàm phụ thuộc là không xác định và điều này nó cho phép những hệ thống Mờ có được tiện ích tối đa trong một tình huống cho trước. Như vậy khái niệm tập hợp và ánh xạ trong lý thuyết Mờ rất rộng lớn nên đủ khả năng để ta mô hình hoá các vấn đề thực tế phức tạp một cách đơn giản dễ hiểu. Với các biến ngôn ngữ (thường sử dụng) làm cho các vấn đề kỹ thuật có dữ liệu mơ hồ trở nên chính xác, dễ kiểm tra. Từ đó logic Mờ giúp ta có những hệ thống điều khiển ổn định và có chi phí thấp. Những lĩnh vực mà logic mờ được ứng dụng và có nhiều thành tựu: - Điều khiển. - Định dạng mô hình mẫu (hình ảnh, âm thanh, xử lý dữ liệu). - Phân tích định lượng (nghiên cứu khoa học, quản lý). - Suy luận (giao diện thông minh, robot, kỹ thuật phần mềm). - Phục hồi thông tin (dữ liệu). 3.2.Một số khái niệm cơ bản 3.2.1.Định nghĩa tập mờ và các thuật ngữ liên quan a.Định nghĩa tập mờ: Tập mờ F xác định trên tập kinh điển M là một tập mờ mỗi phần từ của nó là một cặp các giá trị (x,µF(x)) trong đó có x Î M và μF là ánh xạ μF : M → [0, 1]. + Ánh xạ μF được gọi là hàm liên thuộc của tập mờ F. + Tập kinh điển M được gọi là tập kinh điển của tập mờ F. Ý nghĩa: 0 x y 1 Hình 3.1. Hàm đặc trưng Tập mờ F ánh xạ mỗi giá trị x của tập kinh điển thành một số nằm trong đoạn [0, 1] để chỉ mức độ phụ thuộc của nó vào tập M. Độ phụ thuộc bằng 0 tức là x không phụ thuộc tập M, độ phụ thuộc bằng 1 có nghĩa là nó là đại diện cho tập M. Khi mF(x) tăng dần thì độ phụ thuộc của x tăng dần. Điều này tạo nên một đường cong qua các phần tử của tập hợp. Một tập mờ gồm 3 thành phần: Miền làm việc [x1, x2]. Đoạn [0, 1] trên trục tung thể hiện độ phụ thuộc của tập mờ. Hàm đặc trưng mF(x) xác định độ phụ thuộc tương ứng của các phần tử đối với tập mờ. b.Miền xác định: 0 y 1 x x3 x1 x2 x3 Hình 3.2. Miền xác định Trong thực tế các phần tử có độ phụ thuộc lớn hơn 0 và bé hơn 1 thường không trải dài trên toàn miền làm việc của chúng. Trong hình 3.2 đoạn [x2, x3] là miền xác định của tập mờ. c.Hàm liên thuộc Cho một tập hợp A, ánh xạ là μA : A→R được định nghĩa như sau: được gọi là hàm liên thuộc của A. Một tập luôn có μX(x) = 1 với mọi x được gọi là không gian nền (tập µ Miền tin cậy Miền xác định 1 Hình 3.3. Các đặc tính của hàm phụ thuộc d. Độ cao, miền xác định và miền tin cậy của tập mờ - Độ cao của tập mờ F (định nghĩa trên cơ sở M) là giá trị H=sup μF(x), xÎM Một tập mờ với ít nhất một phần tử có độ phụ thuộc bằng 1 được gọi là tập mờ chính tắc, tức là H=1. Ngược lại một tập mờ F với H<1 được gọi là tập mờ không chính tắc. Miền xác định của tập mờ F (định nghĩa trên cơ sở M ), được kí hiệu bởi S là tập con của M thỏa mãn: S= {x Î M | μF(x)>0 }. - Miền tin cậy của tập mờ F(định nghĩa trên cơ sở M ), được kí hiệu T, là tập con của M thỏa mãn: T={x Î M | μF(x)=1 }. e. Biến ngôn ngữ Biến ngôn ngữ là phần chủ đạo trong các hệ thống dùng logic Mờ. Về cơ bản biến ngôn ngữ là loại biến mà giá trị của nó là những từ, những câu nói theo ngôn ngữ tự nhiên hoặc không tự nhiên. Ví dụ trong trường hợp mô tả tốc độ ta có thể có các biến ngôn ngữ đặc trưng cho các tập mờ sau: rất chậm, chậm, trung bình, nhanh, rất nhanh. f. Hàm đặc trưng Mức độ thỏa mãn của một giá trị vật lý vào khái niệm ngôn ngữ được gọi là độ phụ thuộc. Đối với biến liên tục, mức độ này được biểu diễn bởi một hàn gọi là hàm đặc trưng. Hàm đặc trưng là ánh xạ tập hợp các giá trị vật lý thành tập giá trị phụ thuộc với các giá trị ngôn ngữ. Dưới đây là một số dạng hàm đặc trưng: x 0 x 1 0 1 y y Dạng tuyến tính Là dạng đơn giản nhất, thường dùng mô tả các khái niệm chưa biết hay chưa rõ ràng. 0 x 1 0.5 y a b g Dạng dường cong Công thức xác định độ phụ thuộc x: 0 1 0.5 y x b g Dạng hình chuông Độ phụ thuộc x được xác định : y 0 1 x y α β Dạng hình thang Độ phụ thuộc x được xác định: y 0 1 x Dạng tam giác Độ phụ thuộc x được xác định: y 0 1 x Dạng L Độ phụ thuộc x được xác định : y 0 1 x Dạng Γ Độ phụ thuộc x được xác định : g.Mệnh đề hợp thành, luật hợp thành Mệnh đề hợp thành Khái niệm: Mệnh đề hợp thành tương ứng với một luật điều khiển thường có dạng : IF THEN . Các quy tắc hợp thành mờ thường dùng: + Quy tắc Mandani: Nếu hệ thống có nhiều đầu vào và nhiều đầu ra thì mệnh đề tổng quát có dạng như sau: IF N= ni and M = mi and … Then R = ri and K=ki and… + Quy tắc hợp thành MIN: giá trị của mệnh đề hợp thành mờ là một tập mờ B’ định nghĩa trên nền Y (không gian nền của B) và có hàm liên thuộc: mB’ = min{mA, mB(y)}. + Quy tắc hợp thành PROD: Giá trị của mệnh đề hợp thành mờ B’ định nghĩa trên nền Y (không gian nền của B ) và có hàm liên thuộc : mB’ = mAmB(y). Luật hợp thành Luật hợp thành mờ là tên chung gọi mô hình R biểu diễn một hay nhiều hàm liên thuộc cho một hay nhiều mệnh đề hợp thành. Nói cách khác, đó chính là tập hợp của nhiều mệnh đề hợp thành. Các luật hợp thành được xây dựng theo các quy tắc hợp thành. Như thế sẽ có các luật hợp thành khác nhau như: + Luật hợp thành MAX-MIN + Luật hợp thành MAX- PROD + Luật hợp thành SUM – MIN + Luật hợp thành MAX – PROD + Luật hợp thành SUM-PROD h.Giải mờ Giải mờ là quá trình xác định rõ giá trị đầu ra từ hàm phụ thuộc của tập mờ. Có 3 phương pháp chính thường được dùng trong bước này: Phương pháp cực đại Phương pháp điểm trọng tâm Phương pháp độ cao 3.2.2.Bộ điều khiển Mờ Cấu trúc bên trong một bộ điều khiển mờ có dạng như hình 3.7 nó gồm 3 khâu : + Mờ hóa +Thực hiện luật hợp thành + Giải mờ R1: NẾU…THÌ… H2 H1 Rq:NẾU…THÌ… … … … x1 x2 MỜ HÓA GIẢI MỜ HỢP THÀNH Hình 3.7. Mô hình cấu trúc bên trong một bộ điều khiển mờ Một bộ điều khiển mờ hoạt động theo nguyên lý như sau: Luật điều khiển Thiết bị thực hiện hợp thành Giao diện đầu ra Giao diện đầu vào BỘ ĐIỀU KHIỂN MỜ Đối tượng ĐK Thiết bị đo Hình 3.8. Sơ đồ nguyên lý một bộ điều khiển mờ Các nguyên lý thiết kế hệ thống điều khiển mờ : - Giao diện đầu vào gồm các khâu : Mờ hóa, các khâu hiệu chỉnh tỷ lệ, tích phân, vi phân… - Thiết bị hợp thành: sự triển khai luật hợp thành Mờ. - Giao diện đầu ra gồm : khâu giải mờ và các khâu trực tiếp với đối tượng. Các bước xây dựng bộ điều khiển mờ: - Bước 1 : định nghĩa tất cả các biến ngôn ngữ vào/ra. - Bước 2 : xác định các tập mờ cho từng biến ngôn ngữ vào/ra (mờ hóa). - Bước 3: xây dựng luật hợp thành. - Bước 4 : chọn thiết bị hợp thành. - Bước 5 : giải mờ và tối ưu hóa CHƯƠNG IV XÂY DỰNG THUẬT TOÁN VỀ ỨNG DỤNG LOGIC MỜ TRONG KỸ THUẬT DẪN HƯỚNG CHO ROBOT TỰ HÀNH VÀ MÔ PHỎNG TRÊN MATLAB – SIMULATINK Như ở Chương II và Chương III đã đề cập tới vấn đề xây dựng mô hình động học cho robot tự hành kiểu 3 bánh và lý thuyết về điều khiển mờ. Trong Chương IV này sẽ đi vào xây dựng mô hình robot trên phần mềm mô phỏng Matlab- Simulink, và cũng trên đó một bộ điều khiển mờ sẽ được xây dựng và sử dụng để điều khiển mô hình robot đó. Nội dung chương này bao gồm: + Giới thiệu về Matlab Simulink. + Giới thiệu về Fuzzy Logic ToolBox. + Xây dựng bộ điều khiển Fuzzy control trong Fuzzy Logic Toolbox. + Xây dựng và mô phỏng robot được điều khiển bằng bộ điều khiển Fuzzy control. 4.1. Giới thiệu về Matlab Simulink và Fuzzy Logic Toolbox Matlab (Matrix Laboratory) là phần mếm tính toán, mô phỏng được ứng dụng rộng rãi trong nhiều lĩnh vực khoa học và trở thành công cụ tính toán kỹ thuật hàng đầu, bao gồm phân tích dữ liệu, thiết kế mô phỏng…rất phù hợp cho những bài toán về điều khiển tự động và xừ lý tín hiệu. Matlab có nhiều tính năng về đồ họa, có thể vẽ các đặc tuyến bất kỳ trên mặt phẳng hai chiều hoặc không gian 3 chiều. Matlab còn có khả năng lập trình như một ngôn ngữ thực sự, có cấu trúc lệnh giống Pascal hoặc C. 4.1.1.Matlab Simulink Được viết tắt từ Simulation and Link, là một chương trình đi chung với Matlab, là một chương trình mô phỏng rất tốt cho các hệ thống tự động. Đây là một chương trình đồ họa cho phép mô phỏng các hệ thống bằng cách sử dụng các khối trong thư viện Simulink và kết nối chúng lại với nhau một cách linh hoạt theo ý muốn bằng cách nhấp nhả chuột. Simulink có thể mô phỏng hầu hết các hệ thống phi tuyến, tuyến tính… Simulink cho phép chúng ta dễ dàng xây dựng các mô hình từ đầu, hoặc lấy các mô hình đã tạo sẵn và thêm những khối cho chúng. Simulink cho phép chúng ta thay đổi các thông số của các khối trong hệ thống. Ta có thể sử dụng tất cả các công cụ phân tích trên Matlab, do đó sẽ rất dễ dàng để lấy kết quả tính toán được để tiếp tục mô phỏng, phân tích và làm trực quan hóa chúng. Simulink biến máy tính trở thành một phòng thí nghiệm thu nhỏ cho việc mô phỏng, mô hình hóa và phân tích hệ thống mà điều này rất khó làm trong thực tế. Hình 4.1. Giao diện phần mềm Matlab version 7.0.4 Tổng quát, Simulink là một phần mềm sử dụng cho việc mô hình hóa, mô phỏng và phân tích hệ thống động. Nó hỗ trợ cả hai hệ thống phi tuyến và tuyến tính, mô phỏng trong khoảng thời gian liên tục, các khoảng thời gian lấy mẫu. Mô hình có thể được mô phỏng bằng các phương pháp phân tích mô hình từ các Menu của Simulink hoặc từ cửa sổ lệnh của Matlab. Có thể sử dụng đồng hồ đo, dao động kí hoặc các khối hiển thị kết quả để lấy kết quả mô phỏng. Từ đó có thể thay đổi các thông số của hệ thống để được kết quả như ý muốn. Sau đó các kết quả mô phỏng có thể được đưa vào vùng làm việc của Matlab để xử lý tiếp. Ngoài ra để phục vụ cho việc mô phỏng các hệ thống khác nhau trên máy tính, Matlab được tích một bộ công cụ toolbox với nhiều mô hình dành cho việc mô phỏng các hệ thống khác nhau như: xử lý tín hiệu số, hệ thống tự động điều khiển, hệ thống điện, mạng nơ ron, hệ thống suy luận mờ… Hình 4.2. Cửa sổ thư viện công cụ mô phỏng Simulink Chương trình mô phỏng Simulink được gọi ra từ chương trình chính Matlab bằng lệnh >>simulink hoặc nút trên thanh công cụ của Matlab. Cửa sổ xây dựng mô hình mô phỏng như hình 4.3 dưới đây. Hình 4.3. Cửa sổ xây dựng mô hình 4.1.2.Fuzzy Logic Toolbox Fuzzy Logic Toolbox là tập hợp những hàm xây dựng trong môi trường tính toán số của Matlab. Nó cung cấp nhiều công cụ hữu ích cho người sử dụng để tạo và soạn thảo hệ thống suy luận mờ ( FIS ) trong Command Windown của Matlab hoặc chúng có thể xây dựng riêng bằng ngôn ngữ lập trình mà gọi các hệ thống mờ trong Fuzzy Logic Toolbox. Người sử dụng có thể làm việc bằng các dòng lệnh đó, những Toolbox này thiên về những công cụ giao diện đồ họa (GUI) để giúp người sử dụng hoàn tất công việc một cách dễ dàng hơn. Hình 4.4. Fuzzy Logic Toolbox 4.2.Xây dựng bộ điều khiển Fuzzy Logic Controller (FLC) trên Fuzzy Logic Toolbox 4.2.1.Thuật toán điều khiển Mobile robot, định nghĩa các biến vào ra Như mô hình Mobile robot đã xây dựng ở Chương II, robot gồm 3 bánh, 2 bánh chủ động ở phía sau được gắn với 2 động cơ, 1 bánh lái phía trước có khả năng quay tự do. Nhiệm vụ của Mobile robot là di chuyển dọc theo tường và duy trì một khoảng cách xác định với tường. Nó sẽ được gắn hai cảm biến đo khoảng cách và đo góc của trục robot so với hướng di cần chuyển. Trong mô hình điều khiển này thì các yếu tố như nhiễu, ma sát trượt, lực quán tính của xe sẽ được bỏ qua. Ở đây ta chỉ xét tới các yếu tố liên quan tới robot là góc θ, khoảng cách Xđ từ tâm robot tới tường. Bộ phận được tác động để điều khiển robot là 2 động cơ gắn với 2 bánh phải và trái. Giả sử ta cho robot chạy theo một đường có khoảng cách so với tường là Xđ. Khi robot di chuyển, nó bị lệch ra khỏi đường đó, lúc đó sẽ có sự sai lệch cả về vị trí và tư thế của nó so với yêu cầu. Bộ điều khiển sẽ có nhiệm vụ xử lý các tín hiệu báo về từ các cảm biến để xác định các sai lệch, từ đó đưa ra các tín hiệu điều khiển 2 động cơ như thế nào đó để robot về quỹ đạo ban đầu. Bộ điều khiển mờ được thiết kế trong Fuzzy Logic Toolbox sẽ có đầu vào là các sai lệch về vị trí ∆ex (bao gồm sai lệch Âm và sai lệch Dương), sai lệch về góc ∆et (bao gồm sai lệch Âm và sai lệch Dương). y x X sai lệch Âm sai lệch Dương ∆ex ∆et Hình 4.5. Robot trong tọa độ Decade Bộ điều khiển sẽ có hai tín hiệu đầu vào là sai lệch góc ∆et và sai lệch khoảng cách ∆ex, hai đầu ra là hai tín hiệu điều khiển 2 động cơ chủ động, thực tế thì đó là các xung điện điều khiển tốc độ hai động cơ. Sơ đồ khối toàn bộ hệ thống được thể hiện ở hình 4.5. Giá trị của các sai lệch về góc định hướng θ là ∆et sẽ nằm trong khoảng từ -0,3 đến 0,3 radian. Các giá trị sai lệch về khoảng cách ∆ex sẽ nằm trong khoảng từ -4 inch đến 4 inch (khoảng -100mm đến 100mm). Giá trị đầu ra của bộ điều khiển mờ ( FLC ) sẽ là các giá trị vận tốc góc bánh phải (ωr) , bánh trái ( ωl ). Các giá trị này còn phụ thuộc sự ràng buộc về kết cấu cơ khí của robot. Trong trường hợp này ta chọn dải từ -3 đến 3 rad/s Kết quả tính toán ∆ex và ∆et Fuzzy Logic Controller ROBOT sensor θ , x ∆ex ∆ex wl wr Hình 4.6. Sơ đồ khối toàn bộ Mobile robot 4.2.2.Xác định tập mờ Miền giá trị vật lý cơ sở của các biến ngôn ngữ -Tín hiệu sai lệch giữa góc đặt như trên chọn trong khoảng : -0,3≤ ∆et ≤0,3 (rad) - Sai lệch khoảng cách nằm trong khoảng : -4 ≤ ∆ex ≤ 4 (inch) - Tín hiệu đầu ra, vận tốc góc bánh trái và bánh phải : -3 ≤ ωl ≤ 3 rad/s -3 ≤ ωr ≤ 3 rad/s Số lượng tập mờ ( giá trị ngôn ngữ ) Về nguyên tắc, số lượng tập mờ cho mỗi biến ngôn ngữ thường nằm trong khoảng từ 3 đến 10 giá trị. Nếu số lượng tập mờ nhỏ hơn 3 thì ít có ý nghĩa, vì không thể thực hiện được việc chi tiết hóa các phương án xử lý. Nếu lớn hơn 10 thì đòi hỏi người lập trình phải xử lý một khối lượng lớn các suy luận, phải nghiên cứu đầy đủ để đồng thời phân biệt khoảng từ 5 đến 9 phương án khác nhau và phần cứng phải có khả năng lưu trữ lớn, cũng như khả năng xử lý nhanh đặc biệt trong bài toán điều hướng robot hoạt động trong môi trường thực (là bài toán yêu cầu cần có tốc độ xử lý và khả năng lưu trữ rất lớn). Đối với quá trình điều khiển robot có thể chọn giá trị ngôn ngữ như sau : + ∆ex Î {ÂM, KHÔNG, DƯƠNG} + ∆et Î {ÂM, KHÔNG, DƯƠNG} + ωr Î {CHẬM, TRUNG BÌNH, NHANH} + ωl Î {CHẬM, TRUNG BÌNH, NHANH} Các hàm liên thuộc Đây là điểm cực kì quan trọng vì quá trình làm việc của bộ điều khiển mờ phụ thuộc rất nhiều vào dạng và kiểu hàm liên thuộc. Do vậy cần chọn kiểu hàm liên thuộc có phần chồng lên nhau và phủ kín miền giá trị vật lý, để trong quá trình điều khiển không xuất hiện “lỗ hổng” và tránh trường hợp với một giá trị vật lý rõ đầu vào x0 mà tập mờ đầu ra có độ cao bằng không (miền xác định là tập rỗng ) và bộ điều khiển không thể đưa ra một quyết định điều khiển nào được gọi là hiện tượng “cháy nguyên tắc”. Mặt khác, hàm liên thuộc được chọn sao cho miền tin cậy của nó chỉ có một phần tử, hay nói cách khác chỉ tồn tại một điểm vật lý có độ phụ thuộc bằng độ cao của tập mờ. Đối với quá trình điều khiển Mobile robot có 4 tập mờ. Mỗi tập mờ có 3 biến ngôn ngữ, tương ứng với nó là các giá trị ngôn ngữ. + Sai lệch khoảng cách Δex và sai lệch góc định hướng Δet có có các biến giá trị AM ( Âm ), KHONG ( Không ), DUONG ( Dương ). + Giá trị đầu ra là vận tốc góc ωl và ωl có các biến giá trị CHAM ( Chậm ), TRUNGBINH ( trung bình ), NHANH ( nhanh ). Mỗi giá trị ngôn ngữ sẽ được gắn với một hàm phụ thuộc dạng tam giác. 1 0.5 0 0 4 2 -2 Hàm phụ thuộc Sai lệch khoảng cách ( inch ) AM KHONG DUONG Hình 4.7. Hàm phụ thuộc của sai lệch khoảng cách Δex 1 0.5 0 0 0.3 0.15 -0.15 Hàm phụ thuộc Sai lệch góc định hướng Δet (radian) DUONG KHONG AM Hình 4.8. Hàm phụ thuộc của sai lệch góc định hướng Δet 1 0.5 0 0 3 1.5 -1.5 Hàm phụ thuộc Dải giá trị đầu ra vận tốc góc bánh phải ωr (rad/s) TRUNGBINH CHAM NHANH Hình 4.9. Hàm phụ thuộc đầu ra bánh phải ωr 1 0.5 0 0 3 1.5 -1.5 Hàm phụ thuộc Dải giá trị đầu ra vận tốc góc bánh trái ωl (rad/s) CHAM TRUNGBINH NHANH Hình 4.10. Hàm phụ thuộc đầu ra bánh trái ωl Rời rạc hóa các tập mờ - Hàm liên thuộc của sai lệch góc Δet là μ t(t) và được rời rạc tại 5 điểm : t Î {-0.3, -0.15, 0, 0.15, 0.3 } - Hàm liên thuộc của sai lệch khoảng cách ∆ex là μx(x) và được rời rạc hóa tại 5 điểm : X Î { -4, -2, 0, 2, 4 } - Hàm liên thuộc đầu ra ωr, ωl là μω(ω ) được rời rạc hóa tại 5 điểm: ω Î { -3, -1.5, 0, 1.5, 3 } Thứ tự quá trình xây dựng bộ Fuzzy Logic Cotroller được thực hiện trong Fuzzy Logic Toolbox theo thứ tự các hình dưới đây: Biến đầu vào Bộ hợp thành Lựa chọn luật hợp thành Phương pháp giải mờ Tên biến và giá trị Biến đầu ra Hình 4.11. Sơ đồ các biến vào/ra của FLC Hình 4.11.Xây dựng các biến vào ra cho FLC hình 4.12. Đặt giá trị cho các hàm phụ thuộc vào/ ra của FLC Xây dựng các luật hợp thành Từ kinh nghiệm thực tế mà ta xây dựng được 9 luật điều khiển : Bảng 4.1. Luật điều khiển cơ bản cho vận tốc góc bánh phải ωr Δex/Δet AM KHONG DUONG AM CHAM CHAM CHAM KHONG CHAM NHANH TRUNGBINH DUONG CHAM TRUNGBINH NHANH Bảng 4.2. Luật điều khiển cơ bản cho vận tốc góc bánh trái ωl Δex /Δet AM KHONG DUONG AM NHANH TRUNGBINH CHAM KHONG TRUNGBINH NHANH CHAM DUONG CHAM CHAM CHAM - Luật R1: NẾU Δex là AM VÀ Δet AM là THÌ ωr là CHAM VÀ ωl là CHAM - Luật R2: NẾU Δex là AM VÀ Δet là KHONG THÌ ωr là CHAM VÀ ωl là TRUNGBINH - Luật R3: NẾU Δex là AM VÀ Δet là DUONG THÌ ωr là CHAM VÀ ωl là CHAM - Luật R4: NẾU Δex là KHONG VÀ Δet là AM THÌ ωr là CHAM VÀ ωl là TRUNGBINH - Luật R5: NẾU Δex là KHONG VÀ Δet là KHONG THÌ ωr là NHANH VÀ ωl là NHANH - Luật R6: NẾU Δex là KHONG VÀ Δet là DUONG THÌ ωr là TRUNGBINH VÀ ωl là CHAM - Luật R7: NẾU Δex là DUONG VÀ Δet là AM THÌ ωr là CHAM VÀ ωl là CHAM - Luật R8: NẾU Δex là DUONG VÀ Δet là KHONG THÌ ωr là TRUNGBINH VÀ ωl là CHAM - Luật R9: NẾU Δex là DUONG VÀ Δet là DUONG THÌ ωr là NHANH VÀ ωl là CHAM Ví dụ một trường hợp luật R1 như hình 4.13, Mobile robot đi ra ngoài quỹ đạo, sai số khoảng cách một khoảng là Δex = AM (âm) và sai số góc định hướng Δet = AM. ICC r xm x ym y P 0 X Y q nhanh Chậm X Bên phải Bên trái Hình 4.13. Trường hợp robot đi sai khỏi quỹ đạo Lúc này, để về quỹ đạo ban đầu thì đòi hỏi bánh trái phải quay nhanh (NHANH ) và bánh phải quay chậm lại ( CHAM ) ứng với luật R1. Chọn thiết bị hợp thành Đối với trường hợp điều khiển Mobile robot, chúng ta sẽ chọn thiết bị thực hiện luật hợp thành theo phương pháp MAX- MIN. Chọn nguyên lý giải Mờ Giải mờ là quá trình xác định rõ giá trị đầu ra của bộ điều khiển. Việc chọn phương pháp giải mờ cũng gây ảnh hưởng đến độ phức tạp và trạng thái làm việc của hệ thống. Đối vơi bộ điều khiển Mờ FLC sử dụng cho Mobile robot ở đây ta dùng phương pháp điểm trọng tâm (Centroid ), bởi vì phương pháp này có sự tham gia của tất cả các kết luận điều khiển R1, R2, R3, R4, R5, R6, R7, R8, R9. Quá trình xây dựng luật điều khiển và hợp thành được tiến hành trên Fuzzy toolbox như trong hình 4.14 và 4.15. Hình 4.14. Xây dựng các luật điều khiển Hình 4.15. Các luật điều khiển Bộ điều khiển được mô hình hóa dưới dàng không gian 3D : Hình 4.16.Mô tả bộ điều khiển trên không gian 3D cho bánh phải Hình 4.17. Mô tả bộ điều khiển trên không gian 3D cho bánh trái Sau khi xây dựng xong, bộ điều khiển Mờ FLC sẽ được lưu dưới dạng một file FLC.fis. 4.3.Xây dựng và mô phỏng Mobile robot trên Matlab Simulink 4.3.1.Xây dựng mô hình Mobile robot Như ở chương II, phương trình mô tả động học của Mobile robot có dạng: (4.1) Trong đó, các thông số cơ bản của Mobile robot : + khoảng cách 2 bánh chủ động L= 200mm=7,8” + bán kính bánh chủ động r = 30mm = 1,18” Xây dựng trên Matlab Simulink ta có mô hình mobile robot như sau: Hình 4.18. Mô hình Mobile robot trên Simulink Khối gồm 2 đầu vào ωr (bánh phải) và ωl (bánh trái). Các khối Rr, Rl là các giá trị bán kính bánh xe robot. Integrator là các khối tính tích phân. Đầu ra là các giá trị về vị trí của robot trong tọa độ Decade P( X, Y, T), T là giá trị góc định hướng. Toàn bộ khối robot trên sẽ được tích hợp lại thành một khối trong Subsystem, đặt tên là robot ( hình 4.19). Hình 4.19. mô hình robot 4.3.2.Xây dựng sơ đồ khối toàn bộ của Mobile robot Mô hình hoạt động của robot xây dựng trên Matlab Simulink có thể được xây dựng dựa trên sơ đồ hình 4.6. Nó có dạng như sau : Hình 4.20. Sơ đồ khối mô phỏng của Mobile robot sử dụng bộ điều khiển FLC Sơ đồ trên gồm hai đầu vào Td và Xd là hai giá trị đặt ban đầu cho Mobile robot. Td là góc định hướng, ban đầu đặt Td = 0, tức là robot chạy song song với tường. Xev là khoảng cách từ robot tới tường , ban đầu đặt

Các file đính kèm theo tài liệu này:

  • docNghiên cứu xây dựng phương pháp điều khiển Robot tự hành dựa trên Logic mờ.doc