1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình bài tập tổng hợp cơ điện tử (nghề cơ điện tử trình độ cao đẳng)

61 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Bài Tập Tổng Hợp Cơ Điện Tử
Tác giả Nguyễn Thái Thuận, Trần Văn Linh
Trường học Trường Cao Đẳng Nghề Ninh Thuận
Chuyên ngành Cơ Điện Tử
Thể loại Giáo trình
Năm xuất bản 2019
Thành phố Ninh Thuận
Định dạng
Số trang 61
Dung lượng 1,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong toán học, việc khảo sát một hàm truyền với một tập xác định và một tập với 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 t

Trang 1

TRƯỜNG CAO ĐẲNG NGHỀ NINH THUẬN

Ban hành kèm theo Quyết định số: ngày tháng năm của

Trường cao đẳng nghề Ninh Thuận

Năm 2019

Trang 2

TUYÊN BỐ BẢN QUYỀN

Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép

dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo

Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm

Trang 3

LỜI GIỚI THIỆU

Để thực hiện biên soạn giáo trình đào tạo nghề Cơ điện tử ở trình độ Cao Đẳng Nghề và Trung Cấp Nghề, giáo trình Bài tập tổng hợp cơ điện tử là một trong những giáo trình môn học đào tạo chuyên ngành được biên soạn theo nội dung chương trình khung được Bộ Lao động Thương binh Xã hội và Tổng cục Dạy Nghề phê duyệt Nội dung biên soạn ngắn gọn, dễ hiểu, tích hợp kiến thức và kỹ năng chặt chẽ với nhau, logíc

Khi biên soạn, nhóm biên soạn đã cố gắng cập nhật những kiến thức mới có liên quan đến nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nội dung lý thuyết và thực hành được biên soạn gắn với nhu cầu thực tế trong sản xuất đồng thời có tính thực tiển cao

Nội dung giáo trình được biên soạn với dung lượng thời gian đào tạo 60 giờ gồm có:

Bài MH39-01: Lý thuyết mờ

Bài MH39-02: Ứng dụng logic mờ trong điều khiển

Bài MH39-03: Bộ điều khiển tỷ lệ PID

Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học và công nghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiên thức mới cho phù hợp Trong giáo trình, chúng tôi có đề ra nội dung thực tập của từng bài để người học cũng cố và áp dụng kiến thức phù hợp với kỹ năng

Ninh Thuận, ngày tháng năm 2017

Tham gia biên soạn

1 Nguyễn Thái Thuận

2 Trần Văn Linh

Trang 4

Mục lục

Nội dung

TUYÊN BỐ BẢN QUYỀN 1

LỜI GIỚI THIỆU 2

Bài 1: LÝ THUYẾT MỜ 5

1.1 Một số khái niệm cơ bản 5

1.1.1 Định nghĩa tập mờ 6

1.1.2 Logic mờ 8

2.1 Thiết kế hệ thống mờ 9

2.1.1 Các yếu tố xây dựng mô hình Logic mờ 9

2.1.2 Các phép toán của logic mờ 10

2.1.3 Cấu trúc bên trong một bộ điều khiển mờ có dạng 11

Bài 2 ỨNG DỤNG LOGIC MỜ TRONG ĐIỀU KHIỂN 13

2.1 Thiết kế ứng dụng 13

1 Bài tập 1: Xe tránh vật cản dùng sóng siêu âm 13

2 Bài tập 2: điều khiển robot bám line 19

2.2 Thực hành lắp ráp 23

2.2.1 Lắp ráp phần cứng 23

2.2.2 Code xử lý robot tránh vật cản sử dụng cơ sở logic mờ 24

Bài 3 BỘ ĐIỀU KHIỂN TỶ LỆ PID 29

3.1 Giải thuật PID 29

3.1.1 Propotional (tỉ lệ) 29

3.1.2 Derivative (đạo hàm) 30

3.1.3 Integral (tích phân) 31

3.2 Thực hành lắp ráp 32

Step 1: Chuẩn bị vật tư 32

Step 2: Lắp motor servo 32

Step 3: lắp ráp xe 34

Step 4: lắp modul Bluetooth 35

Step 5: Lắp cảm biến dò line 35

Trang 5

Step 6: Implementing the IR Sensor Logic 36

Step 7: Hướng điều khiển (Điều khiển theo tỷ lệ - P) 39

Step 8: PID Control (optional) 40

Step 9: Lập code 42

Phụ lục: Code PID cho mạch arduino UNO 45

Tài liệu tham khảo 60

Trang 6

Bài 1: LÝ THUYẾT MỜ

MH39-01

Giới thiệu

Lý thuyết mờ được giáo sư L.A Zadeh công bố lần đầu tiên tại Mỹ năm

1965, tại trường đại học Berkelay, bang Califormia, Mỹ Từ đó lý thuyết mờ đã có nhiều phát triển và ứng dụng rộng rãi trong lĩnh vực điều khiển tự động hóa

Tại Nhật, Logic mờ được ứng dụng vào nhà máy nước của hang Fuji Electronic năm 1983, hệ thống xe điện ngầm của Hitachi năm 1987

Ưu điểm của điều khiển mờ so với các phương pháp điều khiển kinh điển là

có thể tổng hợp được bộ điều khiển mà không cần biết trước đặc tính của đối tượng phức tạp mà ta chưa biết rõ hàm truyền

Tuy nhiên, nhược điểm của nó đến bây giờ vẫn chưa có các nguyên tắc chuẩn mực cho việc thiết kế cũng như chưa có thể khảo sát tính ổn định, bền vững, chất lượng, quá trình quá độ cũng như quá trình ảnh hưởng của nhiễu… cho các bộ điều khiển mờ điểm yếu của lý thuyết mờ là những vấn đề về độ phi tuyến của hệ, những kết luận tổng quát cho hệ thống phi tuyến hầu như khó đạt được

Trong toán học, việc khảo sát một hàm truyền với một tập xác định và một tập với 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ế chúng ta 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 với một tậ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ấn 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 nên đủ khả năng để mô hình hóa các vấn đề thực tế phức tạp một cách đơn giản dễ hiểu, với biến ngôn 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 chúng ta có hệ thống điều khiển ổn định

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

- 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 mềm)

- Phục hồi thông tin (dữ liệu)

Mục tiêu: sau khi học xong bài này sinh viên có thể

- Hiểu được lý thuyết Logic mờ

- Tính toán các giá trị trong logic mờ

- Chạy mô phỏng trong matlab

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

Trang 7

Các tập mờ hay tập hợp mờ (Fuzzy set) là một mở rộng của lý thuyết tập

hợp cổ điển và được dùng trong logic mờ Trong lý thuyết tập hợp cổ điển, quan hệ thành viên của các phần tử trong một tập hợp được đánh giá theo kiểu nhị phân theo một điều kiện rõ ràng, một phần tử hoặc thuộc hoặc không thuộc về tập hợp Ngược lại, lý thuyết tập mờ cho phép đánh giá về quan hệ giữa một phần tử và một

tập hợp; quan hệ này được mô tả bằng một hàm liên thuộc (membership function) μ  [0, 1]

1.1.1 Định nghĩa tập mờ

Tập hợp mờ là tập hợp mà mỗi thành phần là một bộ số (x, μ(x)) Như vậy,

ta nói F là một tập mờ nếu F có biểu diễn

μ A là hàm liên thuộc ( membership function)

μ A (x) là độ liên thuộc của x vào tập mờ A

Ví dụ 1: Cách biểu diễn hàm phụ thuộc như trên sẽ không phù hợp với những tập được mô tả mờ như tập B gồm các số thực gần bằng 5:

Khi đó ta không thể khẳng định chắc chắn số 4 có thuộc B hay không ? mà

ta chỉ có thể nói nó thuộc B bao nhiêu phần trăm Ta phải xem hàm phụ thuộc μ B (x)

có giá trị trong khoảng 0 đến 1 tức là 0 ≤ μ B (x) ≤ 1

Hình 1: hàm phụ thuộc μ B (x) của tập mờ B

Định nghĩa: tập mờ B xác định trên tập kinh điển M là một tập mà một phần

tử của nó được biểu diễn bởi cặp giá trị (x, μ B (x)) Trong đó x ϵ M và μ B (x) là ánh

xạ Ánh xạ μ B (x) gọi là hàm liên thuộc của tập mờ B Tập kinh điển M được gọi là

tập cơ sở của tập mờ B

Ví dụ 2: Một tập mờ F với các số tự nhiên nhỏ hơn 5 được mô tả bằng hàm

thành viên μ B có đồ thị sau:

Trang 8

Hình 2: Đồ thị hàm thành viên

Ta có tập mờ A = {(1,1), (2,1), (3, 0.95), (4, 0.17)}

 Số tự nhiên 1 và 2 có độ phụ thuộc là 1

 Số tự nhiên 3 và 4 có độ phụ thuộc thấp hơn 1

 Các số không liệt kê có độ phụ thuộc là 0

Các thông số đặc trưng cho tập mờ là độ cao, miền xác định và miền tin cậy + Độ cao của tập mờ B (được định nghĩa trên cơ sở X) là giá trị lớn nhất trong các giá trị của hàm liên thuộc:

H = supxϵX[μB(x)] (sup gọi là cận trên đúng)

Một tập mờ có í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 (H = 1) Ngược lại, một tập mờ với H < 1 gọi là tập mờ không xác định

Hình 3: Độ cao, miền xác định, miền tin cậy của tập mờ + Miền xác định của tập mờ B (được định nghĩa trên cơ sở X) là tập con của

X có giá trị hàm liên thuộc khác không;

Trang 9

Định nghĩa: Cho A và B là hai tập mờ trên không gian nền X, có các hàm

liên thuộc μ A và μ B

1.1.2 Logic mờ

Logic mờ (Fuzzy logic) được phát triển từ lý thuyết tập mờ để thực hiện lập

luận một cách xấp xỉ thay vì lập luận chính xác theo logic vị từ cổ điển Logic mờ

có thể được coi là mặt ứng dụng của lý thuyết tập mờ để xử lý các giá trị trong thế giới thực cho các bài toán phức tạp (Klir 1997)

Người ta hay nhầm lẫn mức độ đúng với xác suất Tuy nhiên, hai khái niệm này khác hẳn nhau; độ đúng đắn của logic mờ biểu diễn độ liên thuộc với các tập được định nghĩa không rõ ràng, chứ không phải khả năng xảy ra một biến cố hay điều kiện nào đó Để minh họa sự khác biệt, xét tình huống sau: Bảo đang đứng trong một ngôi nhà có hai phòng thông nhau: phòng bếp và phòng ăn Trong nhiều trường hợp, trạng thái của Bảo trong tập hợp gồm những thứ "ở trong bếp" hoàn toàn đơn giản: hoặc là anh ta "trong bếp" hoặc "không ở trong bếp" Nhưng nếu Bảo đứng tại cửa nối giữa hai phòng thì sao? Anh ta có thể được coi là "có phần ở trong bếp" Việc định lượng trạng thái "một phần" này cho ra một quan hệ liên thuộc đối với một tập mờ Chẳng hạn, nếu Bảo chỉ thò một ngón chân cái vào phòng ăn, ta có thể nói rằng Bảo ở "trong bếp" đến 99% và ở trong phòng ăn 1% Một khi anh ta còn đứng ở cửa thì không có một biến cố nào (ví dụ một đồng xu được tung lên) quyết định rằng Bảo hoàn toàn "ở trong bếp" hay hoàn toàn "không

ở trong bếp" Các tập mờ được đặt cơ sở trên các định nghĩa mờ về các tập hợp chứ không phải dựa trên sự ngẫu nhiên

Logic mờ cho phép độ liên thuộc có giá trị trong khoảng đóng 0 và 1, và ở hình thức ngôn từ, các khái niệm không chính xác như "hơi hơi", "gần như", "khá là" và "rất" Cụ thể, nó cho phép quan hệ thành viên không đầy đủ giữa thành viên

và tập hợp Tính chất này có liên quan đến tập mờ và lý thuyết xác suất Logic mờ

Trang 10

đã được đưa ra lần đầu vào năm 1965 bởi GS Lotfi Zadeh tại Đại học California,

Berkeley

Biến ngôn ngữ

Khái niệm biến ngôn ngữ đã được Zadeh đưa ra năm 1973 như sau: Một biến ngôn ngữ được xác định bởi bộ (x, T, U, M)

trong đó: x là tên biến như “nhiệt độ”, “tốc độ”, “độ ẩm” …

T là tập các từ là giá trị ngôn ngữ tự nhiên mà x có thể nhận

2.1.1 Các yếu tố xây dựng mô hình Logic mờ

Hình 4: Cấu trúc và quy trình hoạt động của mô hình Một mô hình Logic mờ bao gồm các yếu tố sau: dữ liệu (đầu vào và đầu ra), các hàm chuyển chuyển đổi, các phép toán logic và các biến ngôn ngữ

Trang 11

Hình 5: Các mô hình được sử dụng trong hệ thống logic mờ

2.1.2 Các phép toán của logic mờ

Logic mờ cũng giống logic thông thường đều quy định về các phép toán như giao, hợp, loại trừ, cộng, phủ định … Tuy nhiên, cách tính ra giá trị mỗi phép toán lại khác so với logic thông thường

(not –A) = 1-t(A)

Các phép toán này ảnh hưởng rất nhiều đến một thành phần quan trọng của

hệ Fuzzy là định khoảng giá trị Đây cũng là cơ sở cho việc thiết lập các luật trong

hệ logic mờ

Biến ngôn ngữ

Một biến ngôn ngữ quy định đến trường nào đó có giá trị nào đó, hay nói cách khác nó chỉ đến một khoảng giá trị trong hệ thống fuzzy logic Giá trị biến ngôn ngữ cũng là dạng từ ngữ thông thường, người ta gắn các khoảng giá trị số cho m một từ ngữ nào đó thể hiện cho nó Ta xét ví dụ sau

- Biến ngô ngữ: nhiệt độ

- Các khoảng giá trị : cold, warm, hot

Trang 12

Hình 6: Mô hình minh họa biến ngôn ngữ trong việc đoán nhiệt độ

Trong ví dụ trên, người ta thấy những con số chỉ nhiệt độ bằng biến ngôn ngữ là nhiệt độ, còn giá trị của biến này là “cold”, “warm”, và “hot” Giá trị “cold” gắn với khoảng giá trị thực từ 0 đến 20 độ, giá trị “warm” gắn với khoảng giá trị thực từ 20 đến 60 độ, giá trị “hot” gắn với khoảng giá trị thực từ 60 đến 100 độ Các biến ngôn ngữ này phục vụ cho việc thiết lập các luật tương ứng và phù hợp với thực tế

Các luật trong mô hình logic mờ

Các luật là thành phần điều khiển của một hệ thống logic mờ Các luật được thực hiện dựa trên câu lệnh IF …… THEN và một số phép toán logic khác như AND, OR, NOT … trong hệ thống, nếu luật càng chính xác thì hiệu quả của hệ thống càng cao

Mô tả ví dụ: một lò sưởi tự động nhận hai giá trị đầu vào là giá dầu đốt và nhiệt độ phòng, tùy mức độ nhiệt hiện tại nóng hay lạnh và giá dầu đôt đắt hay rẻ

để nó cung cấp nhiệt trong phòng một cách phù hợp sao cho không bị lạnh mà cũng không lãng phí quá

Bảng dưới đây chỉ ra cụ thể luật làm việc của sơ đồ trên

Nhiệt

độ

Giá dầu

2.1.3 Cấu trúc bên trong một bộ điều khiển mờ có dạng

Nếu nhiệt độ là lạnh và giá dầu là rẻ thì nhiệt xả ra là cao

Biến ngôn ngữ Giá trị biến ngôn ngữ

Trang 13

Hình 7: Bộ điều khiển logic mờ

Bộ điều khiển mờ gồm ba khâu

+ Mờ hóa tín hiệu vào

+ Thực hiện luật hợp thành

+ Giải mờ

Khối mờ hoá (Fuzzification) thực hiện chức năng biến đổi các tín hiệu đầu

vào thành một miền giá trị mờ với hàm đặc trưng đã chọn và ứng với biến ngôn ngữ đầu vào đã được định nghĩa Trong các dây chuyền sản xuất, những tín hiệu phản hồi thu được từ môi trường bằng quan sát, thông qua các tín hiệu phản hồi hoặc thông qua biến ngôn ngữ đều mang tính chất xấp xỉ, không chính xác, những mệnh đề này sẽ được mờ hoá Đây là quá trình biến đổi những giá trị xє U thành một tập mờ A’ trên U Tập mờ này sẽ là dữ liệu quan trọng cho bộ suy luận mờ

Khối hợp thành (Fuzzy logic) có nhiệm vụ biến đổi các giá trị mờ hoá của

biến ngôn ngữ đầu vào thành các giá trị mờ của biến ngôn ngữ đầu ra theo các luật

mờ do người thiết kế thiết lập

Khối luật mờ (Fuzzy base) gồm tập hợp các luật suy luận mờ - “Nếu… thì ”

dựa vào các luật mờ cơ sở được người kỹ sư thiết kế, xây dựng thích hợp với mỗi biến và giá trị của các biến ngôn ngữ theo quan hệ mờ Đây là tập hợp các tri thức chuyên gia được xây dựng thành các luật cho suy luận theo mô hình các luật suy luận mờ

Khối khử mờ(Defuzzyfication) có chức năng biến đổi các giá trị mờ đầu ra

thành các giá trị rõ để đưa ra tín hiệu điều khiển đối tượng Để thực hiện chức năng này, khối khử mờ phải tìm ra một điểm rõ y є U làm đại diện tốt nhất cho tập mờ A’, tức là tìm ra giá trị hàm đặc trưng ứng với x trên tập mờ A’ Như vậy, khử mờ

là tìm ra những giá trị gần nhân của tập mờ, mà ở đó hàm đặc trưng nhận giá trị cực đại bằng 1

Trang 14

Bài 2 ỨNG DỤNG LOGIC MỜ TRONG ĐIỀU KHIỂN

MH39-02

Mục tiêu: sau khi học xong bài này sinh viên có thể

- Ứng dụng lý thuyết Logic mờ để thiết kế bộ điều khiển

- Tính toán các giá trị trong logic mờ

- Chạy mô phỏng trong matlab

- Lắp ráp và lập trình bộ Arduino điều khiển xe tự hành

2.1 Thiết kế ứng dụng

1 Bài tập 1: Xe tránh vật cản dùng sóng siêu âm

Hình 8: Mô hình xe tránh vật cản dùng sóng siêu âm

Hệ thống điều khiển mờ được thiết kế gồm:

- Giá trị đầu vào: khoảng cách đến vật cản

- Bộ mờ hóa

- Các luật điều khiển tốc độ xe

- Bộ suy diễn

- Bộ giải mờ

- Giá trị đầu ra là tốc độ của xe

Phân tích thuật toán xây dựng hệ thống điều khiển mờ

- Định nghĩa biến ngôn ngữ và các thuật ngôn ngữ

Trang 15

- Xây dựng các hàm phụ thuộc

- Xây dựng các luật mờ

- Làm mờ các dữ liệu đầu vào thành các giá trị mờ sử dụng các hàm phụ thuộc

- Đánh giá các luật trong tập luật

- Kết nối các kết quả trong mỗi luật

- Giải mờ các dữ liệu đầu ra

B1: Xây dựng biến ngôn ngữ

Với biến ngôn ngữ khoảng cách (Distance) ta có tập mờ sau:

Distance: {small, safe, big}

Với biến ngôn ngữ tốc độ (Speed) ta có tập mờ sau:

Speed: {fast, averge, slow}

B2: xây dựng hàm liên thuộc (membership function)

Hình 9: Các dạng hàm phụ thuộc (membership function) phổ biến

Trang 16

Các hàm phụ thuộc khoảng cách Distance

Hình 10: Ngõ vào tín hiệu của fuzzy logic toolbox trong matlab

if 0 20 20

x small x

x

x x

Trang 17

x safe x

x

x x

x slow z

x

x x

x averge z

x

x x

Trang 18

0 if 180 180

210 180

x x

Thiết lập các luật điều khiển theo khoản cách robot phát hiện được, gồm 3 mức small, safe, big Trong mỗi động cơ được FLC đưa ra 3 mức slow, averge, fast

- Xây dựng các luật và tối ưu luật mờ (fuzzy rules)

Dựa vào bảng trên chúng ta có thể xây dựng các luật mờ sau:

(R1) IF (Distance is big) THEN (Rm is fast) and (Lm is fast)

* Làm mờ dữ liệu đầu vào (Fuzzyfication)

Với dữ liệu đầu vào là 57cm, tính tốc độ an toàn của xe (speed = ?)

Dựa vào các hàm phụ thuộc của Distance ta có:

if 0 20 20

x small x

x

x x

Trang 19

0 if 30 30

if 30 50

50 30 ( )

x safe x

x

x x

Chọn phương pháp suy diễn là phương pháp Mandani

- Sử dụng toán tử suy diễn min

Luật 3: IF (nearest) THEN (Rm is slow) and (Lm is averge)

small(Distance) => averge(speedL)

Với 37cm => safe = 0.35

slow(speedR) Với 37cm => slow = 0.15

* Quy tắc Max-Min

Sử dụng quy tắc Max-min cho luật 2, luật 3 ta có:

37 0.35

0.15

Trang 20

Max[Min(average(SpeedL), average(SpeedR)), Min(average(SpeedL),

slow(SpeedL))] = Max[Min(0.35,0.35), Min(0.35,0.15)] = 0.35

B4: Giải mờ

 Phương pháp trọng tâm (center)

Điểm y’ được xác định là hoành độ của điểm trọng tâm được bao bởi trục

hoành và đường μ B (y)

Công thức xác định:

Trong đó S là miền xác định của tập mờ B’

Giải sử có m luật điều khiển được triễn khai, các giá trị mờ đầu ra của luật

điều khiển thứ k là μ B’k (y) thì với quy tắc Sum-Min hàm phụ thuộc sẽ là

2 Bài tập 2: điều khiển robot bám line

Giả sử cho robot chạy theo một đường có khoảng cách cố định so với tường

là Xđ Khi robot di chuyển nó sẽ lệch khỏi đường đó, lúc đó sẽ có sự sai lệch về vị trí và tư thế của nó so với yêu cầu bộ điều khiển có nhiệm vụ xử lý tín hiệu báo về

Trang 21

từ cảm biến để xác ddingj các sai lệch, từ đó đưa ra các tín hiệu điều khiển 2 động

cơ để đưa robot về quỹ đạo ban đầu bộ điều khiển mờ được thiết kế sẽ có các tín hiệu sai lệch vị trí ∆ex(bao gồm sai lệch âm, sai lệch dương), sai lệch về góc ∆et

Bộ điều khiển sẽ có hai tín hiệu đầu vào là sai lệch góc ∆et 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

Giá trị sai lệch 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 trong khoảng -100mm đến 100mm

Giá trị đầu ra của bộ điều khiển mờ sẽ là các giá trị vận tốc góc bánh phải ωR, bánh trái ωL nằm trong khoảng -3 đến 3 rad/s

Hệ thống điều khiển mờ được thiết kế gồm:

- Giá trị đầu vào:

Tín hiệu sai lệch góc -0,3 ≤ ∆et ≤ 0,3 radian

Sai lệch khoảng cách -100 ≤ ∆ex ≤ 100 mm

-4 ≤ ∆ex ≤ 4 inch

- Giá trị đầu ra: bánh phải -3 ≤ ωR ≤ 3 ,

bánh trái -3 ≤ ωL ≤ 3

B1: Xây dựng biến ngôn ngữ

Với biến ngôn ngữ sai lệch khoảng cách ta có tập mờ sau:

∆ex: {neva, no, posi}

Với biến ngôn ngữ sai lệch góc ta có tập mờ sau:

∆et: {nevab, nob, posib}

Với biến ngôn ngữ tốc độ (Speed) ta có tập mờ sau:

ωR: {fast, averge, slow}; ωL: {fast, averge, slow}

B2: xây dựng hàm liên thuộc (membership function)

Trang 22

Hàm liên thuộc của sai lệch khoảng cách (theo inch) ∆ex μ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 của sai lệch góc ∆et là μt(t) và được rời rạc hóa tại 5 điểm

X ϵ{-0.3, -0.15, 0, 0.15, 0.3}

Trang 23

Hàm liên thuộc đầu ra ωR, ωL là μω(ω) và được rời rạc hóa tại 5 điểm

X ϵ{-3, -15, 0, 15, 3}

B3: xây dựng các luật mờ

Dựa vào các yếu tố đầu vào với biến ngôn ngữ sai lệch khoảng cách ∆ex: {neva,

no, posi} Và với biến ngôn ngữ sai lệch góc ∆et: {nevab, nob, posib} để xây dựng

ma trận luật quyết định tốc độ của xe Với đầu ra trong mỗi động cơ được FLC đưa

ra 3 mức slow, averge, fast

- Luật điều khiển cho vận tốc bánh phải ωR

- Luật điều khiển cho vận tốc bánh phải ωL

- Xây dựng các luật và tối ưu luật mờ (fuzzy rules)

Dựa vào bảng trên chúng ta có thể xây dựng các luật mờ sau:

(R1) IF (∆ex là neva) và (∆et là nevab) THEN (ωR là slow) và (ωL là slow) (R2) IF (∆ex là neva) và (∆et là nob) THEN (ωR là slow) và (ωL là averge) (R3) IF (∆ex là neva) và (∆et là nob) THEN (ωR là slow) và (ωL là averge) (R4) IF (∆ex là no) và (∆et là nevab) THEN (ωR là slow) và (ωL là averge) (R5) IF (∆ex là no) và (∆et là nob) THEN (ωR là fast) và (ωL là fast)

(R6) IF (∆ex là no) và (∆et là posib) THEN (ωR là averge) và (ωL là slow) (R7) IF (∆ex là posi) và (∆et là nevab) THEN (ωR là slow) và (ωL là slow) (R8) IF (∆ex là posi) và (∆et là nob) THEN (ωR là averge) và (ωL là slow)

Trang 24

(R9) IF (∆ex là posi) và (∆et là posib) THEN (ωR là fast) và (ωL là slow)

* Làm mờ dữ liệu đầu vào (Fuzzyfication)

Một động cơ servo được điều khiển bằng cách gửi một loạt các xung qua đường tín hiệu Tần số của tín hiệu điều khiển phải là 50Hz hoặc một chu kỳ xung là 20ms

Độ rộng của xung xác định vị trí góc của servo và các loại servo này thường có thể xoay 180 độ (chúng có giới hạn vật lý khi di chuyển)

2.2 Thực hành lắp ráp

2.2.1 Lắp ráp phần cứng

- Động cơ servo

- Sản phẩm sau khi lắp hoàn thiện

- Sơ đồ kết nối mạch arduino

Trang 25

2.2.2 Code xử lý robot tránh vật cản sử dụng cơ sở logic mờ

const int numOfReadings = 10;

// number of readings to take/ items in the array

// stores the pulse in Micro Seconds

unsigned long pulseTime = 0;

// variable for storing the distance (cm)

unsigned long dist = 0;

// creat fuzzy logic new

Fuzzy* fuzzy = new Fuzzy();

int ENA = 5; //M1 Speed Control

int ENB = 6; //M2 Speed Control

int IN1=2;//connected to Arduino's port 2

int IN2=3;//connected to Arduino's port 3

int IN3=4;//connected to Arduino's port 4

int IN4=7;

void setup(){

Serial.begin(9600);

Trang 26

// create array loop to iterate over every item in the array

for (int thisReading = 0; thisReading < numOfReadings; thisReading++)

{ readings[thisReading] = 0; }

// Criando o FuzzyInput distancia

FuzzyInput* distance = new FuzzyInput(1);

// Criando os FuzzySet que compoem o FuzzyInput distancia

FuzzySet* small = new FuzzySet(0, 20, 20, 40); // Distancia pequena

distance->addFuzzySet(small); // Adicionando o FuzzySet small em distance FuzzySet* safe = new FuzzySet(30, 50, 50, 70); // Distancia segura

distance->addFuzzySet(safe); // Adicionando o FuzzySet safe em distance FuzzySet* big = new FuzzySet(60, 80, 80, 80); // Distancia grande

distance->addFuzzySet(big); // Adicionando o FuzzySet big em distance

FuzzySet* slow = new FuzzySet(0, 60, 60, 60);

velocitya->addFuzzySet(slow); // Adicionando o FuzzySet slow em velocity FuzzySet* average = new FuzzySet(72, 150, 150, 210);

velocitya->addFuzzySet(average);

FuzzySet* fast = new FuzzySet(180, 240, 240, 240);

velocitya->addFuzzySet(fast);

Trang 28

// subtract the last distance

total = total - readings[arrayIndex];

// add distance reading to array

readings[arrayIndex] = dist;

// add the reading to the total

total = total + readings[arrayIndex];

arrayIndex = arrayIndex + 1;

// go to the next item in the array

// At the end of the array (10 items) then start again

// calculate the average distance

averageDistance = total / numOfReadings;

// print out the average distance to the debugger

Trang 29

fuzzy->setInput(1, averageDistance);

fuzzy->fuzzify();

float output1 = fuzzy->defuzzify(1);

float output2 = fuzzy->defuzzify(2);

Trang 30

Bài 3 BỘ ĐIỀU KHIỂN TỶ LỆ PID

MH39-03

Giới thiệu

PID – bộ điều khiển vi phân, tích phân tỉ lệ (PID – Proportional Integral Derivative) viết tắt của 3 từ Propotional (tỉ lệ), Integral (tích phân) và Derivative (đạo hàm) Là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát được

sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là

bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi Bộ điều khiển PID sẽ tính toán giá trị “sai số” là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào

Mục tiêu: sau khi học xong bài này sinh viên có thể

- Ứng dụng lý thuyết PID để thiết kế bộ điều khiển

- Tính toán các giá trị trong PID

- Chạy mô phỏng trong matlab

- Lắp ráp và lập trình bộ Arduino điều khiển xe tự hành

3.1 Giải thuật PID

Bài toán: Điều khiển chiếc xe ô tô từ vị trí A đến vị trí B với thời gian ngắn nhất,

độ chính xác cao nhất!

Trong hình ảnh dưới mình lấy Chất Điểm chuyển động là một hình tròn đỏ

có dấu X làm tâm của xe

Trong trường hợp này thì PID sẽ chia bài giải thành 3 khâu Propotional (tỉ lệ), Integral (tích phân) và Derivative (đạo hàm)

Ngày đăng: 10/10/2023, 18:43

🧩 Sản phẩm bạn có thể quan tâm

w